博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop HA元数据备份
阅读量:6327 次
发布时间:2019-06-22

本文共 3744 字,大约阅读时间需要 12 分钟。

hot3.png

NFS方式

一、Server 端配置 (root@hz-search-zookeeper-01)
su - hbase -c "mkdir /home/hbase/hadoop_nfs && chmod 777 /home/hbase/hadoop_nfs"
echo '/home/hbase/hadoop_nfs 172.37.0.202(rw)' >> /etc/exports
   service nfs restart
二、Client 端配置 (hadoop namenode)
su - hbase -c "mkdir -p /home/hbase/hadoop_nfs/name"
/etc/init.d/nfslock start
mount -t nfs 172.37.0.201:/home/hbase/hadoop_nfs/ /home/hbase/hadoop_nfs/name
echo 'mount -t nfs 172.37.0.201:/home/hbase/hadoop_nfs/ /home/hbase/hadoop_nfs/name' >> /etc/rc.d/rc.local
三、配置dfs.name.dir为两份,并重启 hadoop 使其生效
<property>
<name>dfs.name.dir</name>
<value>/home/admin/name/,/home/admin/hadoop_nfs/name</value>
</property> 

QJM方式

http://hadoop.apache.org/docs/r2.4.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

配置ZK集群,参照我的另一篇博文ZooKeeper集群安装配置

hdfs-site.xml
追加namenode服务名称
<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
追加namenode服务的节点,一个nameservice最多两个节点
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>172.37.0.202:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>172.37.0.201:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>172.37.0.202:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>172.37.0.201:50070</value>
</property>
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://172.37.0.201:8485;172.37.0.202:8485;172.37.0.203: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/root/.ssh/id_rsa</value>
</property>
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

core-site.xml

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://mycluster</value>
</property>
<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/path/to/journal/node/local/data</value>
</property>
<property>
   <name>ha.zookeeper.quorum</name>
   <value>172.37.0.201:2181,172.37.0.202:2181,172.37.0.203:2181</value>
 </property>
    
在ZK上初期化HA,在一个namenode节点上执行就可以了
$ hdfs zkfc -formatZK
在每个节点上都得执行下面的命令, 启动journalnode
hadoop-daemon.sh start journalnode
   [root  logs]# jps
    12821 JournalNode
在各个节点运行
 hadoop namenode -format
运行start-dfs.sh
start-yarn.sh
察看状态:namenode
16753 QuorumPeerMain
18743 ResourceManager
18634 DFSZKFailoverController
18014 JournalNode
18234 NameNode
15797 Bootstrap
19571 Jps
18333 DataNode
18850 NodeManager
Datanode
1715 DataNode
1869 NodeManager
1556 JournalNode
1142 QuorumPeerMain
2179 Jps
搭建好以后,jps查看相关进程,用kill -9 删除active的nn,通过hdfs haadmin -DFSHAAdmin -getServiceState nn1可以查看以前standby的NN已经active,执行查看等操作也都正常。想要在启动kill掉的namenode,用sbin/hadoop- daemon.sh start namenode

重新设置Hadoop HA

在namenode机器上停止
Stop-dfs.sh
Stop-yarn.sh

所有机器上停止ZK

zkServer.sh  stop

删除所有机器zk的临时文件

rm -rf /tmp/hadoop-root/zookeeper/version-2

删除所有机器JournalNode临时文件

rm -rf /home/hadoop/hadoop-root/journal/node/local/data/*
删除所有机器namenode,datanode文件
rm -rf /home/hadoop/hadoop-root/dfs/name/*
rm -rf /home/hadoop/hadoop-root/dfs/data/*
启动所有机器的ZK
zkServer.sh start
在ZK上初期化HA,在一个namenode节点上执行就可以了
 hdfs zkfc -formatZK
在每个节点上都得执行下面的命令, 启动journalnode
hadoop-daemon.sh start journalnode
在namenode节点上运行
 hadoop namenode -format
启动hadoop
start-dfs.sh
start-yarn.sh

查看节点状态

http://172.37.0.201:50070/dfshealth.jsp
http://172.37.0.202:50070/dfshealth.jsp

转载于:https://my.oschina.net/junfrank/blog/286357

你可能感兴趣的文章
螳螂捕蝉黄雀在后!地下黑客论坛免费远控木马被曝“后门”
查看>>
迁移数据中心的三大风险与应对策略
查看>>
IBM推出基于Watson的认知营销服务
查看>>
为什么说Python是伟大的入门语言
查看>>
调查:中国CIO在亚太拥最大战略影响力
查看>>
"途牛+巨杉" 诠释在线旅游与大数据结合
查看>>
保护物联网的数据隐私和在线安全的7种方式
查看>>
混合云扛起云存储领军大旗
查看>>
5G空口存疑 革新还是4G演进?
查看>>
We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
查看>>
5G:非正交多址接入技术(NOMA)
查看>>
数据中心规划设计中值得注意的八个问题
查看>>
HPE谢少毅:更敏捷的企业服务,做有生命力的落地实践
查看>>
机器学习数据管理初创公司SafeGraph融资1600万美元
查看>>
AngularJS中使用HTML5摄像头拍照
查看>>
前端开发js运算符单竖杠“|”的用法和作用及js数据处理
查看>>
5G时代渐行渐近 移动承载网络面临新挑战
查看>>
从科幻灵感开始的一场数据存储基础设施实验之旅
查看>>
5G前夜 运营商如何实现网络创新?
查看>>
用Async函数简化异步代码
查看>>