项目期间hadoop完全分布式安装配置过程

来源:互联网 发布:淘宝uv价值公式 编辑:程序博客网 时间:2024/05/16 12:09

主要步骤:

  1. 修改每个主机上的名字,并配置各个主机的ip
  2. 创建hadoop用户
  3. 配置hosts文件
  4. 安装jdk
  5. 配置ssh免密码连入
  6. 解压安装Hadoop文件
  7. 修改各种site文件
  8. 配置Hadoop-env.sh文件
  9. 配置mastersslaves文件
  10. 格式化namenode,并启动hadoop
  11. 关闭hadoop
具体过程:
1.1 修改主机名字(这步可以不做,但为了以后方便配置,建议修改主机名称)

sudo edit /etc/hostname 在这里修改主机的名字,修改完重启电脑即可

1.2 配置每台主机的IP地址,项目期间使用了三台主机,分别为:

master192.168.0.2

slave1192.168.0.3

slave2192.168.0.4

2.创建统一的hadoop用户

2.1 创建hadoop用户组$sudo addgroup Hadoop 
2.2 创建hadoop用户$sudo adduser ingroup hadoop hadoop
2.3 hadoop用户添加权限,打开/etc/sudoers文件; sudo gedit /etc/sudoers
2.4 hadoop用户赋予root用户同样的权限
   root ALL=(ALL:ALL) ALL下添加内容:hadoop ALL=(ALL:ALL) ALL

3.修改hosts文件为以后,找到其他节点提供方便

3.1、打开/etc/hosts 添加
 192.168.0.2 master
 192.168.0.3 slave1
 192.168.0.4 slave2

4.安装jdk

$ sudo gedit /etc/profile

在文件的末尾加上如下内容,保存并关闭文件

# for java

export JAVA_HOME=/usr/java/jdk1.7.0 //这个是自己解压的jdk的路径

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
使设置生效:到此部JDK的配置就都完成了 $ source /etc/profile

5.安装ssh无密钥登陆

安装ssh

$ ssh-keygen –t dsa -P "" //会产生id_dsa.pub//为公钥 id_dsa//为私钥

进入.ssh目录下

将公钥文件复制成authorized_keys文件


其他两个节点如法炮制即可

先单击回环测试看能否登陆成功,步骤如下:


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

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样

master就可以顺利安全地访问这两个slave结点了。操作过程如下:


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


由上图可以看出,node1结点首次连接时需要,“YES”确认连接,这意味着master结点连接node1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。要实现ssh免密码连接至其它结点,还差一步,只需要再执行一遍ssh node1,如果没有要求你输入”yes”,就算成功了,过程如下:


如上图所示,master已经可以通过ssh免密码登录至node1结点了。

node2结点也可以用同样的方法进行

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

6.解压安装hadoop压缩包

在配置site文件之前需要作一些准备工作,下载java最新版的JDK软件,可以从oracle官网上下载,我使用的jdk软件版本为:jdk1.7.0_09,我将javaJDK解压安装在/opt/jdk1.7.0_09目录中,接着配置JAVA_HOME宏变量及hadoop路径,这是为了方便后面操作,这部分配置过程主要通过修改/etc/profile文件来完成,在profile文件中添加如下几行代码:


然后执行


让配置文件立刻生效。上面配置过程每个结点都要进行一遍。

到目前为止,准备工作已经完成,下面开始修改hadoop的配置文件了,即各种site文件,文件存放在/hadoop/conf下,主要配置core-site.xmlhdfs-site.xmlmapred-site.xml这三个文件。

7.修改各种site文件

Core-site.xml配置如下:


hdfs-site.xml配置如下:


接着是mapred-site.xml文件:


8.配置hadoop-env.sh文件

这个需要根据实际情况来配置。


9.配置masters和slaves文件

根据实际情况配置masters的主机名,在本实验中,masters主结点的主机名为master,

于是在masters文件中填入:


同理,在slaves文件中填入:


其他机器也如上配置(若已经用网线互相连上各个主机可以直接复制过去)


10.格式化主节点,并启动hadoop

hadoop namenode format


启动hadoop 

Start-all.sh


使用jps检查


11.关闭hadoop

stop-all.sh

参考文档:http://www.cnblogs.com/yhason/archive/2013/05/30/3108908.html

http://jingyan.baidu.com/article/e75057f2a62c8aebc91a89b3.html

http://blog.csdn.net/liou825/article/details/9320745

0 0