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

主要步骤:

  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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
集群规划: 主机名 IP 安装的软件 运行的进程 weekend01 192.168.1.201 jdk、hadoop NameNode、DFSZKFailoverController(zkfc) weekend02 192.168.1.202 jdk、hadoop NameNode、DFSZKFailoverController(zkfc) weekend03 192.168.1.203 jdk、hadoop ResourceManager weekend04 192.168.1.204 jdk、hadoop ResourceManager weekend05 192.168.1.205 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain weekend06 192.168.1.206 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain weekend07 192.168.1.207 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain 说明: 1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务 仅同步active namenode的状态,以便能够在它失败时快速进行切换。 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据 信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode 这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态 2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个 是Standby,状态由zookeeper进行协调
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值