设为首页 收藏本站
查看: 809|回复: 0

[经验分享] hadoop CHD4 HA 详细安装和配置

[复制链接]

尚未签到

发表于 2016-12-9 07:47:11 | 显示全部楼层 |阅读模式
准备:
下载安装hadoop
wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.3.0.tar.gz
下载安装zookeeper
wget http://archive.cloudera.com/cdh4/cdh/4/zookeeper-3.4.5-cdh4.3.0.tar.gz
1、当前hadoop集群的情况
10.95.3.61              master   (主NN)
10.95.3.62              slave1   (DN)
10.95.3.63              slave2   (备NN)
10.95.3.64              slave3   (DN)
10.95.3.65              slave4   (DN)
10.95.3.67              slave6   (DN,nfs)
2、安装和配置nfs
    由于节点资源有限,故选择slave6(DN)作为nfs服务器。默认情况下,系统本身自己就安装了nfs,如果没有安装,则:
NFS的安装配置:
centos 5 :
yum -y install nfs-utils portmap
centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :
yum -y install nfs-utils rpcbind
以下操作在slave6上进行
1) 创建共享目录:
mkdir /dw/ha_edits (hadoop 用户创建)
2) 切换用户为root  ,
执行:vi /etc/exports,
添加:/dw/ha_edits *(rw,sync,no_root_squash) [遇到的问题:如果*换成10.95.3.*的话,挂载会失败,报拒绝访问的错误],保存退出。
3) 使保存生效,执行:exportfs -r
4) 启动nfs服务:
对centos6,执行:
# service rpcbind start
# service nfs start
对centos5,执行:
# service portmap start
# service nfs start
以下操作在主备NN上操作
1) 创建要挂载的目录
登录master,用hadoop用户创建/dw/ha_edits目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits /dw/ha_edits
登录slave2,用hadoop用户创建/dw/ha_edits 目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits  /dw/ha_edits
到此挂载成功
注意,对/etc/exports文件修改,要重启nfs服务,命令:service nfs restart。
2)解除挂载:(root用户操作)
# umount /dw/ha_edits
如果遇到:umount.nfs:  /dw/ha_edits : device is busy,则执行:
# fuser -m -v /dw/ha_edits
用户 进程号 权限 命令
/usr/local/test/: root 2798 ..c.. bash
root 2996 ..c.. su
# kill -9 2798
# kill -9 2996
# umount /usr/local/test
3)查看挂载信息:
# mount
3、配置两个NameNode可以相互无密码ssh
      现在两台NN分别是master和slave2。以hadoop用户登录slave2,进入/home/hadoop目录下,
1)   执行:
      ssh-keygen -t rsa,注意一定不要输入密码,这样,在/home/hadoop/.ssh目录下将会生成id_rsa,id_rsa.pub两个文件。
2)  配置slave2到master的免密码登录:
     执行:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master ,这样就把slave2的公钥加入到了master的authorized_keys文件中。
     同理,可以配置master到slave2的免密码登录(此处不再赘述)。
     注意:文件夹的权限
     chmod 755 .ssh/
     chmod 644 .ssh/authorized_keys

4、zookeeper安装和配置
     选定以下作为zookeeper 服务器:
     10.95.3.61    master
     10.95.3.63    slave2
     10.95.3.67    slave6
     zookeeper的详细安装过程此处不在赘述。
     注意以下几点:
           1) 配置zookeeper环境变量。
           2)把/conf 下的zoo_sample.cfg拷贝一份重命名为zoo.cfg,并配置相应选项。
5、hadoop的相关配置
     1)  修改所有节点(NN,DN) 的 hdfs-site.xml
          进入hadoop安装目录下的etc/hadoop目录中,
          执行:vi hdfs-site.xml
          注释掉:

<!--    <property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
-->

          添加:

<property>
<name>dfs.nameservices</name>
<value>master</value>
<description>提供服务的NS逻辑名称,与core-site.xml里的对应</description>
</property>
<property>
<name>dfs.ha.namenodes.master</name>
<value>nn1,nn2</value>
<description>列出该逻辑名称下的NameNode逻辑名称</description>
</property>
<property>
<name>dfs.namenode.rpc-address.master.nn1</name>
<value>master:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.master.nn2</name>
<value>slave2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.master.nn1</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.master.nn2</name>
<value>slave2:50070</value>
</property>

        保存,退出。
          最后,把这个文件同步到所有其他的节点上去。
       2) 修改两个NN节点的hdfs-site.xml
              执行:vi hdfs-site.xml
              添加以下配置:

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>file:///dw/ha_edits</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.master</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
保存退出。
把hdfs.xml同步到另一个NN节点上去。

       3) 修改两个NN节点的core-site.xml
              执行:vi core-site.xml
              添加以下配置:

<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave2:2181,slave6:2181</value>
</property>

        保存退出。
        把core-site.xml文件同步到另一个NN节点上。
        注:

<property>
<name>fs.defaultFS</name>
<value>hdfs://master</value>
</property>

        这个配置master要和上面的hdfs-site.xml一些配置对应。
ps: 经过测试,以上配置文件在所有NN,DN节点上可以一致,所以可以在一个节点上修改完毕后同步到其他节点上去。 DSC0000.gif
6) 同步两个HA NameNodes的磁盘元数据(hdfs namenode -format)
            如果你正在建立一个新的HDFS集群,你应该首先在其中的一台namenodes上运行format command(hdfs          namenode -format)。
            如果你已经format了NameNode,把主NN上的整个current复制到备NN上的。此时,你也应该确认共享edits 目录(dfs.namenode.shared.edits.dir配置)包含了你的NameNode 元数据目录最近的所有edits的文件。
7) 在zookeeper初始化HA的状态
           初始化在zookeeper中需要的状态,你能够在其中一台的NameNode主机上执行下面命令:
           $ hdfs zkfc -formatZK
           这将在zookeeper里面创建一个znode,这样自动failover能够在它里面存储它的数据。
8 )  用start-dfs.sh启动集群
            # start-dfs.sh
             启动后,在挂载的目录下能看到current目录以及下面的元数据。两个NN将会存在两个进程:DFSZKFailoverController   NameNode
             执行:hdfs haadmin -getServiceState nn1/nn2  能返回各个节点的状态
9 ) 测试
             kill -9 [pid of NN]  检查是否切换到了另一个节点上去了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-311597-1-1.html 上篇帖子: hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException 下篇帖子: hadoop 报错 org.apache.hadoop.mapred.TaskTracker: Process Thread Dump: lost task
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表