一、准备工作
hadoop已安装完成,详见上一篇文章。
二、安装及配置
1、下载源代码,解压
2、配置
2.1 conf/hbase-env.sh
- export JAVA_HOME=/yourjava/jdk1.7.0_51
- export HBASE_LOG_DIR=/your/logs
logs目录你得有读写权限
2.2 配置${HBASE_HOME}/conf/hbase-site.xml
- <configuration>
- <property>
- <name>hbase.tmp.dir</name>
- <value>/var/hbase</value>
- </property>
- <property >
- <name>hbase.rootdir</name>
- <value>hdfs://YOUR-NAMENODE:9000/hbase</value>
- </property>
- <property >
- <name>hbase.cluster.distributed</name>
- <value>true</value>
- </property>
- <property>
- <name>hbase.zookeeper.quorum</name>
- <value>YOUR-ZNODE1,YOUR-ZNODE2,YOUR-ZNODE3</value>
- </property>
- </configuration>
注意,这里的hbase.zookeeper.quorum中必须用的是实际机器名,否则就会出现java.io.IOException: Could not find my address: xxx in list of ZooKeeper quorum servers的报错,因为用HQuorumPeer.main(args);调试。发现配置的IP地址或者域名没在IPS里面,IPS貌似包括主机名、IP地址、localhost、127.0.0.1等,自己定义的机器名是不好用的。
hbase.rootdir中的值必须与hadoop中hdfs-site.xml中配的机器名和端口号一致
2.3 ${HBASE_HOME}/conf/regionservers
把s236加入regionservers文件
三、启动集群
start-hbase.sh
该命令可在任意结点上执行,不过需要注意的是:在哪个结点上执行该命令,该点将自动成为master(与zookeeper的配置不同,hbase的配置文件中不提供指定master的选项),如果需要多个back-up master,可在另外的结点上通过
hbase-daemon.sh start master单独启动master!
以下是单独启动某项服务的命令:
启动zookeeper
hbase-daemon.sh start zookeeper
启动master
hbase-daemon.sh start master
启动regionserver
hbase-daemon.sh start regionserver
所有服务启动后,
访问:
检查各结点的状态,
如都能访问表示HBase没有问题,如无法访问或缺少节点,可分析log的中的信息找出问题原因。