最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

hadoop-HA部署文档

来源:动视网 责编:小OO 时间:2025-10-04 18:30:53
文档

hadoop-HA部署文档

Hadoop-HA部署hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据
推荐度:
导读Hadoop-HA部署hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据
Hadoop-HA部署

hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。

hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或者自动切换到另一个NameNode提供服务。 

这些NameNode之间通过共享数据,保证数据的状态一致。多个NameNode之间共享数据,可以通过Nnetwork File System或者Quorum Journal Node。前者是通过linux共享的文件系统,属于操作系统的配置;后者是hadoop自身的东西,属于软件的配置。 

集群启动时,可以同时启动2个NameNode。这些NameNode只有一个是active的,另一个属于standby状态。active状态意味着提供服务,standby状态意味着处于休眠状态,只进行数据同步,时刻准备着提供服务。

1.部署环境

本次安装hadoop HA集群环境:linux centos6.5 位系统,jdk1.7.0_79,hadoop集群分别部署在三台服务器上,依次命名为master,node1,node2

2.Hadoop配置

Hadoop-HA部署组要修改core-site.xml和hdfs-site.xml两文件

2.1 core-site.xml

配置block大小128M

io.file.buffer.size

131072

配置hadoop文件目录

hadoop.tmp.dir

/home/hadoop/data/tmp

配置hdfs路口

fs.defaultFS

hdfs://cluster1

配置zookeeper地址

ha.zookeeper.quorum

master:2181,node1:2181,node2:2181

2.2 hdfs-site.xml

配置namenode目录

dfs.namenode.name.dir

file:/home/hadoop/data/dfs/name

配置datanode目录

dfs.datanode.data.dir

file:/home/hadoop/data/dfs/data

文件副本数

dfs.replication

2

dfs.webhdfs.enabled

true

HA服务名

dfs.nameservices

cluster1

HA namenode 服务器名

dfs.ha.namenodes.cluster1

hadoop1,hadoop2

配置hadoop1端口 

dfs.namenode.rpc-address.cluster1.hadoop1

master:9000

dfs.namenode.http-address.cluster1.hadoop1

master:50070

dfs.namenode.servicerpc-address.cluster1.hadoop1

master:53310

配置hadoop2端口

dfs.namenode.rpc-address.cluster1.hadoop2

node1:9000

dfs.namenode.http-address.cluster1.hadoop2

node1:50070

dfs.namenode.servicerpc-address.cluster1.hadoop2

node1:53310

HA自动切换配置

dfs.ha.automatic-failover.enabled

true

配置journalnode

dfs.namenode.shared.edits.dir

qjournal://master:8485;node1:8485;node2:8485/cluster1

dfs.client.failover.proxy.provider.cluster1

    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvid        er

配置journalnode目录

dfs.journalnode.edits.dir

/home/hadoop/journalnode/edits

配置ssh

dfs.ha.fencing.methods

sshfence

dfs.ha.fencing.ssh.private-key-files

/home/hadoop/.ssh/id_rsa

3.首次启动hadoop顺序

以下为节点分布图,master,node1,node2为三台服务器

masternode1node2
namenode11
datenode11
Zookeerer(QuorumPeerMain)111
DFSZKFailoverController11
JournalNode111
3.1 node1配置免密到master

详细过程与hadoop分布式部署配置免密登陆一样

3,2 启动zookeeper

在master,node1,node2三台服务器上启动zookeeper

在zookeeper的bin目录下执行以下命令启动zookeeper

./zkService.sh start

查看各台服务器状态

3.3启动journalnode

在master,node1,node2三台服务器上启动journalnode

在hadoop的sbin目录下执行以下命名启动journalnode

./hadoop-daemon.sh start journalnode

3.4 创建命名空间

在master主节点上创建zkfc命名空间(只需在主节点)

在hadoop的bin目录下执行以下命令

./hdfs zkfc -formatZK

3.5 启动两个namenode所在服务器上zkfc

根据节点分布图在master和node1上启动zkfc

在hadoop的sbin目录下执行以下命令启动

./hadoop-daemon.sh start zkfc

3.6 在主节点master上namenode格式化

Master服务器上,在hadoop的bin目录下执行以下命令

./hadoop namenode -format

3.7 启动master上namenode节点

在master上hadoop的sbin目录下执行以下命令

./hadoop-daemon.sh start namenode

3.8 在备namenode节点拷贝主namenode节点格式化文件

在node1服务器hadoop的bin目录下执行以下命令,将主节点格式化文件拷贝过来

./hdfs namenode -bootstrapStandby

3.9 启动备namenode

进入hadoop的sbin目录启动namenode

./hadoop-daemon.sh start namenode

3.10 启动datenode

启动master,node1,node2三台服务器上datanode,进入hadoop的sbin目录启动datenode

./hadoop-daemon.sh start datanode

3.11 总结

以上所有操作为首次启动hadoop的hdfs过程,以后启动hdfs只需 start-dfs.sh或者    start-all.sh命令即可。

4.测试HA部署

分别登陆namenode web端界面,查看namenode状态

master服务器上namenode状态为active

node1服务器上namenode状态为standby

手动切换

将node1切换到master服务器上,执行以下命令

./hadoop-2.2.0/bin/hdfs haadmin -failover  hadoop2 hadoop1

文档

hadoop-HA部署文档

Hadoop-HA部署hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top