HBase 安装(分布式)_skybin090804-ChinaUnix博客
HBase 安装(分布式)
(2012-01-11 16:06)安装包:
公司本地:http://192.168.1.3/hbase/hbase-0.90.5.tar.gz
官网下载:http://www.apache.org/dyn/closer.cgi/hbase/
官网的安装步骤:单机模式、伪分布式、分布式,但安装步骤比较简单,本次记录的是分布式安装。
hbase-0.90.5据官网文档说吻合hadoop-0.2x版本
安装步骤:
PS:前提已安装了jdk和hadoop;本人环境是hadoop-0.21 ; 可以独立安装zookeeper,但本次安装中使用hbase中
自带服务进行运行。
1. cd /data && wget http://192.168.1.3/hbase/hbase-0.90.5.tar.gz
2. tar -zxvf hbase-0.90.5.tar.gz && chown -R hadoop:hadoop hbase-0.90.5 (我hadoop环境和hive环境都是运行
在hadoop用户和组上,所以为了统一也把hadoop运行在hadoop用户上)
3. 修改hbase-env.sh 设置相应的环境变量
jdk环境变量: export JAVA_HOME=/usr/java/jdk1.6.0_21/
日志环境变量: export HBASE_LOG_DIR=${HBASE_HOME}/log/hbase
如果启动的时候发现寻找不了HBASE_HOME可以添加 export HBASE_HOME=/data/hbase-0.90.5
打开zk管理: export HBASE_MANAGES_ZK=true
4. 修改hbase-site.xml,配置hbase
配置hbase中在hadoop的根路径
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-29-63:9000/hbase</value>
<description>The directory shared by region servers.</description>
</property>
打开集群模式
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the cluster will be in. Possible values are
false: standalone and pseudo-distributed setups with managed Zookeeper
true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
</description>
</property>
hbase.cluster.distributed设置为true,表明是完全分布式的hbase集群
配置hbase所使用端口
<property>
<name>hbase.master</name>
<value>hdfs://hadoop-29-63:60000</value>
</property>
配置多路zookeeper,官网提示的个数最好为奇数(3,5,7)
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-29-74,hadoop-29-86,hadoop-29-115</value>
<description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com". By default this is set to localhost for local and pseudo-distributed modes of operation. For a fully-distributed setup, this should be set to a full list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we will start/stop ZooKeeper on.
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/log/zookeeper</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
5. 编辑regionservers文件,设置regionservers的服务器,和hadoop的slaves一样即可
6. 将本机已配置好的hbase,整个打一一个包,传输到其它各个节点中。
7. 启动hbase
${HBASE_HOME}/bin/start-hbase.sh (停止为${HBASE_HOME}/bin/stop-hbase.sh)
------------------------------------------------------------------------------------
Hbase默认只有一个Master,我们可以也启动多个Master:
${HBASE_HOME}/bin/hbase-daemon.sh start master
不过,其它的Master并不会工作,只有当主Master down掉后其它的Master才会选择接管Master的工作
------------------------------------------------------------------------------------
启动中可能出现这样的问题:
org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)
hadoop 与 hbase版本兼容问题
我是这样解决的:
把/data/hadoop-0.20.2/hadoop-0.20.2-core.jar /data/hbase-0.90.5/lib/hadoop-core-0.20-append-r1056497.jar 进行复制
(复制前可以备份一下被覆盖的jar包),copy过来后,记得文件的权限用户归属的也要和前jar包一样。
然后重启,就可以让hbase正常运行。
8.登录hbase
/data/hbase-0.90.5/bin/hbase shell
见到如上见面可以说明你的hbase安装成功
http://192.168.29.63:60010/master.jsp 通过连点查看信息
通过http://192.168.239.63:60010/zk.jsp 查看zookeeper信息博客推荐文章