内容简介:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。期待加入IOT时代最具战斗力的团队。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。dfs.namenode.shared.edits.dir这个参数要注意,在两组HA中的值是不一样的,即在“mycluster”(namenode1和namenode2)和是“yourcluster”(namenode3和namen
本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。期待加入IOT时代最具战斗力的团队。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。
1 core-site.xml 配置:
-
1:配置统一视图viewfs:///
-
2: 配置不同命名空间下,每一个HDFS实例默认的访问空间,注意不是主机名。比如:
<configuration> <property> <name>fs.defaultFS</name> <value>viewfs:///</value> </property> <property> <name>fs.viewfs.mounttable.default.link./my</name> <value>hdfs://mycluster/</value> </property> <property> <name>fs.viewfs.mounttable.default.link./your</name> <value>hdfs://yourcluster/</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>Master:2181,Worker1:2181,Worker2:2181</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/tmp/hadoop2.0</value> </property> </configuration> 复制代码
2 hdfs-site.xml 配置:
-
1:指定dfs.nameservices,也即Hdfs实例两个。比如:mycluster,yourcluster
-
2:指定两个Hdfs实例mycluster和yourcluster的namenode Id 比如:nn1,nn2
-
3:设置两个Hdfs实例mycluster和yourcluster对应的两个namenode(ANN,SNN)实例对应的rpc-address(4个)和http-address(4个)。比如:
namenode1:9000(ANN),namenode2:9000(SNN)| namenode3:9000,namenode4:9000 namenode1:50070,namenode2:50070|namenode3:50070,namenode4:50070 复制代码
-
4:指定自动容错机制automatic-failover,比如:设置为True
-
5:指定共享存储指定目录shared.edits.dir。比如:路径为
qjournal://Master:8485;Worker1:8485;Worker2:8485/mycluster 和qjournal://Master:8485;Worker1:8485;Worker2:8485/yourcluster 复制代码
-
6 总览配置
<configuration> <property> <name>dfs.nameservices</name> <value>mycluster,yourcluster</value> </property> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.ha.namenodes.yourcluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>namenode1:9000</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>namenode2:9000</value> </property> <property> <name>dfs.namenode.rpc-address.yourcluster.nn1</name> <value>namenode3:9000</value> </property> <property> <name>dfs.namenode.rpc-address.yourcluster.nn2</name> <value>namenode4:9000</value> </property> <property> <name>dfs.namenode.http-address.mycluster.nn1</name> <value>namenode1:50070</value> </property> <property> <name>dfs.namenode.http-address.mycluster.nn2</name> <value>namenode2:50070</value> </property> <property> <name>dfs.namenode.http-address.yourcluster.nn1</name> <value>namenode3:50070</value> </property> <property> <name>dfs.namenode.http-address.yourcluster.nn2</name> <value>namenode4:50070</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/usr/local/soft/cdh_support/hadoop-2.6.0-cdh5.9.3/journal</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://Master:8485;Worker1:8485;Worker2:8485/mycluster</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://Master:8485;Worker1:8485;Worker2:8485/yourcluster</value> </property> <property> <name>dfs.client.failover.proxy.provider.my-cluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.client.failover.proxy.provider.yourcluster</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/admin/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>6000</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.datanode.max.xcievers</name> <value>8192</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/hadoop/datanode</value> </property> <property> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/namenode</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration> 复制代码
3 参数设置
dfs.namenode.shared.edits.dir
这个参数要注意,在两组HA中的值是不一样的,即在“mycluster”(namenode1和namenode2)和是“yourcluster”(namenode3和namenode4)中不同。
4 管理
1 先启动journalnode,在journalnode节点上执行以下命令
$HADOOP_HOME/sbin/hadoop-daemon.sh start journalnode 复制代码
2在namenode1和namenode3上执行格式化命令并启动namenode
$HADOOP_HOME/bin/hdfs namenode -format –clusterId hellokitty $HADOOP_HOME/sbin/hadoop-daemon.sh start namenode 复制代码
3 在namenode2和namenode4上执行bootstrapStandby命令并启动namenode
$HADOOP_HOME/sbin/hadoop-daemon.sh start namenode -bootstrapStandby $HADOOP_HOME/sbin/hadoop-daemon.sh start namenode 复制代码
这时namenode1,namenode2,namenode3,namenode4四个namenode都是“standby”状态。
4 在namenode1和namenode3执行以下命令,切换成“active”状态
$HADOOP_HOME/bin/hdfs haadmin -transitionToActive nn1 复制代码
5 在zookeeper中初始化
$HADOOP_HOME/bin/hdfs zkfc -formatZK 复制代码
6 启动zkfc daemon进程,在namenode1,namenode2,namenode3,namenode4上都启动zkfc daemon进程。
$HADOOP_HOME/sbin/hadoop-daemon.sh start zkfc 复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Hadoop联邦机制实现多命名空间详细配置说明-Hadoop商业环境实战
- 中国联邦学习「五大流派」
- Prometheus 联邦及高可用详解
- 腾讯 AngelFL 联邦学习平台揭秘
- 云设计模式之 : 联邦身份模式
- Prometheus学习系列(二十五)之联邦
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
微信小程序入门指南
知晓程序 / 电子工业出版社 / 2017-6-1 / 49
《知晓程序:微信小程序入门指南》是一本分析小程序生态、解读小程序产品设计与开发的入门图书。全书共 9 章,全面讲解了小程序的基本知识、大家如何看待小程序、小程序对行业的影响、小程序对开发者的影响、小程序对用户的影响、开发小程序需要的准备工作等内容,并深入解读了小程序的官方文档。 读者在阅读《知晓程序:微信小程序入门指南》之后可以清楚小程序与订阅号、服务号的区别,了解小程序适用的场景,认识小程......一起来看看 《微信小程序入门指南》 这本书的介绍吧!