hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。

hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前需要先看我的上一篇文章:hadoop分布式集群搭建。本文中没有按照独立的zookeeper,使用了hbase自带的zookeeper。

环境准备

  • hbase软件包: http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
  • 完成hadoop集群环境搭建

安装hbase

首先在hadoop-master安装配置好之后,在复制到从节点

wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
#解压
tar -xzvf hbase-1.3.1-bin.tar.gz  -C /usr/local/
#重命名
mv hbase-1.3.1 hbase

配置环境变量vim /etc/profile

#内容
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
#使立即生效
source /etc/profile

修改系统变量ulimit

ulimit -n 10240

配置文件

hbase 相关的配置主要包括hbase-env.sh、hbase-site.xml、regionservers三个文件,都在 /usr/local/hbase/conf目录下面:

配置hbase-env.sh

vim hbase-env.sh
#内容
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
export HBASE_CLASSPATH=/usr/local/hbase/conf
# 此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/usr/local/hbase
export HADOOP_HOME=/usr/local/hadoop
#Hbase日志目录
export HBASE_LOG_DIR=/usr/local/hbase/logs

配置 hbase-site.xml

<configuration><property><name>hbase.rootdir</name><value>hdfs://hadoop-master:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.master</name><value>hadoop-master:60000</value></property><property><name>hbase.zookeeper.quorum</name><value>hadoop-master,hadoop-slave1,hadoop-slave2,hadoop-slave3</value></property>
</configuration>

配置regionservers

vim /usr/local/hbase/conf/regionservers
hadoop-master
hadoop-slave1
hadoop-slave2
hadoop-slave3

复制hbase到从节点中

scp -r /usr/local/hbase hadoop-slave1:/usr/local/
scp -r /usr/local/hbase hadoop-slave2:/usr/local/
scp -r /usr/local/hbase hadoop-slave3:/usr/local/

启动hbase

启动仅在master节点上执行即可

~/hbase/bin/start-hbase.sh

启动后,master上进程和slave进程列表

master中的信息

[hadoop@master ~]$ jps
6225 Jps
2897 SecondaryNameNode   # hadoop进程
2710 NameNode            # hadoop master进程
3035 ResourceManager     # hadoop进程
5471 HMaster             # hbase master进程
2543 HQuorumPeer         # zookeeper进程

salve中的信息

[hadoop@slave1 ~]$ jps
4689 Jps
2533 HQuorumPeer          # zookeeper进程
2589 DataNode             # hadoop slave进程
4143 HRegionServer        # hbase slave进程

因为hbase依赖于hadoop,因此启动和停止都是需要按照顺序进行

如果安装了独立的zookeeper

启动顺序: hadoop-> zookeeper-> hbase
停止顺序:hbase-> zookeeper-> hadoop

使用自带的zookeeper

启动顺序: hadoop-> hbase
停止顺序:hbase-> hadoop

重启hbase

~/hbase/bin/stop-hbase.sh
~/hadoop/sbin/stop-all.sh
~/hadoop/sbin/start-all.sh
~/hbase/bin/start-hbase.sh

错误处理

在搭建的过程中,报了这么一个错误,错误信息如下:

Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop-slave3,16020,1500526355333Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.ClockOutOfSyncException):   org.apache.hadoop.hbase.ClockOutOfSyncException:       Server hadoop-slave3,16020,1500526355333 has been rejected; Reported time is too far out of sync with  master.  Time difference of 77348ms > max allowed of 30000ms

看大概的意思是主节点连接从节点超时了。可能有两方面的原因,第一、linux服务器时间不一致导致,第二、由于网络其它原因导致连接的时间超长。

解决方案:

第一个原因,修改各服务器时间保持一致。最终的解决方案是:设置一个定时使用ntp从某个服务器定时同步时间

查看定时
crontab -l
编辑
crontab -e
# 内容
0 */1 * * *  /usr/sbin/ntpdate 192.168.0.12;/sbin/hwclock -w

手动执行

#从 0.12同步时间
/usr/sbin/ntpdate 192.168.0.12

第二个原因,可以修改hbase默认的最大链接时间长一些。

HBase配置文件hbase-siter.xml中添加连接时长的属性

<property><name>hbase.master.maxclockskew</name><value>120000</value></property>

参考:
centos 6.4下hbase 1.0.1 分布式集群搭建

hbase分布式集群搭建相关推荐

  1. HBase 分布式集群搭建手记

    摘要 由于HBase的数据是存放在HDFS上的,HBase依赖于Hadoop环境,搭建HBase集群环境前需要搭建好Hadoop集群环境,并且这里使用独立的Zookeeper进行集群管理,所以也需要单 ...

  2. hbase完整分布式集群搭建

    简介: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop2.8 ha 集群搭建 hbase完整分布式集群搭建 hadoop完整集群遇到问题汇总 Hb ...

  3. 大数据分布式集群搭建(1)

    在学习了几天的hadoop分布式集群搭建之后想写写文章记录一下一路以来遇到的困难和解决方案. 闲话不多说,进入正题. 一.环境及准备 因为只有一台电脑,所以需要用虚拟机来模拟环境. 本地机器用到软件: ...

  4. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  5. 聊聊 Pulsar: Pulsar 分布式集群搭建

    一.集群搭建要求 1.1 搭建设计 搭建 Pulsar 集群至少需要 3 个组件:ZooKeeper 集群.Bookkeeper 集群和 Broker 集群(Broker 是 Pulsar 的自身实例 ...

  6. Hadoop完全分布式集群搭建详细图文教程

    本文所使用的环境及版本: CentOS Linux release 7.9.2009 (Core) jdk1.8.0_291 hadoop-3.2.2 一.安装模板机 1.安装CentOS 7.9并配 ...

  7. 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试

    目录 Airflow分布式集群搭建及测试 一.节点规划 二.airflow集群搭建步骤 1.在所有节点安装python3.7 2.在所有节点上安装airflow 三.初始化Airflow 1.每台节点 ...

  8. hadoop分布式集群搭建

    hadoop集群搭建前的准备(一定要读):https://blog.51cto.com/14048416/2341450 hadoop分布式集群搭建: 1. 集群规划: 2.具体步骤: (1)上传安装 ...

  9. zookeeper伪分布式集群搭建

    zookeeper集群搭建注意点: 配置数据文件myid1/2/3对应server.1/2/3 通过zkCli.sh -server [ip]:[port]检测集群是否配置成功. 第一步:首先我们将我 ...

最新文章

  1. 51CTO完成B轮融资,围绕1400万社区用户的IT学习平台要怎么做?
  2. CRNN维度变换的解释这样你也可以自定义CRNN了
  3. Android下资源图片的加密和解密
  4. in an effort to
  5. python的一些常用操作
  6. 聊聊 MySql 索引那些事儿
  7. 网关、负载均衡、服务注册发现什么关系?
  8. 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序
  9. 网盘工具比较,以及自己开发的网盘工具[转]
  10. 单选框 RadioButton 1130
  11. linux删除系统环境变量,Linux系统添加、修改、删除PATH环境变量
  12. 获取hdfs_收好!Hadoop-HDFS读写原理的超详细教程
  13. Python+sklearn使用逻辑回归算法预测期末考试能否及格
  14. jquery的ajax异步请求接收返回json数据
  15. html如何消除空格字符串,jquery如何去除字符串的空格
  16. 通信电子电路实验(三)——高频电容反馈型LC振荡器的设计与仿真
  17. 腾讯新闻 React 同构直出优化实践
  18. 区块链报告会心得体会3000_区块链讲座观后感6
  19. TSCH协议及WIA-PA系统芯片
  20. 随着国产动漫的崛起,越来越好奇3D动漫的制作过程了

热门文章

  1. Aqua - Mac OS X平台的用户界面(user interface)
  2. 【数据库原理】滨江学院姜青山 期末试卷知识点笔记整理 南京信息工程大学
  3. 记HTML5 a 标签的一个小坑 1
  4. mui mui.plusReady() 事件中的变量问题;
  5. TP-Link 开始锁定路由器固件禁止安装开源固件
  6. bzoj1179[Apio2009]Atm
  7. 从0开始写JavaWeb框架系列(1)从0开始写SamrtFrameWork:读取配置文件
  8. [译]其实闭包并不高深莫测
  9. 2011年8月5日星期五
  10. oracle查询表在库中所占空间(表名所有字母必须大写‘table_name’)