视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
hadoop2.3.0HA配置
2020-11-09 08:18:12 责编:小采
文档

环境:rehl 6.4 ,apache hadoop 2.3.0 三台主机gtx1,gtx2,gtx3 构成hadoop集群,zookeeper已经正确配置并启动 1.1修改core-site.xml配置: property namefs.defaultFS/name valuehdfs://gtxcluster/value/propertyproperty nameha.zookeeper.quorum/name

环境:rehl 6.4 ,apache hadoop 2.3.0

三台主机gtx1,gtx2,gtx3 构成hadoop集群,zookeeper已经正确配置并启动

1.1修改core-site.xml配置:


 fs.defaultFS
 hdfs://gtxcluster


 ha.zookeeper.quorum
 gtx1:2181,gtx2:2181,gtx3:2181

1.2修改hdfs-site.xml,添加如下配置:

 dfs.nameservices
 gtxcluster


 dfs.ha.namenodes.gtxcluster
 nn1,nn2


 dfs.namenode.rpc-address.gtxcluster.nn1
 gtx3:9009


 dfs.namenode.rpc-address.gtxcluster.nn2
 gtx2:9009


 dfs.namenode.http-address.gtxcluster.nn1
 gtx3:50070


 dfs.namenode.http-address.gtxcluster.nn2
 gtx2:50070


 dfs.namenode.shared.edits.dir
 qjournal://gtx3:8485;gtx2:8485;gtx1:8485/gtxcluster


 dfs.client.failover.proxy.provider.gtxcluster
 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


 dfs.ha.fencing.methods
 shell(/bin/true)


 fs.defaultFS
 hdfs://gtxcluster


 dfs.journalnode.edits.dir
 /data/hadoop/data/journal


 dfs.ha.automatic-failover.enabled
 true

2启动服务

2.1初始化zookeeper

在nn1上执行:

hdfs zkfc -formatZK

2.2在所有journalnode节点上启动journalnode
hadoop-daemon.sh start journalnode

2.3格式化nn1(如果是新集群),在nn1上执行
hadoop namenode -format 


*初始化journalnode*实测结果表明在2.3.0中此步做不做都不影响,考虑到操作完整性还是建议做
hdfs namenode -initializeSharedEdits

2.4启动nn1:在nn1节点上执行:
hadoop-daemon.sh start namenode

2.5让nn2从nn1上拉去fsimage,在nn2上执行:
hdfs namenode -bootstrapStandby

2.6启动nn2,在nn2上执行:
hadoop-daemon.sh start namenode


此时nn1和nn2都处于standby状态,因为在hdfs-site.xml中配置了dfs.ha.automatic-failover.enabled参数为true,所以不能通过手工方式切换状态,需要依赖zkfc


2.7启动所有datanode,在nn1上执行:
hadoop-daemons.sh start datanode

2.8 启动zkfc,实现HA的自动切换,启动zkfc后,先启动的nn会自动进入active状态,另一个仍保持standby状态

在nn1上和nn2上分别执行:

hadoop-daemon.sh start zkfc

3 检查集群状态和进程状态

3.1 在任意nn上执行 jps显示进程如下:

hadoop@GTX3 bin]$ jps
96 Jps
39 DFSZKFailoverController
5712 JournalNode
6077 NameNode
6293 DataNode
23504 QuorumPeerMain

3.2查看nn状态

在任意nn上执行:

hdfs haadmin -getServiceState nn1 结果显示为active

hdfs haadmin -getServiceState nn2 结果显示为stanby

备注:如果没有配置自动ha,则可以通过hdfs dfsadmin -transitionToActive nnx 将其中一个nn手动切换为active状态,切换成standby状态同理,使用 -transitionToStandby参数、

下载本文
显示全文
专题