问题导读: 0、了解常规JDK安装以及Linux系统配置 1、了解集群规划以及集群场景 2、熟悉HBase的集群搭建 3、熟悉ZooKeeper集群搭建 4、熟悉Hadoop2.6.0版本HA集群搭建 5、验证HBase、ZooKeeper、Hadoop等集群运行情况 参考 :Hadoop2.4的ResourceManager HA高可用配置 hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.6.0又增加了YARN HA 注意:apache提供的hadoop-2.6.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库, 所以如果在64位的操作上安装hadoop-2.6.0就需要重新在64操作系统上重新编译 (64位系统hadoop2.6.0编译前准备工作,请参考:Hadoop-2.6.0在Centos6.5 64位系统编译前准备工作 ) 1.修改Linux主机名 2.修改IP 3.修改主机名和IP的映射关系 ######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等) /etc/hosts里面要配置的是内网IP地址和主机名的映射关系 4.关闭防火墙 5.ssh免登陆 6.安装JDK,配置环境变量等 集群规划: 主机名 IP 安装的软件 运行的进程
说明: 1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。 2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调 安装步骤:1.安装配置zooekeeper集群(在Slave4上) 1.1解压
1.2修改配置
修改:
在最后添加:
保存退出 然后创建一个tmp文件夹
再创建一个空文件
最后向该文件写入ID
1.3将配置好的zookeeper拷贝到其他节点(首先分别在Slave5、Slave6根目录:/usr/local/)
注意:修改Slave5、Slave6对应/usr/local/zookeeper/zkData/myid内容
2.安装配置hadoop集群(在Master上操作) 2.1解压
2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目录下) #将hadoop添加到环境变量中
#hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
2.2.1修改hadoo-env.sh
2.2.2修改core-site.xml
2.2.3修改hdfs-site.xml
2.2.4修改mapred-site.xml
2.2.5修改yarn-site.xml
2.2.6修改slaves(slaves是指定子节点的位置,因为要在Master上启动HDFS、在Slave2启动yarn,所以Master上的slaves文件指定的是datanode的位置,slave2上的slaves文件指定的是nodemanager的位置)
2.2.7配置免密码登陆 #首先要配置Master到Slave1、Slave2、Slave3、Slave4、Slave5、Slave6的免密码登陆 #在Master上生产一对钥匙
#将公钥拷贝到其他节点,包括自己
#配置Slave2到Slave3、Slave4、Slave5、Slave6的免密码登陆 #在Slave2上生产一对钥匙
#将公钥拷贝到其他节点
#注意:两个namenode之间要配置ssh免密码登陆,别忘了配置Slave1到Master的免登陆 在Slave1上生产一对钥匙
#在Slave3上生产一对钥匙
#将公钥拷贝到其他节点
2.4将配置好的hadoop拷贝到其他节点
###注意:严格按照下面的步骤 2.5启动zookeeper集群(分别在Slave4、Slave5、Slave6上启动zk)
#查看状态:一个leader,两个follower
2.6启动journalnode(分别在Slave4、Slave5、Slave6上执行)
#运行jps命令检验,Slave4、Slave5、Slave6上多了JournalNode进程 2.7格式化HDFS #在Master上执行命令:
#格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/usr/local/hadoop-2.6.0/tmp, 然后将/usr/local/hadoop-2.6.0/tmp拷贝到Slave1的/usr/local/hadoop-2.6.0/下。
2.8格式化ZK(在Master上执行即可)
2.9启动HDFS(在Master上执行)
2.10启动YARN(#####注意#####:是在Slave2上执行start-yarn.sh,把namenode和resourcemanager分开是因为性能问题,因为他们都要占用大量资源,所以把他们分开了,他们分开了就要分别在不同的机器上启动)
到此,hadoop-2.6.0配置完毕,可以统计浏览器访问:
验证HDFS HA 首先向hdfs上传一个文件
然后再kill掉active的NameNode
通过浏览器访问:http://192.168.80.101:50070 NameNode 'Slave1:9000' (active) 这个时候Slave1上的NameNode变成了active 在执行命令:
刚才上传的文件依然存在!!! 手动启动那个挂掉的NameNode
通过浏览器访问:http://192.168.80.101:50070
验证YARN: 运行一下hadoop提供的demo中的WordCount程序:
hadoop HA集群搭建完成 hbase-0.98.9-hadoop2 搭建 4.1 解压缩,并重命名
修改环境变量:
保存,退出。 执行 source /etc/profile 生效 4.1 修改HBase的配置文件#HBASE_HOME/conf/hbase-env.sh 修改内容如下:
保存,退出。 4.2 修改HBase的配置文件#HBASE_HOME/conf/hbase-site.xml,修改内容如下:
注意:$HBASE_HOME/conf/hbase-site.xml的hbase.rootdir的主机和端口号与$HADOOP_HOME/conf/core-site.xml的fs.default.name的主机和端口号一致 4.3 (可选)文件 regionservers 的内容修改为Master. 4.4 执行目录到../bin ,执行命令 start-hbase.sh ******启动hbase之前,确保hadoop是运行正常的。并且可以写入文件。 4.5 验证:(1)执行jps,发现新增加了3个Havana进程,分别是HMaster、HRegionServer、HQuorumPeer (HQuorumPeerMain 是ZooKeeper的进程 ) 备注:启动HBase时,请先执行 /usr/local/zookeeper/bin zkServer.sh stop 停止ZooKeeper的进程,以免hbase启动失败。 (2)通过浏览器查看: http://masters:60010 5.HBase的集群安装(在原来的Master上的hbase伪分布基础上搭建): 5.1 集群结构,主节点(hmaster)是Master,从节点(region server)是Slave1,Slave2,Slave3. 5.2 修改hadoop0上的hbase的几个文件 (1)修改hbase-env.sh 最后一行 export HBASE_MANAGES_ZK=false. (2)修改hbase-site.xml文件的hbase.zookeeper.quorum的值为Master,Slave1,Slave2,Slave3 。 (3)修改regionservers文件(存放的 region server的hostname),内容修改成Slave1,Slave2,Slave3 。 5.3 复制Master中的hbase到Slave1,Slave2,Slave3的对应目录下,并复制、Master 的/etc/profile文件到hadoop1 、hadoop2 中。
5.4 在HA集群中,首先各个节点启动ZooKeeper集群,其次 Master中启动hadoop集群,最后在Master上启动hbase集群。 6.测试Hbase是否启动正常: 1) 在Master主机中执行jps,查看进程。会新增一个 HMaster 进程 2) 在regionserver 中执行 jps,新增 HRegionServer。 7.执行hbase脚本命令:
|
HBase+ZooKeeper+Hadoop2.6.0的ResourceManager HA集群高可用配置
最新推荐文章于 2022-07-12 15:50:51 发布