hbase分布式集群搭建
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,1500526355333
Caused 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分布式集群搭建的更多相关文章
- HBASE分布式集群搭建(ubuntu 16.04)
1.hbase是依赖Hadoop运行的,因此先确保自己已搭建好Hadoop集群环境 没安装的可以参考这里:https://www.cnblogs.com/chaofan-/p/9740408.html ...
- 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建
一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...
- 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
- hbase完整分布式集群搭建
简介: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop2.8 ha 集群搭建 hbase完整分布式集群搭建 hadoop完整集群遇到问题汇总 Hb ...
- HBase HA分布式集群搭建
HBase HA分布式集群搭建部署———集群架构 搭建之前建议先学习好HBase基本构架原理:https://www.cnblogs.com/lyywj170403/p/9203012.html 集群 ...
- HBase完全分布式集群搭建
HBase完全分布式集群搭建 hbase和hadoop一样也分为单机版,伪分布式版和完全分布式集群版,此文介绍如何搭建完全分布式集群环境搭建.hbase依赖于hadoop环境,搭建habase之前首先 ...
- 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- hadoop伪分布式集群搭建与安装(ubuntu系统)
1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...
随机推荐
- C#中静态和非静态的区别
今天下午面试,HR问道:C#中静态类或静态方法和非静态类静态方法有什么区别?我回答是静态的可以直接调用而非静态的需要实例化.HR说这谁都知道,我问的是本质区别.我当时就郁闷了,我只有8个月的编程经验, ...
- C#利用UdpClient发送广播消息
首先写个接受消息的客户端.这里偷了点懒,new UdpClient(11000)就是用Udp方式侦听11000端口,侦听任何发送到11000端口的消息都会接收到. 代码 : ); Byte[] sen ...
- requests和BeautifulSoup
一:Requests库 Requests is an elegant and simple HTTP library for Python, built for human beings. 1.安装 ...
- MySQL GTIDs(global transaction identifiers)
1.如何定义和生成GTIDs 唯一性:在所有主从库都是唯一的,由二元组构成 每个事务和GTIDs之间都有1:1映射 GTID = source_id:transaction_id source_id标 ...
- node.js安装——Windows7系统下的安装及其环境部署——特别详细
作为一个前端的菜鸟同学,之间也没学过什么框架,目前公司做项目,所用到的webpack+node.js+vue. 首先,关于node的环境部署方面,建议官网安装node.js,最好不要安装非稳定版的版本 ...
- GraphicsMagick的命令行使用示例
GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装.GM更有效率.GM的手册非常丰富GraphicsMagick的命令与I ...
- 《Metasploit魔鬼训练营》第三章
p85 使用nmap探测目标主机的操作系统版本那里有问题,我探测不了NAT服务器的! msf > nmap -sT 10.10.10.254 [*] exec: nmap -sT 10.10.1 ...
- Vim常用操作-合并行。
刚接触 Vim 会觉得它的学习曲线非常陡峭,要记住很多命令.所以这个系列的分享,不会教你怎么配置它,而是教你怎么快速的使用它. 在开发时为了代码美观,经常会把属性用换行的方式显示. <el-di ...
- 4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
跟踪标记:610 功能: 用批量导入操作(Bulk Import Operations)加载数据时,对于索引组织表(即有聚集索引的表) 最小化日志: 上图为simple/bulk-logged恢复模式 ...
- 08-图8 How Long Does It Take
原题: Given the relations of all the activities of a project, you are supposed to find the earliest co ...