hadoop2.6.0安装过程



 

1、修改主机名称

对master/slave1/slave2同时配置为Master/Slave1/Slave2

master@Master:~$


2、填写主机IP

对master/slave1/slave2同时配置

master@Master:~$

192.168.48.128 master
192.168.48.129 slave1
192.168.48.130 slave2

hadoop hue 离线安装_hadoop

3、建立hadoop用户组及新用户


对master/slave1/slave2同时配置

为hadoop集群专门设置一个用户组及用户
master@Master:~$ sudo groupadd hadoop    //设置hadoop用户组
master@Master:~$ sudo useradd -s /bin/bash -d /home/hnu -m hnu -g hadoop   //添加一个hnu用户,此用户属于hadoop用户组。
master@Master:~$ sudo passwd hnu   //设置用户hnu登录密码
master@Master:~$ su hnu  //切换到hnu用户中

上述3个虚机结点均需要进行以上步骤来完成hadoop运行帐号的建立。



hadoop hue 离线安装_结点_02


4、 配置ssh免密码连入

对master/slave1/slave2同时配置

Ubuntu下安装ssh:sudo apt-get install openssh-server
master@Master:~$



hadoop hue 离线安装_hadoop_03



hadoop hue 离线安装_hadoop hue 离线安装_04

(1)     每个结点分别产生公私密钥。

hnu@Master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
以上命令是产生公私密钥,产生目录在用户主目录下的.ssh目录中,如下:
hnu@Master:~$
hnu@Master:~$
Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:
hnu@Master:~/.ssh$ cat id_dsa.pub >> authorized_keys
hnu@Master:~/.ssh$ ls

用上述同样的方法在剩下的两个结点中如法炮制即可。



hadoop hue 离线安装_结点_05


(2)     单机回环ssh免密码登录测试

即在单机结点上用ssh进行登录,看能否登录成功。登录成功后注销退出,过程如下:

hnu@Master:~$ ssh localhost

单点回环SSH登录及注销成功,这将为后续跨子结点SSH远程免密码登录作好准备。

用上述同样的方法在剩下的两个结点中如法炮制即可。



hadoop hue 离线安装_hadoop2.6.0安装过程_06


(3)     让主结点(master)能通过SSH免密码登录两个子结点(slave)

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样当master就可以顺利安全地访问这两个slave结点了。操作过程如下:

hnu@Slave1:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub ./master_dsa.pub
hnu@Slave1:~/.ssh$  cat master_dsa.pub >> authorized_keys

如上过程显示了slave1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,这一过程需要密码验证。接着,将master结点的公钥文件追加至authorized_keys文件中,通过这步操作,如果不出问题,master结点就可以通过ssh远程免密码连接slave1结点了。



hadoop hue 离线安装_hadoop2.6.0安装过程_07


在master结点中操作如下:

hnu@Master:~$ ssh slave1

slave1结点首次连接时需要,“YES”确认连接,这意味着master结点连接slave1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。要实现ssh免密码连接至其它结点,还差一步,只需要再执行一遍ssh slave1,如果没有要求你输入”yes”,就算成功了,对node2结点也可以用同样的方法进行Master通过ssh免密码登录至node2结点测试:



hadoop hue 离线安装_hadoop_08


表面上看,这两个结点的ssh免密码登录已经配置成功,但是我们还需要对主结点master也要进行上面的同样工作,这一步有点让人困惑,但是这是有原因的,具体原因现在也说不太好,据说是真实物理结点时需要做这项工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。

对master自身进行ssh免密码登录测试工作:

hnu@Master:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub  ./master_dsa.pub
hnu@Master:~/.ssh$ cat master_dsa.pub  >> authorized_keys
hnu@Master:~/.ssh$ ssh master



hadoop hue 离线安装_hadoop hue 离线安装_09


至此,SSH免密码登录已经配置成功。


5、JDK与HADOOP环境变量配置

对master/slave1/slave2同时配置

解压JDK
master@Master:~$ sudo tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt



hadoop hue 离线安装_结点_10



master@Master:~$ sudo gedit /etc/profile
#JAVA
export JAVA_HOME=/opt/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
#HADOOP
export HADOOP_PREFIX=/home/hnu/hadoop-2.6.0
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"

6、HADOOP安装与配置

对master配置

解压hadoop

master@Master:~$ sudo tar -zxvf hadoop-2.6.0.tar.gz -C /home/hnu



hadoop hue 离线安装_hadoop_11



master@Master:/home/hnu/hadoop-2.6.0/etc/hadoop$
1)  core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hnu/hadoop-2.6.0/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>




2)   添加如下环境变量(一定要添加切勿少了) 

export JAVA_HOME=/opt/jdk1.8.0_91
export HADOOP_PID_DIR=/home/hnu/hadoop-2.6.0/pids
在下添加如下环境变量
export JAVA_HOME=/opt/jdk1.8.0_91
export YARN_PID_DIR=/home/hnu/hadoop-2.6.0/pids

3) hdfs-site.xml







<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hnu/hadoop-2.6.0/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hnu/hadoop-2.6.0/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>





4)  mapred-site.xml 




<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://master:9001</value>
</property>
</configuration>




5) yarn-site.xml 




<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>





6)slaves

slave1
slave2





7、向各节点复制hadoop

向slave1节点复制hadoop:
hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave1:~
向slave2节点复制hadoop:
hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave2:~


8、赋予权限

对master/slave1/slave2执行相同操作

将目录hadoop文件夹及子目录的所有者和组更改为用户hnu和组hadoop
root@Master:/home/hnu# chown -R hnu:hadoop hadoop-2.6.0


9、格式化hadoop

hnu@Master:~$ source /etc/profile
hnu@Master:~$ hdfs namenode -format



hadoop hue 离线安装_JAVA_12



10、启动/关闭hadoop

/
/
/



hadoop hue 离线安装_hadoop hue 离线安装_13



hadoop hue 离线安装_hadoop2.6.0安装过程_14

hadoop hue 离线安装_JAVA_15



查看hdfs/RM

192.168.48.128:50070/192.168.48.128:8088
master:50070/master:8088



hadoop hue 离线安装_hadoop_16



hadoop hue 离线安装_JAVA_17






注:

1) hadoop集群启动jps查看后没有DATANODE 

删除slave1/slave2  中  /home/zgx/hadoop/data/current/VERSION文件后重启即可