hadoop高可用配置笔记

1.删除masters
2.删除hdfs-site.xml中的secondary配置
3.编辑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>machine1.example.com:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>machine2.example.com:8020</value>
</property>


<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>machine1.example.com:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>machine2.example.com:50070</value>
</property>


其中,machine1.example.com为namenode1的节点域名,machine2.example.com为namenode2的节点域名


<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node1.example.com:8485;node2.example.com:8485;node3.example.com: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/exampleuser/.ssh/id_rsa</value>
</property>
/home/exampleuser/.ssh/id_rsa 为私钥地址。


<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/opt/journal/</value>
</property>


指定journalnode存放目录。
4.编辑core-site.xml文件
修改客户端入口:
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://mycluster</value>
</property>


<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop</value>
    </property>
</configuration>


5.增加自动切换。 hdfs-site.xml
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
</property>


6.增加zk配置 core-site.xml 
<property>
  <name>ha.zookeeper.quorum</name>
  <value>zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181</value>
</property>


7.将配置好的文件拷贝到其他节点。namenode高可用的所有节点需要互相免密码访问。


8.在journalnode节点上启动journalnode  
hadoop-daemon.sh start journalnode (只是启动单节点,不可启动整个集群)


9.查看journalnode启动结果,查看日志hadoop/logs 下hadoop-root-journalnode-**.log


10.初始化同步两台namenode的原数据:
10.1 格式化其中任意一台namenode  hdfs namenode -format
10.2 将其中一台namenode 的 fsimage数据完全拷贝到另一台 相同目录下。scp -r /opt/hadoop tq@node5:/opt/hadoop  


或 在没有格式化的namenode上执行:
1. 把刚刚格式化之后的元数据拷贝到另外一个namenode上
a) 启动刚刚格式化的namenode :hadoop-daemone.sh start namenode
b) 在没有格式化的namenode上执行:hdfs namenode -bootstrapStandby
c) 启动第二个namenode




10.3 将datanode /opt/hadoop中的内容也删除


11.格式化zookeeper
在任意namenode节点执行 hdfs zkfc -formatZK


12.在免密码登录的节点上启动hadoop : start-dfs.sh


13.FailoverController帮namenode节点切换active/standby 一旦切换不了,查看FailoverController日志。hadoop-root-zkfc-*.log













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值