Hadoop2.2 HA安装
2014-01-27 11:14
330 查看
1. dfs.nameservices :配置nameservice的逻辑名称,与core-site.xml里fs.defaultFS配置的对应
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
2. dfs.ha.namenodes.[nameservice ID] :在nameservice中给每个NameNode 唯一标示符。
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
3. dfs.namenode.rpc-address.[nameservice ID].[name node ID] :每个NameNode 的RPC地址
<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>
4.dfs.namenode.http-address.[nameservice ID].[name node ID]:每个NameNode 的HTTP地址
<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>
5.dfs.namenode.shared.edits.dir :主备namenode的共享信息存放位置(有NFS和QJM两种,这里用QJM)JournalNode数目最好为奇数个,一般3个足够
<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.journalnode.edits.dir</name>
<value>/path/to/journal/node/local/data</value>
</property>
6.dfs.client.failover.proxy.provider.[nameservice ID] :客户端连Active NameNode类
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
7.dfs.ha.fencing.methods :故障转移期间取Active NameNode脚本
<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>
core-site.xml[b]配置 :[/b]
1. fs.defaultFS : nameservice ID 和hdfs-site.xml的dfs.nameservices对应
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
启动:
1. 启动配置的journalnode,执行hadoop-daemon.sh start journalnode
2. 在一台NameNode,执行hdfs namenode -format
3. 启动这台namenode,执行hadoop-daemon.sh start namenode
4. 在没有 format机器,先copy已格式化的namenode 的metadata 目录。然后执行hdfs namenode –bootstrapStandby和hdfs namenode –initializeSharedEdits初始化journalnode
5. 最后启动集群就ok了。可以单独起或者start-dfs.sh
注:配置这些还不能支持自动切换,需要hdfs haadmin -transitionToActive 切换。支持namenode出现故障时自动切换,你需要配置zookeeper。
需要配置hdfs-site.xml和core-site.xml:
1. hdfs-site.xml:
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property
2. core-site.xml:配置zookeeper服务
<property>
<name>ha.zookeeper.quorum</name>
<value>zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181</value>
</property>
启动:
1. 停集群,配置参数如上。
2. 执行 hdfs zkfc –formatZK初始化。
3. 启动集群start-dfs.sh。此时会自动启动ZKFC 线程在NameNode上,ZKFC 将自动选择一个NameNode变成active。
(如果手动启ZKFC 命令为:hadoop-daemon.sh start zkfc)
附:更详细内容可参加官方文档
Hadoop2.2的官方文档http://hadoop.apache.org/docs/r2.2.0/index.html。
安装配置为:Cluster Setup
HA采用Journal:High Availability With QJM
HA采用NFS:High Availability With NFS
相关文章推荐
- Hadoop_2.1.0 MapReduce序列图
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- Hadoop安装感悟
- hadoop安装lzo
- HDFS 文件操作
- HBase基本原理
- HDFS DatanodeProtocol——sendHeartbeat
- HDFS DatanodeProtocol——register
- Hadoop集群提交作业问题总结
- Hadoop源码分析 HDFS ClientProtocol——addBlock
- Hadoop源码分析HDFS ClientProtocol——create
- Hadoop源码分析FSNamesystem几个重要的成员变量
- Hadoop源码分析HDFS ClientProtocol——getBlockLocations