hbase集群安装

来源:互联网 发布:合肥程序员工资 编辑:程序博客网 时间:2024/05/16 12:54

hbase需要在hadoop安装成功的基础上来进行,现在我们的机器安装好了hadoop

hadoop安装:http://blog.csdn.net/codestinity/article/details/6936654

首先安装zookeeper,注意下载的zookeeper版本需要与hadoop版本相对应(同样的,只需要在namenode端进行配置,配置好后发给datanode端即可):

1)下载zookeeper-3.3.3,解压到/home/grid/下面。

2)在/home/grid/下面新建一个文件夹,名为zookeeper,在该目录下新建名为myid的文件(后面会用到)。

3)在zookeeper-3.3.3/conf目录下,拷贝zoo_sample.cfg为zoo.cfg,并修改zoo.cfg文件,如下:

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.dataDir=/home/grid/zookeeper-3.3.3# the port at which the clients will connectclientPort=2222server.1=kiddenhw:2888:3888  server.2=kiddenxcc:2888:3888  server.3=kiddenzj:2888:3888
4)用scp命令将namenode节点的的/home/grid/zookeeper-3.3.3和/home/grid/zookeeper拷贝到其余所有主机的/home/grid/目录下。

5)参照zoo.cfg中的配置,在各主机myid文件中写入各自的编号。如:kiddenhw端将myid文件写入1、kiddenzj端将myid文件写入3、kiddenxcc端将myid文件写入2。

(集群模式下需要配置 myid,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server)
6)到此,zookeeper基本配置完成,最后,在所有节点上的zookeeper-3.3.3/bin下执行 zkServer.sh start,分别启动。

分别启动的过程中,会报异常:
WARN  [WorkerSender Thread:QuorumCnxManager@384] - Cannot open channel to 1 at election address /XXXXXXXXXXXXXXjava.net.ConnectException: Connection refused
全部启动之后,自然就不会出异常了。

下面来安装配置我们的hbase:

1)下载hbase-0.90.3版本,解压到namenode节点的/home/grid/目录下,同样需要注意对应的版本问题。

2)系统所有配置项的默认设置在hbase-default.xml中查看,我们只需要修改hbase-site.xml:

<configuration><property><name>hbase.rootdir</name><value>hdfs://kiddenzj:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>kiddenhw,kiddenzj,kiddenxcc</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/home/grid/tmp/zookeeper</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2222</value></property></configuration>

hbase.rootdir:hdfs://kiddenzj:9000这部分必须和hadoop/config/core-site.xml中的fs.default.name保持一致;

hbase.zookeeper.property.clientPort,是由于我在zoo.cfg中修改了默认的clientPort,所以在这里要设置为2222

3)修改hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.6.0_29export HBASE_MANAGES_ZK=true
4)把hadoop/config/hdfs-site.xml文件拷贝至hbase的conf文件夹下。

5)zookeeper/conf/zoo.cfg拷贝至hbase的conf文件夹下。

6)在hbase/conf/regionservers中添加hadoop/config/conf/slaves中所有的datanode节点。

7)删除/hbase-0.90.3/lib/hadoop-core-0.20-append-r1056497.jar,拷贝/hadoop-0.20.2/hadoop-0.20.0-core.jar到/hbase-0.90.3/lib/下来。

8)最后,把配置好的hbase-0.90.3用scp命令发送到各个datanode节点的/home/grid/目录下来。

到此,hbase配置完成:

启动

Hadoop、ZooKeeper和HBase之间应该按照顺序启动和关闭:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集

群—>停止Hadoop。

在namenode节点执行bin/hbase-daemon.sh,启动master。执行bin/start-hbase.sh和bin/stop-hbase.sh 脚本启动和停止HBase服务。

测试:

可进入hbase shell,测试:

list  列出所有表

create 建表,如 create 'test','data'

put 插入数据

...(关于hbase的操作可参考网上资料)




原创粉丝点击