hbase0.90.4安装总结

来源:互联网 发布:淘宝申诉进程在哪看 编辑:程序博客网 时间:2024/04/30 14:56

前段时间安装了hbase,这里总结一下备忘。

安装前的准备工作:

1、保证将纳入集群中各个机器能够ssh无密码访问;

2、将各个机器的时间统一,一面集群启动后出现不可预料的问题

1、通过命令tar xvf hbase-0.90.4.tar.gz解压到当前文件夹
2、 修改HBase的配置文件:

编辑所有机器上的hbase安装目录conf目录下的hbase-site.xml、hbase-default.xml、hbase-env.sh几个文件,当然可以先配置主机的然后通过scp命令拷贝到虚拟机上,但是可能要做相应的路径修改。

a. Hbase-site.xml:
编辑这个文件要注意hbase.rootdir参数,这个参数的前面部分必须与你的hadoop集群里的core-site.xml文件里fs.default.name保持一致才可以。在就是hbase该项不识别机器的IP,只能使用机器的hostname才可以
另外,在网上查看了一些资料显示Hbase.zookeeper.quorum个数必须为奇数,我在实际中只有两个机器,还是正常的启动了
<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://a004:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>【hbase.cluster.distributed=false,即单机版,为true集群版
    <value>true</value>
</property>
<property>
    <name>hbase.master</name>
    <value>a004</value>
</property>
#这两个选项的value值可以选择使用ip地址代替hostname,效果一样
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>a004,p001,p002</value>
</property>
#下面两个可以设置也可以不设置,都是有默认值的
<property>
    <name>zookeeper.session.timeout</name>
    <value>60000</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
</configuration>


b. Hbase-default.xml(一般都修改Hbase-site.xml,这个文件可以不用修改):
如果不在Hbase-site.xml中配置,那么可以修改Hbase-default.xml这个配置文件,只需修改前面的hbase.rootdir和hbase.cluster.distributed这两项,之前的版本这个文件是在conf目录下,但是在0.90.4版本中是在两个文件夹中存在,docs和src/main/resources中,不设置也应该没有问题。
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://a004:9000/hbase</value>---->默认是tmp目录下,如果系统重新启动将会删除tmp目录下的数据,所以这个参数要在Hbase-site.xml进行配置
  </property>
  <property>
    <name>hbase.master.port</name>
    <value>60000</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>false</value>
  </property>


c. Hbase-env.sh:
添加如下环境变量
export JAVA_HOME=/home/username/jdk1.6.0_24
export HBASE_HOME=/home/username/hbase-0.90.4
export PATH=$PATH:/home/username/hbase-0.20.6/bin
export HBASE_MANAGES_ZK=true
export HADOOP_HOME=/home/username/hadoop-0.20.2


d. 修改regionservers文件:
将所有的DataNode节点的主机名称加进去就可以了
a004
p001
p002


3、把/home/username/hadoop/conf/hdfs-site.xml文件拷贝至hbase的conf文件夹下


4、删除/hbase/lib/hadoop-core-0.20-append-r1056497.jar


     拷贝/hadoop-0.20.2-core.jar到/hbase-0.90.2/lib/
#这个jar包没有替换好像也能启动Hbase,具体可能要在操作中才会知道替换是否必要
5、最后,把配置好的hbase,拷贝到其它节点 scp :scp -r hbase/hbase-0.90.4cloudetl@p001:~/bin/hbase


验证安装:
1.首先启动hadoop集群:jps查看namenode和datanode的服务是否正常启动
2.启动hbase:(执行start-hbase.sh)同样通过jps查看,注意在master(即HMater)节点上有HMaster和HRegionServer、HQuorumPeer三个服务项(后两者是因为将namenode也作为了一个HRegionServers),在datanode(即HRegionServer)中查看需要启动的是HQuorumPeer和HRegionServer
3.整个集群正常启动后,我们可以通过hbase 的命令行管理界面看看是否正常
hbase shell 这个命令是进入命令行管理模式,然后可以通过list可以列举你当前数据库的名称,如果失败会有java错误抛出,
我们也可以通过WEB页面来管理查看HBase数据库 http://localhost:60010/master.jsp

在启动了HBASE以后,用HABSE SHELL登陆上去操作试试
[gpadmin1@hadoop5 bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.4, r1100350, Sat May  7 13:31:12 PDT 2011

hbase(main):001:0> create 'test', 'cf'
0 row(s) in 1.8140 seconds

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1470 seconds

hbase(main):004:0> scan 'test'
ROW                                COLUMN+CELL                                                                                    
 row1                              column=cf:a, timestamp=1308133829965, value=value1                                             
1 row(s) in 0.0600 seconds

hbase(main):005:0> list
TABLE                                                                                                                             
test                                                                                                                              
1 row(s) in 0.0250 seconds


原创粉丝点击