博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hbase分布式集群搭建
阅读量:5789 次
发布时间:2019-06-18

本文共 3421 字,大约阅读时间需要 11 分钟。

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

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

环境准备

  • hbase软件包:
  • 完成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/hbaseexport 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_64export HBASE_CLASSPATH=/usr/local/hbase/conf# 此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。export HBASE_MANAGES_ZK=trueexport HBASE_HOME=/usr/local/hbaseexport HADOOP_HOME=/usr/local/hadoop#Hbase日志目录export HBASE_LOG_DIR=/usr/local/hbase/logs

配置 hbase-site.xml

hbase.rootdir
hdfs://hadoop-master:9000/hbase
hbase.cluster.distributed
true
hbase.master
hadoop-master:60000
hbase.zookeeper.quorum
hadoop-master,hadoop-slave1,hadoop-slave2,hadoop-slave3

配置regionservers

vim /usr/local/hbase/conf/regionservershadoop-masterhadoop-slave1hadoop-slave2hadoop-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 ~]$ jps6225 Jps2897 SecondaryNameNode   # hadoop进程2710 NameNode            # hadoop master进程3035 ResourceManager     # hadoop进程5471 HMaster             # hbase master进程2543 HQuorumPeer         # zookeeper进程

salve中的信息

[hadoop@slave1 ~]$ jps4689 Jps2533 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中添加连接时长的属性

hbase.master.maxclockskew
120000

参考:

转载地址:http://yoqyx.baihongyu.com/

你可能感兴趣的文章
花钱删不完负面消息
查看>>
JBPM之JPdl小叙
查看>>
Membership三步曲之进阶篇 - 深入剖析Provider Model
查看>>
前端优化及相关要点总结
查看>>
struts2中form提交到action中的中文参数乱码问题解决办法(包括取中文路径)
查看>>
25 个精美的手机网站模板
查看>>
C#反射实例应用--------获取程序集信息和通过类名创建类实例
查看>>
VC中实现文字竖排的简单方法
查看>>
会话标识未更新
查看>>
阿里架构师:程序员必须掌握的几项核心技术能力
查看>>
程序员常用的六大技术博客类
查看>>
Iceworks 2.8.0 发布,自定义你的 React 模板
查看>>
胖哥学SpringMVC:请求方式转换过滤器配置
查看>>
Kotlin 更加优雅的 Builder - 理解 with
查看>>
前端日拱一卒D6——字符编码与浏览器解析
查看>>
深入理解浏览器的缓存机制
查看>>
微软向Linux社区开放60000多项专利:对开源微软是认真的
查看>>
Hoshin Kanri在丰田的应用
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>
克服大数据集群的挑战
查看>>