/ 中存储网

三个节点的Hadoop平台安装搭建教程

2016-08-24 11:47:23 来源:中存储网

之前介绍过在Ubuntu 12.04单机版环境中搭建hadoop详细教程,今天的教程介绍的是3个节点的Hadoop平台建设。

1.   Hadoop节点规划

本次安装规划使用三个节点,每个节点都使用centos系统。

三个节点的hostname分别规划为:centoshadoop1、centoshadoop2、centoshadoop3(此处为本教程参数,可根据实际环境情况修改)

三个节点的ip地址分别规划为:192.168.65.57、192.168.65.58、192.168.65.59(此处为本教程参数,根据实际环境情况修改)

2.   平台搭建使用的软件

下载如下软件

操作系统安装包:Centos6.3_x64

Jdk安装包:jdk-6u37-linux-x64.bin

Hadoop安装包:hadoop-1.1.2.tar.gz

3.   安装centos操作系统(可见centos频道)

安装三个节点的操作系统,安装过程省略。

4.   配置centoshadoop1节点

4.1.  修改节点hostname

[root@localhost ~]# vi /etc/sysconfig/network 

HOSTNAME=centoshadoop1

[root@localhost ~]# vi /etc/hosts

……

192.168.65.57 centoshadoop1

192.168.65.58centoshadoop2

192.168.65.59centoshadoop3

[root@localhost ~]#reboot

4.2.  关闭iptables防火墙

[root@centoshadoop1~]#service iptables stop

注意每次操作系统重启后都要操作

4.3.  建立无ssh密码登陆

生成签名文件

[root@centoshadoop1~]#cd /root

[root@centoshadoop1~]#ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

[root@centoshadoop1~]#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

[root@centoshadoop1~]#

测试本地SSH无密码登录

[root@centoshadoop1~]#sshcentoshadoop1

4.4.  安装jdk

上传jdk-6u37-linux-x64.bin到/root目录下

[root@centoshadoop1~]#chmod 777 jdk-6u37-linux-x64.bin

[root@centoshadoop1~]#./jdk-6u37-linux-x64.bin

[root@centoshadoop1~]#ll

查看生成jdk-6u37-linux-x64目录

4.5.  安装hadoop软件

上传hadoop-1.1.2.tar.gz到/root目录下

[root@centoshadoop1~]#tar -zvxf hadoop-1.1.2.tar.gz

[root@centoshadoop1~]#ll

查看生成hadoop-1.1.2目录

[root@centoshadoop1~]#vi /conf/core-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.65.57:9000</value>

</property>

<property>

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

<value>/root/hadoop-1.1.2/tmp</value>

</property>

</configuration>

[root@centoshadoop1~]#vi hdfs-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

[root@centoshadoop1~]#vi mapred-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>192.168.65.57:9001</value>

</property>

</configuration>

4.6.  配置hadoop数据节点

[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/masters

192.168.65.57 #secondaryNameNode

[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/slaves

192.168.65.58  #datanode

192.168.65.59  #datanode

4.7.  添加环境变量

[root@centoshadoop1~]#cd /root

[root@centoshadoop1~]#vi /etc/profile

export JAVA_HOME=/root/jdk1.6.0_37

export JRE_HOME=/root/jdk1.6.0_37/jre

export HADOOP_HOME=/root/hadoop-1.1.2

export HADOOP_HOME_WARN_SUPPRESS=1

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH

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

[root@centoshadoop1~]#vi ~/.bashrc

export JAVA_HOME=/root/jdk1.6.0_37

export JRE_HOME=/root/jdk1.6.0_37/jre

export HADOOP_HOME=/root/hadoop-1.1.2

export HADOOP_DEV_HOME=/root/hadoop-1.1.2

export HADOOP_COMMON_HOME=/root/hadoop-1.1.2

export HADOOP_HDFS_HOME=/root/hadoop-1.1.2

export HADOOP_CONF_DIR=/root/hadoop-1.1.2/conf

[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/hadoop-env.sh

export JAVA_HOME=/root/jdk1.6.0_37

export HADOOP_HOME_WARN_SUPPRESS=1

export HADOOP_CLASSPATH=/root/hadoop-1.1.2:/root/hadoop-1.1.2/lib

5.   配置centoshadoop2节点

5.1.  修改节点hostname

[root@localhost ~]# vi /etc/sysconfig/network 

HOSTNAME=centoshadoop2

[root@localhost ~]# vi /etc/hosts

……

192.168.65.57 centoshadoop1

192.168.65.58 centoshadoop2

192.168.65.59 centoshadoop3

[root@localhost ~]#reboot

5.2.  关闭iptables防火墙

[root@centoshadoop1~]#service iptables stop

注意每次操作系统重启后都要操作

5.3.  建立无ssh密码登陆

将centoshadoop1节点上/root/.ssh目录下的authorized_keys、known_hosts 、id_rsa.pub、id_rsa四个文件拷贝到本机的/root/.ssh目录下

5.4.  安装jdk

上传jdk-6u37-linux-x64.bin到/root目录下

[root@centoshadoop1~]#chmod 777 jdk-6u37-linux-x64.bin

[root@centoshadoop1~]#./jdk-6u37-linux-x64.bin

[root@centoshadoop1~]#ll

查看生成jdk-6u37-linux-x64目录

5.5.  安装hadoop软件

上传hadoop-1.1.2.tar.gz到/root目录下

[root@centoshadoop1~]#tar -zvxf hadoop-1.1.2.tar.gz

[root@centoshadoop1~]#ll

查看生成hadoop-1.1.2目录

[root@centoshadoop1~]#vi /conf/core-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.65.57:9000</value>

</property>

<property>

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

<value>/root/hadoop-1.1.2/tmp</value>

</property>

</configuration>

[root@centoshadoop1~]#vi hdfs-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

[root@centoshadoop1~]#vi mapred-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>192.168.65.57:9001</value>

</property>

</configuration>

5.6.  添加环境变量

[root@centoshadoop1~]#cd /root

[root@centoshadoop1~]#vi /etc/profile

export JAVA_HOME=/root/jdk1.6.0_37

export JRE_HOME=/root/jdk1.6.0_37/jre

export HADOOP_HOME=/root/hadoop-1.1.2

export HADOOP_HOME_WARN_SUPPRESS=1

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH

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

[root@centoshadoop1~]#vi ~/.bashrc

export JAVA_HOME=/root/jdk1.6.0_37

export JRE_HOME=/root/jdk1.6.0_37/jre

export HADOOP_HOME=/root/hadoop-1.1.2

export HADOOP_DEV_HOME=/root/hadoop-1.1.2

export HADOOP_COMMON_HOME=/root/hadoop-1.1.2

export HADOOP_HDFS_HOME=/root/hadoop-1.1.2

export HADOOP_CONF_DIR=/root/hadoop-1.1.2/conf

[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/hadoop-env.sh

export JAVA_HOME=/root/jdk1.6.0_37

export HADOOP_HOME_WARN_SUPPRESS=1

export HADOOP_CLASSPATH=/root/hadoop-1.1.2:/root/hadoop-1.1.2/lib

6.   配置centoshadoop3节点

6.1.  修改节点hostname

[root@localhost ~]# vi /etc/sysconfig/network 

HOSTNAME=centoshadoop3

[root@localhost ~]# vi /etc/hosts

……

192.168.65.57 centoshadoop1

192.168.65.58 centoshadoop2

192.168.65.59 centoshadoop3

[root@localhost ~]#reboot

关闭iptables防火墙、建立无ssh密码登陆、安装jdk、安装hadoop软件、添加环境变量等操作跟“配置centoshadoop2节点”完全相同

7.   启动运行hadoop平台

7.1.  首先执行格式化

[root@centoshadoop1~]#hadoop namenode –format

注意:core-site.xml、hdfs-site.xml、mapred-site.xml等配置文件变化后都需要执行格式化

7.2.  启动hadoop

[root@centoshadoop1~]#start-all.sh

7.3.  停止hadoop

[root@centoshadoop1~]#stop-all.sh

7.4.  查看hadoop运行状态

查看hadoop启动的进程

[root@centoshadoop1~]#jps

查看hadoop集群状态

[root@centoshadoop1~]#hadoop dfsadmin  -report

查看hadoop中的目录情况

[root@centoshadoop1~]#hadoop fs –ls /