Hbase1.1.0.1配置集群

时间:2024-08-05 17:35:20

参考链接 http://wuyudong.com/archives/119?utm_source=tuicool

参考链接 http://www.cnblogs.com/archimedes/p/4531330.html

需要注意的地方:

首先要将conf/hbase-env.sh 参数配置本地启动为false (必须明确为false ,如果仅仅注释还是有问题)

export HBASE_MANAGES_ZK=false 

   zookeeper 按照下面的顺序配置是需要先安装zookeeper的,因为hbase1.0以后是需要另外先安装zookeeper的;

      hadoop2.6和zookeeper3.4.6,hbase1.1.0.1是可以完全兼容的,不存在版本覆盖的问题,如果有提示,那就是配置错误,要细心检查参数;

      每个主机的/hosts/里面的包括127.0.0.1这样的等等....要如数删除,不如zookeeper 可能会去寻找新IP,容易出问题,只要留下Master和相关节点;如

      192.168.2.35  Master

      192.168.2.36  Slave1

      192.168.2.37   Slave2

     

       

1.下载地址为hbase-1.1.0.1-bin.tar.gz,总共98.1M,zookeeper 版本是3.4.6(zookeeper +hadoop 集群配置请查看http://www.cnblogs.com/canyangfeixue/p/4607120.html),官网下载当前3.4.6版本,

hadoop 为2.6.0版(集群配置过程请查看http://www.cnblogs.com/canyangfeixue/p/4576415.html).

2.在3台机器上配置的hadoop集群,Master:192.168.2.35, Slave1:192.168.2.36,Slave2:192.168.2.37 .我在Master机器上解压hbase-1.1.0.1-bin.tar.gz至/usr/local/目录下

tar -zxvf hbase-1.1.0.1-bin.tar.gz 

3.配置环境变量,sudo vim /etc/profile,有人用/.bashrc 配置,也可以吧,不过我喜欢在profile里面,添加HBase 解压目录,path路径(path 和原来的hadoop 和jdk 的path 路径不必要放在一个path):

export HBASE_HOME=/usr/local/hbase-1.1.0.1

export PATH=$HBASE_HOME/bin:$PATH

进入conf 目录下面的,hbase-env.sh和hbase-site.xml,在hbase-env.sh里面添加jdk 安装路径

export JAVA_HOME=/usr/local/jdk1.7.0_80

在hbase-site.xml里面添加以下内容:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://Master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Master,Slave1,Slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper-3.4.6</value>
</property>
</configuration>

修改regionservers,将文件内容设置为:

Master
Slave1
Slave2

到这里本地的HBase环境安装完成,cd /usr/local/hbase-1.1.0.1 ,分别发送到2个slave的home/hadoop/目录下(因为直接复制到/usr/local/的权限不足),命令分别如下:

scp -r 192.168.2.36: /home/hadoop/
scp -r 192.168.2.37: /home/hadoop/

然后ssh进入每台机器,将hbase-1.1.0.1复制到/usr/local/目录下,记得核对每台机器的profile,jdk路径是否和hbase-env.sh下面的路径相同

,配置完成,如果zookeeper和hadoop正在运行,则关闭所有的hadoop 和zookeeper,如果条件允许,则重启所有机器.

启动hbase时要确保hdfs已经启动,HBase的启动顺序为:HDFS->Zookeeper->HBase,运行命令如下:

             start-all.sh
bin/zkServer.sh start
bin/start-hbase.sh

用hadoop@Master:/usr/local/hbase-1.1.0.1$ ./bin/hbase shell命令进入HBase运行界面,

可以创建创建一个名为 test1 的表,这个表只有一个列为 cf。其中表名、列都要用单引号括起来,并以逗号隔开。

=> []
hbase(main):002:0> create 'test', 'cf'
0 row(s) in 2.6380 seconds => Hbase::Table - test
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.5900 seconds hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0310 seconds hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0380 seconds hbase(main):006:0> list
TABLE
test
1 row(s) in 0.0270 seconds => ["test"]
hbase(main):007:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '', VERSIONS => '', COMPRESSION => 'NONE', MIN_VERSIONS => '', T
TL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
1 row(s) in 0.0980 seconds hbase(main):008:0> get 'test','row2'
COLUMN CELL
cf:b timestamp=1435579713449, value=value2
1 row(s) in 0.1780 seconds