hbase完全分布式安装与配置

标签: hbase 完全 分布 | 发表时间:2014-10-12 18:30 | 作者:hwwn2009
出处:http://blog.csdn.net

1.环境说明

hbase 完全分布式安装,2个节点,分别为:
192.168.1.67 MasterServer (作为hbase的master和regionserver节点[可选])
192.168.1.241 SlaveServer  (作为hbase的regionserver节点)

2.先决条件
安装hadoop,具体安装见: http://blog.csdn.net/hwwn2009/article/details/39889465

安装zookeeper,因为要使用独立的zookeeper集群,具体安装见: http://blog.csdn.net/hwwn2009/article/details/40000881


3.安装Hbase

1)下载,注意要与hadoop版本兼容,且选择稳定版较好

wget http://mirrors.hust.edu.cn/apache/hbase/hbase-0.98.5/hbase-0.98.5-hadoop2-bin.tar.gz
2)解压

tar -zxvf hbase-0.98.5-hadoop2-bin.tar.gz 
3)修改conf/hbase-site.xml文件

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://MasterServer:9000/hbase</value>
 </property>
 <property>
   <name>hbase.cluster.distributed</name>
   <value>true</value> 
 </property>
 <property>
   <name>hbase.master</name>
   <value>hdfs://MasterServer:60000</value>
 </property>
 <property>
   <name>hbase.zookeeper.quorum</name>
   <value>MasterServer,SlaveServer</value> 
 </property>
4)修改conf/regionservers文件

MasterServer
SlaveServer
注:如果不想将MasterServer作为HRegionServer,就去掉MasterServer

5)修改conf/hbase-env.sh文件

export JAVA_HOME=/usr/lib/jvm/jdk1.6/jdk1.6.0_27
export HBASE_MANAGES_ZK=false  #启动指定的ZooKeeper,而非自带的ZooKeeper。
export HBASE_HOME=/home/hadooper/hadoop/hbase-0.98.5
export HADOOP_HOME=/home/hadooper/hadoop/hadoop-2.5.1


4.将配置好的hbase复制到其它节点

scp -r hbase-0.98.5 hadooper@SlaveServer:~/hadoop/

5.修改各节点Hadoop的hdfs-site.xml文件

<property> 
    <name>dfs.datanode.max.xcievers</name> 
    <value>4096</value> 
</property>
注:该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256。


6.测试

启动顺序是:Hadoop->zookeeper->hbase;停止顺序:hbase->zookeeper->hadoop。
1)启动hbase

bin/start-hbase.sh
2)jps查看进程

①主节点MasterServer

8428 JobHistoryServer
4048 QuorumPeerMain
18234 Jps
15482 HMaster
30357 NameNode
15632 HRegionServer
30717 ResourceManager
30563 SecondaryNameNode

②从节点SlaveServer

9340 QuorumPeerMain
11991 HRegionServer
19375 DataNode
13706 Jps
19491 NodeManager

3)进入hbase shell

bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.98.5-hadoop2, rUnknown, Mon Aug  4 23:58:06 PDT 2014
4)查看集群状态

hbase(main):001:0> status
2 servers, 0 dead, 1.5000 average load

5)建表测试

hbase(main):002:0> create 'test','id'
0 row(s) in 1.3530 seconds

=> Hbase::Table - test
hbase(main):003:0> list
TABLE                                                                                             
member                                                                                            
test                                                                                              
2 row(s) in 0.0430 seconds

=> ["member", "test"]
6)网页查看集群状态


如果以上都没问题,恭喜,安装配置完成。

转载请注明: http://blog.csdn.net/hwwn2009/article/details/40015907


7.遇到的问题

1)Q:从节点jps时,看不到HRegionServer,且status时,显示只有一个servers:1 servers。即从节点的hbase没有启动起来。

A:查看log日志

2014-10-12 14:29:38,147 WARN  [regionserver60020] zookeeper.RecoverableZooKeeper: Node /hbase/rs/SlaveServer,60020,1413095376898 already deleted, retry=false
2014-10-12 14:29:38,147 WARN  [regionserver60020] regionserver.HRegionServer: Failed deleting my ephemeral node
org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/rs/SlaveServer,60020,1413095376898
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
	at org.apache.zookeeper.ZooKeeper.delete(ZooKeeper.java:873)
	at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.delete(RecoverableZooKeeper.java:156)
	at org.apache.hadoop.hbase.zookeeper.ZKUtil.deleteNode(ZKUtil.java:1273)
	at org.apache.hadoop.hbase.zookeeper.ZKUtil.deleteNode(ZKUtil.java:1262)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.deleteMyEphemeralNode(HRegionServer.java:1298)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:1012)
	at java.lang.Thread.run(Thread.java:662)
2014-10-12 14:29:38,158 INFO  [regionserver60020] zookeeper.ZooKeeper: Session: 0x249020a2cfd0014 closed
2014-10-12 14:29:38,158 INFO  [regionserver60020-EventThread] zookeeper.ClientCnxn: EventThread shut down
2014-10-12 14:29:38,158 INFO  [regionserver60020] regionserver.HRegionServer: stopping server null; zookeeper connection closed.
2014-10-12 14:29:38,158 INFO  [regionserver60020] regionserver.HRegionServer: regionserver60020 exiting
2014-10-12 14:29:38,158 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting
java.lang.RuntimeException: HRegionServer Aborted
	at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:66)
	at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:85)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2422)
2014-10-12 14:29:38,160 INFO  [Thread-9] regionserver.ShutdownHook: Shutdown hook starting; hbase.shutdown.hook=true; fsShutdownHook=org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@8d5aad
2014-10-12 14:29:38,160 INFO  [Thread-9] regionserver.ShutdownHook: Starting fs shutdown hook thread.
2014-10-12 14:29:38,160 INFO  [Thread-9] regionserver.ShutdownHook: Shutdown hook finished.
由于集群时间未同步,造成从节点没能启动。

在每个节点上运行ntp即可

ntpdate asia.pool.ntp.org
也可永久改变,见:http://jingyan.baidu.com/article/48206aeae2e919216ad6b334.html

2)Q:进入hbase shell后,提示

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
A:发生jar包冲突,删除hbase中的即可

 rm lib/slf4j-log4j12-1.6.4.jar
转载请注明: http://blog.csdn.net/hwwn2009/article/details/40015907

作者:hwwn2009 发表于2014-10-12 10:30:27 原文链接
阅读:7 评论:0 查看评论

相关 [hbase 完全 分布] 推荐:

HBase入门笔记(四)--完全分布式HBase集群安装配置

- - 学着站在巨人的肩膀上
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库. 它是面向列的,并适合于存储超大型松散数据. HBase适合于实时,随机对Big数据进行读写操作的业务环境. 关于HBase的更多介绍请参见 HBase项目官网.     本文环境与上一讲-- 完全分布式Hadoop集群配置一致.

hbase完全分布式安装与配置

- - CSDN博客系统运维推荐文章
hbase 完全分布式安装,2个节点,分别为:. 192.168.1.67 MasterServer (作为hbase的master和regionserver节点[可选]). 192.168.1.241 SlaveServer  (作为hbase的regionserver节点). 安装hadoop,具体安装见: http://blog.csdn.net/hwwn2009/article/details/39889465.

分布式集群环境hadoop、hbase、zookeeper搭建(全)

- - CSDN博客云计算推荐文章
集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下:. 三个节点均使用centos 6.3系统,为了便于维护,集群环境配置项最好使用相同用户名、用户密码、相同hadoop、hbase、zookeeper目录结构.

HBase – 基于Hadoop的分布式数据库

- - ITeye博客
  修改:dataDir=/home/ysc/zookeeper. mkdir /home/ysc/zookeeper(注:dataDir是zookeeper的数据目录,需要手动创建). hbase存在系统时间同步的问题,并且误差要再30s以内. HBase是数据库,会在同一时间使用很多的文件句柄,大多数linux系统使用的默认值1024是不能满足的,还需要修改 hbase 用户的nproc,在压力很大的情况下,如果过低会造成 OutOfMemoryError异常.

非关系性分布式数据库:HBase

- - 标点符
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”. 就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.

基于HBase构建可伸缩的分布式事务队列

- - 数据库 - ITeye博客
一个实时流处理框架通常需要两个基础架构:处理器和队列. 处理器从队列中读取事件,执行用户的处理代码,如果要继续对结果进行处理,处理器还会把事件写到 另外一个队列. 队列做为处理器之间的缓冲,传输数据和事件,这样处理器可以单独操作和扩展. 例如,一个web 服务访问日志处理应用,可能是这样的:. 框架之间的主要区别在于队列语义,通常不同之处有以下几点:.

Apache HBase v1.0 发布,分布式数据库

- - 开源中国社区最新新闻
Apache HBase v1.0 发布了,这是 HBase 一个主要的里程碑. 1.0 版本经过 7 年的开发,有超过 1500 次的更改和升级. 与上一个版本 0.98.0 比较,1.0 版本值得关注的改进有:. 性能提升,同时保持之前的稳定性. 全新 API 以及重新组织客户端 API. 新的可用性保证 —— 用时间表一致地区副本读取可用性.

hbase介绍

- AreYouOK? - 淘宝数据平台与产品部官方博客 tbdata.org
hbase是bigtable的开源山寨版本. 是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统. 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作). 主要用来存储非结构化和半结构化的松散数据.

Riak对比HBase

- - NoSQLFan
文章来自 Riak官方wiki,是一篇Riak与HBase的对比文章. Riak官方的对比通常都做得很中肯,并不刻意偏向自家产品. 对比的Riak版本是1.1.x,HBase是0.94.x. Riak 与 HBase 都是基于 Apache 2.0 licensed 发布. Riak 的实现是基于 Amazon 的 Dynamo 论文,HBase 是基于 Google 的 BigTable.

[转]HBase简介

- - 小鸥的博客
   Hbase是一个分布式开源数据库,基于Hadoop分布式文件系统,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能. 其目标是处理非常庞大的表,可以用普通的计算机处理超过10亿行数据,并且有数百万列元素组成的数据表. Hbase可以直接使用本地文件系统或者Hadoop作为数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥Hbase处理大数据量等功能,需要使用Hadoop作为文件系统.