您的位置:首页 > 运维架构

HBase+zookeeper搭建

2013-11-02 22:14 295 查看

1.1下载解压最新版本

选择一个 Apache 下载镜像http://www.apache.org/dyn/closer.cgi/hbase/,下载 HBase
Releases. 点击 stable目录,然后下载后缀为 .tar.gz 的文件; 例如 hbase-0.94.8.tar.gz.

[plain] view
plaincopy

tar -zxvf  hbase-0.94.8.tar.gz  

 cd  hbase-0.94.8  

现在你已经可以启动Hbase了。但是你可能需要先编辑 conf/hbase-site.xml 去配置hbase.rootdir,来选择Hbase将数据写到哪个目录 .

[plain] view
plaincopy

<?xml version="1.0"?>    

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>    

<configuration>    

  <property>    

    <name>hbase.rootdir</name>    

    <value>file:///DIRECTORY/hbase</value>    

  </property>    

</configuration>    

将 DIRECTORY 替换成你期望写文件的目录. 默认 hbase.rootdir 是指向 /tmp/hbase-${user.name} ,也就说你会在重启后丢失数据(重启的时
候操作系统会清理/tmp目录)

1.2. 启动 HBase

现在启动Hbase:

$ ./bin/start-hbase.sh

starting Master, logging to logs/hbase-user-master-example.org.out


现在你运行的是单机模式的Hbaes。所以的服务都运行在一个JVM上,包括Hbase和Zookeeper。Hbase的日志放在
logs
目录,当你启动出问题的时候,

可以检查这个日志。

安装过程出现的错误:

 1,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times

很明显,日志中说RPC协议不一致所造成的,恍然见明白因为我在hbase的配置文件中将rootdir设置为hdfs,如果这两者的RPC协议不一致就会导致这个问题。

解决方法:

将hbase/lib目录下的hadoop-core的jar文件删除,将hadoop目录下的hadoop-****-core.jar拷贝到hbase/lib下面,然后重新启动hbase即可。

2,ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.

 解决方法:

如果系统是Ubuntu的话,要注意

/etc/hosts里面的127.0.0.1是否是127.0.1.1,如果是的话,把他改过来就可以了。

1.3 测试,hbase shell

 用shell 连接Hbase

[plain] view
plaincopy

hbase(main):003:0> create 'test', 'c1'  

  

0 row(s) in 1.2200 seconds  

  

hbase(main):003:0> list 'table'  

  

test  

  

1 row(s) in 0.0550 seconds  

  

hbase(main):004:0> put 'test', 'row1', 'c1:a', 'value1'  

  

0 row(s) in 0.0560 seconds  

  

hbase(main):005:0> put 'test', 'row2', 'c1:b', 'value2'  

  

0 row(s) in 0.0370 seconds  

  

hbase(main):006:0> put 'test', 'row3', 'c1:c', 'value3'  

  

0 row(s) in 0.0450 seconds  

以上我们分别插入了3行。第一个行key为
row1
, 列为 
c1:a
, 值是 
value1
。Hbase中的列是由 column family前缀和列的名字组成的,以冒号间隔。
例如这一行的列名就是
a
.

检查插入情况:Scan这个表,操作如下:

hbase(main):007:0> scan 'test'

zookeeper安装

(1): 从http://mirror.bjtu.edu.cn/apache/zookeeper/stable/下载。

我下载的是zookeeper-3.4.4

(2):解压到: /home/zack/hadoop/zookeeper-3.4.4

(3):把conf下的zoo_sample.cfg copy一份后重命名为: zoo.cfg.

文件中内容如下:

syncLimit=5

initLimit=10

tickTime=2000

clientPort=2181

dataDir=/home/zack/hadoop/zookeeper/data

dataLogDir=/home/zack/hadoop/zookeeper/log

(4): 新建zookeeper下的data,log目录,将chmod 777 -R zookeeper一把

(5): 增加环境变量:

vim ~/.bashrc

export ZOOKEEPER_INSTALL=/home/zack/hadoop/zookeeper-3.4.4

export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

source ~/.bashrc 使之生效.

(6): zkServer.sh start 启动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop zookeeper