hbase-2.0.4集群部署

1. 集群节点规划:

rzx1	HMaster,HRegionServer
rzx2 HRegionServer
rzx3 HRegionServer

前提:搭建好hadoop集群

2. 在rzx1节点上配置执行环境的JAVA_HOME和是否利用自带Zookeeper

在hbase目录下:vim conf/hbase-env.sh

export JAVA_HOME=/home/bigdata/software/jdk1.8.0_201
export HBASE_MANAGES_ZK=false ##不使用自带Zookeeper

其他配置参数在配置开发测试集群使用默认,生产环境根据数据量而定配置

3. 在rzx1节点上配置hbase在HDFS上存储的路径和外部zookeeper地址

在hbase目录下:vim conf/ hdfs-site.xml

<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://rzx1:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>rzx1,rzx2,rzx3</value>
</property>
</configuration>

注意在配置zk的时候只配置域名或IP就可以了,不要配置端口如rzx1:2181这样配置虽然对zookeeper启动没有任何影响,但是之后如果搭建kylin集群会报错的

4. 将hadoop etc/hadoop下的core-site.xml,hdfs-site.xml复制到hbase conf/下

在hbase目录下(hbase和hadoop同级目录)

cp  ../hadoop-2.7.7/etc/hadoop/core-site.xml  conf/
cp ../hadoop-2.7.7/etc/hadoop/core-site.xml conf/

因为hbase的数据本质上存储在hdfs的,且hbase执行引擎是MapReduce

5. 配置HRegionServer,修改 regionservers文件

在hbase目录下:vim conf/regionservers

rzx1
rzx2
rzx3

如果想rzx1上只是HMaster,则配rzx2,rzx3即可

6. 在主节点rzx1上将配置好的hbase目录scp到rzx2,rzx3上

在hbase目录的上层目录下:

scp  -r  hbase-2.0.4 root@rzx1:/home/bigdata/software/
scp -r hbase-2.0.4 root@rzx2:/home/bigdata/software/

7. 在三个节点上都配置hbase环境变量

前提:已经配置好java, hadoop, hive,zookeeper环境变量

vim ~/.bashrc添加:

export HBASE_HOME=/home/bigdata/software/hbase-2.0.4
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZK_HOME/bin:$KAFKA_HOME/bin:$HBASE_HOME/bin:$HCAT_HOME/bin:$KYLIN_HOME/bin:$PATH

8. 在主节点上启动hbase

前提:已经正确启动zookeeper集群

start-hbase.sh

9. jps查看进程

rzx1节点上应该有: HMaster, HRegionServer这两个进程

rzx2,rzx3节点上只有HRegionServer一个进程

10. 启动无误后可以访问hbase web UI界面: http://rzx1:16010/master-status

主要查看ServerName是否和预期一致,也就是配置的HRegionServer

说明:这里只是简易的开发测试集群搭建配置,实际数据量过大的生产环境配置可能相对复杂些

最新文章

  1. 剑指Offer面试题:35.将字符串转换为数字
  2. 《JS语言精粹》学习笔记 函数部分の闭包
  3. 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)
  4. .Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现电子签名功能
  5. [Head First设计模式]生活中学设计模式——状态模式
  6. SSH登录远程主机执行脚本找不到环境变量
  7. J2EE学习(2)--何謂容器【良葛格学习笔记搬】
  8. HOWTO - Basic MSI安装包在安装运行过程中如何获取完整源路径
  9. Basic motion detection and tracking with Python and OpenCV
  10. c# 操作xml题目
  11. Backbone学习笔记
  12. Python字符串处理NoneType的处理
  13. Spring包的方法WebUtils.getParametersStartingWith(request,String)
  14. 用for循环遍历DataTable中的数据
  15. Cocos2d-x 3.0final 终结者系列教程01-无论是从cocos2d-x2.x升级到版本cocos2d-x3.x
  16. Unofficial Microsoft SQL Server Driver for PHP (sqlsrv)非官方的PHP SQL Server 驱动
  17. 干货分享:让你分分钟学会 javascript 闭包(转)
  18. C# 图片识别
  19. 小容量的byteBuffer 读取大文本
  20. 【dp】P1434 [SHOI2002]滑雪

热门文章

  1. git 初始化提交项目
  2. Mysql中存储过程和函数的写法
  3. 【leetcode】519. Random Flip Matrix
  4. Ceph介绍及原理架构分享
  5. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
  6. &lt;Jmeter入门不放弃&gt;之&lt;2.常用功能&gt;
  7. 巴厘岛的雕塑(sculptures)
  8. 团队冲刺DAY5
  9. 20175223 《Java程序设计》第十一周学习总结
  10. 为什么要用getBaseContext()方法代替this?(转)