大数据 (005)Hadoop-HDFS zookeeper和Hadoop-HDFS的集成

一、干掉masters文件

        进入hadoop安装目录:/home/hadoop-2.5.1中的/etc/hadoop目录。删除masters文件

       【因为引入keepalived之后,我们没有使用secondnamenode,因此不再需要masters文件】

二、删除之前非HA的hadoop所有服务器上的数据文件

    /home/hadoop-2.5

三、编辑/home/hadoop-2.5.1/etc/hadoop中的hdfs-site.xml 文件

 

        将其<configuration>标签内容清空,开始编辑新内容如下:

<configuration>
    <property>
        <name>dfs.nameservices</name>
        <value>laoxiao</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.laoxiao</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.laoxiao.nn1</name>
        <value>namenode:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.laoxiao.nn2</name>
        <value>datanode2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.laoxiao.nn1</name>
        <value>namenode:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.laoxiao.nn2</name>
        <value>datanode2:50070</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://secondarynamenode:8485;datanode1:8485;datanode2:8485/abc</value>
    </property>
    <property>
        <name>dfs.client.failover.proxy.provider.laoxiao</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>/root/.ssh/id_dsa</value>
    </property>
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/home/journal/node/local/data</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
</configuration>

四、编辑/home/hadoop-2.5.1/etc/hadoop中的core-site.xml 文件       

 

        将其<configuration>标签内容清空,开始编辑新内容如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://laoxiao</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop-2.5</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>namenode:2181,secondarynamenode:2181,datanode1:2181</value>
    </property>
</configuration>

五、修改/home/hadoop-2.5.1/etc/hadoop中的slaves文件

 

 

secondarynamenode
datanode1
datanode

六、启动JournalNode

 

在secondarynamenode、datanode1、datanode2上分别执行命令

 

hadoop-daemon.sh start journalnode

 

启动JournalNode

七、判断JournalNode启动是否正常

        执行命令

        tail -200 /home/hadoop-2.5.1/logs/hadoop-root-journalnode-secondarynamenode.log 

        tail -200 /home/hadoop-2.5.1/logs/hadoop-root-journalnode-datanode1.log

        tail -200 /home/hadoop-2.5.1/logs/hadoop-root-journalnode-datanode2.log

        查看日志中是否报错

八、同步namenode的元数据

        1、首先随便在namenode和datanode2中找一台格式化。这里我在datanode2上执行  hdfs namenode -format 命令来格式化

         2、将namenode2上产生的/home/hadoop-2.5整个文件夹拷贝至namenode上

九、Initializing HA state in ZooKeeper   (初始化HA)  

        选择一台namenode执行命令  

    hdfs zkfc -formatZK

        即可

 

 

十、启动

       给namenode和datanode2互相配置免密登录,配置详细步骤见前几篇博客中

       【为什么要在namenode和datanode2?那是因为namenode和datanode2是我们的两个主备namenode,他们要可以互相访问,才可以实时监控,完成宕机切换】

十一、启动

        在配置了免密登录的主机执行  start-dfs.sh

十二、验证启动是否成功

        在浏览器中分别输入链接http://192.168.43.201:50070       http://192.168.43.204:50070 

        其中http://192.168.43.201:50070位namenode的web监控页面   http://192.168.43.204:50070为datanode2的web监控页面

        若两个显示如下,则说明启动成功:

 十三、测试自动切换

         1、在namenode上执行jps,得到下图

             

        2、杀掉namenode进程

               执行命令kill -9 5396

        3、重复第  十二 步,看activiti节点是否切换

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值