美文网首页大数据
Hadoop 2.x HA和环境搭建

Hadoop 2.x HA和环境搭建

作者: 老生住长亭 | 来源:发表于2018-07-08 00:44 被阅读7次

最近看hadoop和人工智能相关的知识,hadoop搭建笔记,晒出来给大家分享下。

1、fsimage  在namdenode的格式化的产生的,不同的namenode格式化的fsimage是不同的。只在其中一台namenode机  器上格式化,edists 也是在格式化的时间产生的
2、多个edits的文件,如何给其他namenode相同的edits.就是用共享机制
3、edits 文件,实时产生的,有如下方式实现共享edits :network file share (NFS)

4、HA环境搭建【注意:所有相关的机器的时间都要保持一致。使用如果不一致使用: ntpdate  ntp.sjtu.edu.cn 同步一致】
以四台机器:node1,node2,node3,node4为例搭建环境
 以node1可以无密码登录其他三台机器为例
    NN  DN  ZK  ZKFC    JN  RM  NM(任务管理)
Node1   Y       Y   Y            
Node2   Y   Y   Y   Y   Y   Y   Y
Node3       Y   Y       Y       Y
Node4       Y           Y       Y
 


 (1)、zookeper搭建

              zoo.conf 配置和myid的配置
        a. 三台zookeeper:node1,node2,node3
        b. 编辑zoo.cfg配置文件
            i. 修改dataDir=/opt/zookeeper
            ii. server.1=node1:2888:3888
            server.2=node2:2888:3888
            server.3=node3:2888:3888
        c. 在dataDir目录中创建一个myid的文件,文件内容为1,2,3

  (2)hadoop-site.xml
    配置nameservice

需要配置的有:

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>

<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>

<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>node1:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node2:8020</value>
</property>


<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node1:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node2:50070</value>
</property>


<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node2:8485;node3:8485;node4:8485/mycluster</value>
</property>


<property>
  <name>dfs.client.failover.proxy.provider.mycluster</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>/opt/jouralnode/data</value>
</property>
 <property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>


Core-site.xml 需要的配置

 <property>
   <name>ha.zookeeper.quorum</name>
   <value>node1:2181,node2:2181,node3:2181</value>
 </property>

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

(3)配置hadoop中的slaves  位datanode节点的值
(4)不用配置masters,如果有删掉masters文件,masters是配置secondary namenode.
(5)启动zookeeper   :执行命令:./zkServer.sh start 
(6)启动Jouralnode 执行命令:./hadoop-daemon.sh start journalnode
(7)格式化和启动namenode的机器
    a、首先格式化可以无密码登录三台机器的namenode的机器.执行命令:dfs namenode -format,格式化没有报错后启动这台格式化机器的namenode,执行命令在/etc/hadoop下执行:./ hadoop-daemon.sh start namenode
    b、在没有格式化的namenode上执行:hdfs namenode -bootstrapStandby,然后启动这台namenode机器。命令依然是:在/etc/hadoop下执行:./ hadoop-daemon.sh start namenode
  (8)在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK  建议在可以无密码登录其他三台机器的namenode执行。
  (9)停止上面的节点【在第一台namenode上执行】:stop-dfs.sh
 (10)全面启动所有的节点:start-dfs.sh

相关文章

网友评论

    本文标题:Hadoop 2.x HA和环境搭建

    本文链接:https://www.haomeiwen.com/subject/aypnuftx.html