hadoop:安装手动HA

1.复制一份配置文件做HA (etc/hadoop

 cp hadoop HA_hadoop

2.修改配置文件hdfs-site.xml

    <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>master:9000</value>

    </property>

    <property>

      <name>dfs.namenode.rpc-address.mycluster.nn2</name>

      <value>slave1:9000</value>

    </property>

   

    <property>

      <name>dfs.namenode.http-address.mycluster.nn1</name>

      <value>master:50070</value>

    </property>

    <property>

      <name>dfs.namenode.http-address.mycluster.nn2</name>

      <value>slave1:50070</value>

    </property>

    <property>

      <name>dfs.namenode.shared.edits.dir</name>

      <value>qjournal://master:8485;slave1:8485;slave2: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>/home/hyxy/.ssh/id_rsa</value>

    </property>

3.修改配置文件hdfs-site

    <property>

      <name>fs.defaultFS</name>

      <value>hdfs://mycluster</value>

    </property>

<--添加!-->

    <property>

      <name>dfs.journalnode.edits.dir</name>

      <value>/home/hyxy/soft/tmp/journalnode</value>

    </property>

 

4.发送到其他机器

    scp -r /home/hyxy/soft/hadoop/etc/HA_hadoop hyxy@slave1:~/soft/hadoop/etc

    scp -r /home/hyxy/soft/hadoop/etc/HA_hadoop hyxy@slave2:~/soft/hadoop/etc

 

5.改软连接  (所有机器都改)

Ln -s HA_hadoop hadoop

 

6.启动所有机器上的journalnode守护进程

hadoop-daemon.sh start journalnode

 

(可忽略)

(一旦启动了JournalNodes,就必须首先同步两个HA NameNodes的磁盘元数据。

 

    如果要设置新的HDFS集群,则应首先在其中一个NameNode上运行format命令(hdfs namenode -format)。

 

    如果您已经格式化了NameNode,或者正在将启用了HA的群集转换为启用HA,

       则现在应该通过运行命令“ hdfs namenode bootstrapStandby ”

       将NameNode元数据目录的内容复制到另一个未格式化的NameNode上。 在未格式化的NameNode上。

       运行此命令还将确保JournalNodes(由dfs.namenode.shared.edits.dir配置)包含足够的编辑事务,

       以便能够启动两个NameNode。

 

    如果要将非HA NameNode转换为HA,则应运行命令“ hdfs namenode -initializeSharedEdits ”,

    该命令将使用来自本地NameNode编辑目录的编辑数据初始化JournalNodes。)

7.启动原来的namenode守护进程

    master-------》hadoop-daemon.sh start namenode

8.在另一个namenode上复制原来的数据过来

    slave1-------》hdfs namenode -bootstrapStandby

9.关闭namenode进程,初始化日志文件

    hadoop-daemon.sh stop namenode

    hdfs namenode -initializeSharedEdits

10.正常启动集群

    start-dfs.sh

11.验证集群

    把其中一个namenode切换成活跃的

    hdfs haadmin -transitionToActive nn1

    上传文件

搭建了好久,过一两天把之前学的东西总结一下吧

猜你喜欢

转载自blog.csdn.net/superXZT/article/details/83659648