HDFS HA全新安装配置
2014-08-12 15:29
393 查看
1.core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hihadoop/hadoop/jns</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
</configuration>
2.hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/dfs/data/data1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopb.highgo.com:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>hadoopb.highgo.com:50091</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nna,nnb</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nna</name>
<value>hadoopa.highgo.com:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nnb</name>
<value>hadoopb.highgo.com:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nna</name>
<value>hadoopa.highgo.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nnb</name>
<value>hadoopb.highgo.com:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name> <value>qjournal://hadoopa.highgo.com:8485;hadoopb.highgo.com:8485;hadoopc.highgo.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/hihadoop/.ssh/id_rsa</value>
</property>
</configuration>
2.启动JNs守护进程,在每一台JournalNode上运行下边的命令,不启动JNs,无法格式化NameNode。
hadoop-daemon.sh start journalnode
3.格式化NameNode,在a上执行下面的命令格式化a,两个NameNode格式化的顺序无所谓。
hdfs namenode -format
启动a上的NameNode,在b上运行下面的命令格式化
hdfs namenode -bootstrapStandby
格式化之后,b上的NameNode就可以启动了。
此时可以用50070端口分别查看两个NameNode的状态了。两个都是Standby状态。需要手工将其中一个转换成Active状态。
用下面这个命令可以将其中一个转为Active状态。
hdfs haadmin -transitionToActive nna
注意:
1>hdfs namenode -format命令不会格式化两个NameNode,后格式化的NameNode用hdfs namenode -bootstrapStandby命令格式化。
2>格式化第二个NameNode时,第一个NameNode必须启动,需要通过JNs传输数据,JNs也必须都启动。
4.启动所有的DataNode,集群就可以正常使用了。
注意:在停止集群的所有HDFS相关进程,然后用start-dfs.sh命令重新启动,发现新启动的集群的两个NameNode也都是Standby状态的,需要手工切换一个到Active。
如果同时配置了自动故障转移的话,启动时就会有一个NameNode是Active的,文档上说是会选择先启动的NameNode作为Active,具体原理再研究。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hihadoop/hadoop/jns</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
</configuration>
2.hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/dfs/data/data1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopb.highgo.com:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>hadoopb.highgo.com:50091</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nna,nnb</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nna</name>
<value>hadoopa.highgo.com:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nnb</name>
<value>hadoopb.highgo.com:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nna</name>
<value>hadoopa.highgo.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nnb</name>
<value>hadoopb.highgo.com:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name> <value>qjournal://hadoopa.highgo.com:8485;hadoopb.highgo.com:8485;hadoopc.highgo.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/hihadoop/.ssh/id_rsa</value>
</property>
</configuration>
2.启动JNs守护进程,在每一台JournalNode上运行下边的命令,不启动JNs,无法格式化NameNode。
hadoop-daemon.sh start journalnode
3.格式化NameNode,在a上执行下面的命令格式化a,两个NameNode格式化的顺序无所谓。
hdfs namenode -format
启动a上的NameNode,在b上运行下面的命令格式化
hdfs namenode -bootstrapStandby
格式化之后,b上的NameNode就可以启动了。
此时可以用50070端口分别查看两个NameNode的状态了。两个都是Standby状态。需要手工将其中一个转换成Active状态。
用下面这个命令可以将其中一个转为Active状态。
hdfs haadmin -transitionToActive nna
注意:
1>hdfs namenode -format命令不会格式化两个NameNode,后格式化的NameNode用hdfs namenode -bootstrapStandby命令格式化。
2>格式化第二个NameNode时,第一个NameNode必须启动,需要通过JNs传输数据,JNs也必须都启动。
4.启动所有的DataNode,集群就可以正常使用了。
注意:在停止集群的所有HDFS相关进程,然后用start-dfs.sh命令重新启动,发现新启动的集群的两个NameNode也都是Standby状态的,需要手工切换一个到Active。
如果同时配置了自动故障转移的话,启动时就会有一个NameNode是Active的,文档上说是会选择先启动的NameNode作为Active,具体原理再研究。
相关文章推荐
- Hadoop 2.2.0 HDFS HA高可用安装与配置
- 全新的系统安装配置RVM
- 在SuSE集群上安装配置HDFS
- HDFS-HA的配置-----自动Failover
- hdfs安装和配置过程以及hadfs的工作原理(备忘)
- HDFS-HA的配置-----自动Failover(ZKFC)
- CHD4B1(hadoop-0.23)实现NameNode HA安装配置
- RoseMirrorHA For SqlServer安装配置
- hdfs-over-ftp安装与配置
- YARN & HDFS2 安装和配置Kerberos
- nagios全新的包安装和配置方式
- CHD4B1(hadoop-0.23)实现NameNode HA安装配置
- HDFS-HA的配置-----自动Failover
- CHD4B1(hadoop-0.23)实现NameNode HA安装配置
- VMware HA实战攻略之四VMware HA安装及配置
- libhdfs编译,安装,配置,使用
- 全新Ubuntu-13.04安装配置redmine
- YARN & HDFS2 安装和配置Kerberos
- Rose HA for NT安装配置指南