0%

Hadoop伪分布式搭建与配置备忘

一、虚拟机环境准备

1.创建虚拟机,并安装CentOS6.5。虚拟机与系统的兼容性问题需要具体问题具体分析,采用命令行系统用远程连接工具进行操作比较方便。

2.修改虚拟机的静态IP

1
vi /etc/sysconfig/network-scripts/ifcfg-eth0

配置内容

1
2
3
4
5
6
7
8
9
10
11
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2
DNS2=8.8.8.8
NAME="System eth0"

3.修改主机名

1
vim /etc/sysconfig/network
1
HOSTNAME=node0

4.关闭防火墙

关闭防火墙的命令

1
service iptables stop

关闭防火墙的开机自启

1
chkconfig iptables off

查看防火墙的状态

1
chkcofnig iptables --list

5.创建一个普通用户

创建用户

1
useradd zhuo

更改密码

1
passwd 123456

6.配置yitong用户具有root权限

1
vim /etc/sudoers

找到Allow root to run any commands anywhere那一行,在root那一行的下面添加我们的信息,如下面所示:

1
2
3
4
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zhuo ALL=(ALL) NOPASSWD:ALL

7.在/opt目录下创建文件夹

(1)在/opt目录下创建apps(用来安装jdk和hadoop)、soft(用来存放临时上传的安装包文件)文件夹

1
mkdir -p /opt/apps /opt/soft

(2)修改module、software文件夹的所有者,将文件的所有者改为新建的用户zhuo

1
chown yitong:yitong /opt/apps /opt/soft

8.修改hosts文件

1
vim /etc/hosts

在hosts文件的最后添加:

1
2
3
4
192.168.1.100 node0
192.168.1.101 node1
192.168.1.102 node2

二、安装jdk

1.检查机器上是否装有openjdk,如果有就要将它卸载掉。

​ 查询是否安装Java软件:

​ rpm -qa | grep java

​ 卸载java

​ rpm -e java –nodeps

2.使用secureCRT等传输工具将jdk的压缩包上传到/opt/soft目录下

3.解压jdk到/opt/apps目录下

1
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /opt/apps/

5.配置jdk环境变量

(1)选获取jdk的路径

1
2
3
4
5
[zhuo@node1 apps]$ cd jdk1.8.0_241/

[zhuo@node1 jdk1.8.0_241]$ pwd

/opt/apps/jdk1.8.0_241

(2)打开/etc/profile文件

1
[zhuo@node1 jdk1.8.0_241]$ sudo vim /etc/profile

在文件的末尾添加

1
2
3
export JAVA_HOME=/opt/apps/jdk1.8.0_241

export PATH=$PATH:$JAVA_HOME/bin

(3)保存后退出

1
:wq

(4)刷新让修改后的文件生效

1
[zhuo@node1 jdk1.8.0_241]$ source /etc/profile

6.测试安装jdk是否成功

1
2
3
4
5
6
7
[zhuo@node1 jdk1.8.0_241]$ java -version 

java version "1.8.0_241"

Java(TM) SE Runtime Environment (build 1.8.0_241-b07)

Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

三、安装Hadoop

1.进入到/opt/soft目录下

1
2
3
4
5
6
7
8
9
[zhuo@node1 apps]$ cd /opt/soft

[zhuo@node1 soft]$ ll

总用量 547848

-rw-rw-r--. 1 yitong yitong 366447449 8月 30 13:48 hadoop-2.9.2.tar.gz

-rw-rw-r--. 1 yitong yitong 194545143 5月 25 22:39 jdk-8u241-linux-x64.tar.gz

2.将Hadoop压缩包解压到/opt/apps目录下

1
[zhuo@node1 soft]$ tar -zxvf hadoop-2.9.2.tar.gz -C /opt/apps/

3.查看解压是否成功

1
2
3
4
5
6
7
8
9
[zhuo@node1 soft]$ cd /opt/apps

[zhuo@node1 apps]$ ll

总用量 8

drwxr-xr-x. 9 yitong yitong 4096 11月 13 2018 hadoop-2.9.2

drwxr-xr-x. 7 yitong yitong 4096 12月 11 2019 jdk1.8.0_241

4.将Hadoop添加到环境变量

(1)获取Hadoop的安装路径

1
2
3
4
5
[zhuo@node1 apps]$ cd hadoop-2.9.2/

[zhuo@node1 hadoop-2.9.2]$ pwd

/opt/apps/hadoop-2.9.2

(2)打开/etc/profile文件

1
[zhuo@node1 hadoop-2.9.2]$ vim /etc/profile

在profile文件后面添加

1
2
3
4
5
export JAVA_HOME=/opt/apps/jdk1.8.0_241

export HADOOP_HOME=/opt/apps/hadoop-2.9.2

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:/sbin

(3)保存并退出

1
shift+ZZ

(4)刷新让修改后的文件生效

1
[yitong@node1 hadoop-2.9.2]$ source /etc/profile

5.测试是否安装成功

1
2
3
[zhuo@node1 hadoop-2.9.2]$ hadoop version

Hadoop 2.9.2

四、配置Hadoop

  1. 配置hadoop-env.sh文件

(1)获取到jdk的安装路径

1
2
3
[zhuo@node1 hadoop]$ echo $JAVA_HOME

/opt/apps/jdk1.8.0_241

(2)修改hadoop-env.sh文件中的jdk安装路径

1
2
3
[zhuo@node1 hadoop]$ vim hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/opt/apps/jdk1.8.0_241
  1. 配置core-site.xml
1
[zhuo@node1 hadoop]$ vim core-site.xml

在****标签里添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://node0:9000</value>

</property>



<!-- 指定Hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/apps/hadoop-2.9.2/data/tmp</value>

</property>

3.配置hdfs-site.xml

1
[yitong@node1 hadoop]$ vi hdfs-site.xml

在****标签里添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!-- 指定HDFS副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<!-- 设置HDFS的元数据存放的位置 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>/opt/apps/hadoop-2.9.2/data/tmp/dfs/name</value>

</property>

<!-- 设置HDFS的元数据存放的位置 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>/opt/apps/hadoop-2.9.2/data/tmp/dfs/name</value>

</property>

4.格式化HDFS系统

1
hdfs namenode –format 

5.启动hadoop

1
start-dfs.sh

6.检查启动的效果

1
2
3
4
5
6
7
[zhuo@node0 ~]$ jps

2219 Jps

2108 SecondaryNameNode

1820 NameNode