本文讲述了在CentOS-6.9环境下搭建hadoop-0.20的过程。
网络结构
在本教程中,我们共使用3台主机,一台作为master,另外两台作为slave,在下面的配置过程中,如果没有特殊说明,3台主机均需要根据实际情况进行配置。网络结构如下所示。1
2
3
4 ip 主机名 功能
192.168.1.150 localhost.localdomain master
192.168.1.151 localhost1.localdomain slave1
192.168.1.152 localhost2.localdomain slave2
节点主机配置
网络配置
进入/etc/sysconfig/network-scripts
目录,进入ifcfg-Auto_eth0
文件。修改文件为:1
2
3
4
5
6
7
8
9
10
11
12
13
14TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Auto eth0"
UUID=87d0ac28-25df-496e-9ca3-052e968c825f
ONBOOT=yes
IPADDR=192.168.1.150 #修改!
PREFIX=24 #修改!
GATEWAY=192.168.1.1 #修改!
HWADDR=00:0C:29:4B:0C:51
DNS1=192.168.1.1 #修改!
LAST_CONNECT=1520822430
修改主机名
进入/etc/sysconfig/network
文件,修改为:1
2
3NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain #修改!
添加主机映射
进入/etc/hosts
文件,修改为:1
2
3
4
5
6192.168.1.150 localhost.localdomain #修改!
192.168.1.151 localhost1.localdomain #修改!
192.168.1.152 localhost2.localdomain #修改!
#127.0.0.1 localhost.localdomain localhost
# ::1 localhost6.localdomain6 localhost6
执行service network restart
重启网络。
JAVA的安装与配置
安装jdk
卸载默认的JAVA:1
2
3yum -y remove java
rpm -qa |grep jdk
rpm -e --nodeps 第二个命令显示的文件包
下载安装包,在下载文件的目录下,执行:1
2
3tar zxvf jdk-9.0.4_linux-x64_bin.tar.gz
mv jdk-9.0.4 /usr/share
nano /etc/profile
在文件最下面添加:1
2
3
4JAVA_HOME=/usr/share/jdk-9.0.4
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
执行source /etc/profile
让配置生效,使用java -version
和javac -version
查看版本。
配置ssh
进入nano /etc/ssh/sshd_config
文件,修改配置文件启动ssh无密登录。1
2
3去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
RSAAuthentication yes
PubkeyAuthentication yes
执行service sshd restart
启动ssh服务。执行chkconfig sshd on
设置自动启动。
在master主机
上执行ssh-keygen -t rsa
生成秘钥文件后,将公钥发送给salve主机,并设置权限。1
2
3
4
5
6cd /root/.ssh
cat id_rsa.pub>> authorized_keys
ssh root@192.168.1.151 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@192.168.1.152 cat ~/.ssh/id_rsa.pub>> authorized_keys
scp authorized_keys root@192.168.1.151:~/.ssh
scp authorized_keys root@192.168.1.152:~/.ssh
Hadoop的安装与配置
安装hadoop-0.20.2
下载hadoop-0.20.2后,首先在master主机上配置。1
2tar zxvf ~/Desktop/hadoop-0.20.2.tar.gz
mv hadoop-0.20.2 /usr/share/
编辑/etc/profile
文件,在最后添加hadoop环境变量,修改后的内容为:1
2
3
4
5HADOOP_HOME=/usr/share/hadoop-0.20.2
JAVA_HOME=/usr/share/jdk-9.0.4
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/binl
export PATH JAVA_HOME CLASSPATH
执行source /etc/profile
使配置文件生效,
配置hadoop-0.20.2
进入cd `echo $HADOOP_HOME`/conf
目录,编辑hadoop-env.sh
文件:1
export JAVA_HOME=/usr/share/jdk-9.0.4
编辑core-site.xml
文件:1
2
3
4
5
6
7
8
9
10<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/share/hadoop-0.20.2/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost.localdomain:9000</value>
</property>
</configuration>
创建文件夹:mkdir /usr/share/hadoop-0.20.2/tmp
编辑mapred-site.xml
文件:1
2
3
4<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost.localdomain:9001</value>
</property>
编辑hdfs-site.xml
文件:1
2
3
4
5
6
7
8
9
10
11
12<property>
<name>dfs.name.dir</name>
<value>/usr/share/hadoop-0.20.2/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/share/hadoop-0.20.2/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
创建文件夹:mkdir /usr/share/hadoop-0.20.2/name
创建文件夹:mkdir /usr/share/hadoop-0.20.2/data
编辑masters
文件:1
192.168.1.150
编辑slaves
文件:1
2192.168.1.151
192.168.1.152
slave节点安装hadoop
在master节点上执行以下命令,将文件复制到各个节点上。1
2
3
4scp -r /usr/share/hadoop-0.20.2 root@192.168.1.151:/usr/share
scp -r /usr/share/hadoop-0.20.2 root@192.168.1.152:/usr/share
scp /etc/profile root@192.168.1.151:/etc/profile
scp /etc/profile root@192.168.1.152:/etc/profile
运行hadoop
在三台机器上分别执行service iptables stop
关闭防火墙!!
在master主机上执行hadoop namenode -format
格式化文件系统,输入大写Y
确定!!
在master主机上执行bin/start-all.sh
启动hadoop。
此时,在master诸暨市使用jps
命令查看进程,如果结果与以下内容一致,则说明运行成功。1
2
3
423009 Jps
22850 SecondaryNameNode
22707 NameNode
22918 JobTracker