大数据学习4(高可用hadoop集群)

Posted bug开发工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习4(高可用hadoop集群)相关的知识,希望对你有一定的参考价值。

  namenode1 namenode2 datanode zk zkfc jnn
node0001 *       * *
node0002   * * * * *
node0003     * *   *
node0004     * *    

 

 

 

 

 

 

1,两个namenode节点相互免密钥,以完成主备切换

node0002:cd .ssh

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa

cat id_dsa.pub >> authorized_keys   (0002节点自己免密钥)

scp id_dsa.pub node0001:`pwd`/node0002.pub   (发送到0001)

node0001:cd .ssh

cat node0002.pub >> authorized_keys

测试node0002 :ssh node0001

2,修改配置文件

vi  hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <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>node0001:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node0002:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node0001:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node0002:50070</value>
</property>

<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node0001:8485;node0002:8485;node0003: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>/var/sxt/hadoop/ha/jn</value>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

</configuration>

vi  core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://mycluster</value>
    </property>
  <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/sxt/hadoop/ha</value>
    </property>

    <property>
      <name>ha.zookeeper.quorum</name>
      <value>node0002:2181,node0003:2181,node0004:2181</value>
    </property>

</configuration>

 3,分发配置文件

scp core-site.xml hdfs-site.xml node0002:`pwd`     (hadoop 目录下)

scp core-site.xml hdfs-site.xml node0003:`pwd`     (hadoop 目录下)

scp core-site.xml hdfs-site.xml node0004:`pwd`     (hadoop 目录下)

4,搭建zookeeper(0002,0003,0004)

node0002:cd /software    (上传zookeeper-3.4.6.tar.gz)

tar xf zookeeper-3.4.6.tar.gz -C /opt/sxt/    (解压)

cd /opt/sxt/zookeeper-3.4.6

cd conf    (修改zk配置文件)

mv zoo_sample.cfg zoo.cfg    (修改名称才可用)

vi zoo.cfg

dataDir=/var/sxt/zk   (修改,不要用临时的)

server.1=node0002:2888:3888    (最后追加)

server.2=node0003:2888:3888

server.3=node0004:2888:3888

cd /opt/sxt/

scp -r zookeeper-3.4.6/ node0003:`pwd`

scp -r zookeeper-3.4.6/ node0004:`pwd`

mkdir -p /var/sxt/zk   (三台机器都要创建)

node0002:echo 1 > /var/sxt/zk/myid    (每台机器zookeeper对应自己编号)

node0003:echo 2 > /var/sxt/zk/myid     

node0004:echo 3 > /var/sxt/zk/myid     

cd zookeeper-3.4.6  pwd   (获取zk路径)

vi + /etc/profile

export ZOOKEEPER_HOME=路径

:$ZOOKEEPER_HOME/bin   (追加到path后)

node0003和node0004相同配置

. /etc/profile  (编译后,zkCli.sh查看是否能自动补全验证)

5,启动zookeeper(0002,0003,0004)

zkServer.sh start (三台都要启动,zkServer.sh stop 关闭)

jps   (QuorumPeerMain 进程出现则成功启动)

zkServer.sh status   (查看当前机器的主从状态)

6,启动journalnode(0001,0002,0003)

hadoop-daemon.sh start journalnode     (三台机器都要启动)

jps    (JournalNode进程出现则成功)

 

7,格式化namenode(随便找一个NN机器)

node0001:hdfs namenode -format    (生成集群id文件,只执行一次)

hadoop-daemon.sh start namenode     (启动该节点)

jps      (namenode进程也会出现)

node0002:hdfs namenode -bootstrapStandby     (将主节点的元数据信息拷贝到当前节点下)

8,格式化zkfc

node0001: hdfs zkfc -formatZK

8,启动集群

node0001:start-dfs.sh     (只用在主节点)

jps

node0001:JournalNode

     DFSZKFailoverController

     NameNode

node0002:DataNode

     JournalNode

    DFSZKFailoverController

    QuorumPeerMain

    ZookeeperMain

    NameNode

node0003:DataNode

     JournalNode

    QuorumPeerMain

node0004:DataNode

    QuorumPeerMain

9,浏览器访问

node0001:50070

node0002:50070

以上是关于大数据学习4(高可用hadoop集群)的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop高可用(HA)集群部署

大数据高可用集群环境安装与配置(06)——安装Hadoop高可用集群

大数据高可用集群环境安装与配置(09)——安装Spark高可用集群

大数据Hadoop的HA高可用架构集群部署

大数据Hadoop的HA高可用架构集群部署

技术交流大数据Hadoop的HA高可用架构集群部署