HBase配置安装java
hbase0.98.5使用hadoop2.2.0安装在rhel6.2系统。node
下载 hbase-0.98.5-hadoop2-bin.tar.gz并上传到服务器中apache
使用命令进行解压浏览器
[root@master soft]# tar -zxvfhbase-0.98.5-hadoop2-bin.tar.gz服务器
对解压后的目录cp到指定目录,目前使用的是hdtest用户home目录下网络
[root@master soft]# cp hbase-0.98.5-hadoop2/home/hdtest/hbase2/分布式
对hbase2 目录进行修改所属组及用户ide
chown hdtest.hdtest hbase2/ -Roop
修改 conf目录下的 3 个配置文件:spa
1. hbase-env.sh
同hadoop-env.sh,该文件设定了 hbase 的环境,修改的部分以下:
export JAVA_HOME=/usr/java/jdk1.7.0_67export
export HBASE_CLASSPATH=/home/hdtest/hadoop-2.2.0/etc/hadoop/
export HBASE_HEAPSIZE=1000
exportHBASE_MANAGES_ZK=false
其中,HBASE_CLASSPATH指向存放有 Hadoop 配置文件的目录,这样 HBase 能够找到 HDFS的配置信息,因为本文 Hadoop 和 HBase 部署在相同的物理节点,因此就指向了 Hadoop 安装路径下的目录。HBASE_HEAPSIZE 单位为 MB,能够根据须要和实际剩余内存设置,默认为 1000。HBASE_MANAGES_ZK=false指示 HBase 使用已有的 Zookeeper 而不是自带的。
2. hbase-site.xml
该文件是 hbase 最主要的配置文件,配置以下:
<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.tmp.dir</name>
<value>/home/hdtest/hbase2</value>
</property>
</configuration>
第一项指定了 hbase 所使用的文件系统为 HDFS,根目录为 hdfs://master:9000/hbase,该目录应该由 HBase 自动建立,只须要指定到正确的 HDFS NameNode 上便可。第二项指定 HBase的工做模式为分布式的,第三项指定 HBase 将元数据存放路径为/home/hdtest/hbase2,须要在 node0(Master)上建立该目录。
3. regionservers
此文件指定了HBase的RegionServers,至关于hadoop配置文件中的slaves。本文将slave1/2做为 RegionServer,因此文件内容为:
192.168.200.3
192.168.200.4
HBase 配置完成,将其分发到全部的 Master 和 RegionServer 节点上的相同目录下,如
/home/hdtest/hbase2,并把刚才的 zoo.cfg 拷贝到每一个节点的 HBASE_CLASSPATH 下(/home/hdtest/hadoop-2.2.0/etc/hadoop/),使得 HBase 能够找到 Zookeeper 的配置。
首先在NameNode(node0)上将 HDFS启动:
$ ~/hadoop-1.0.2/bin/start-dfs.sh
而后在 Zookeeperensemble的每个节点(node1/2/3)上分别启动 Zookeeper:
$ ~/zookeeper-3.4.3/bin/zkServer.sh start
在Master(node0)上启动 HBase:
$ ~/hbase-0.94.0/bin/start-hbase.sh
用浏览器访问:
http://node0:60010
能够看到 HBase 的运行信息,若是 Attributes ->Load average 中有数字,Tables 中有-ROOT-
和.META.两张表,而且 Region Server 中的信息也都正常,则 HBase 正常启动了。
关闭的顺序和启动的顺序相反,先关闭 HBase:
$ ~/hbase-0.94.0/bin/stop-hbase.sh
而后关闭 Zookeeper和 HDFS。
问题解决:
1,时间同步问题致使其余RegionServers启动报错
2014-10-16 13:01:11,956 FATAL[regionserver60020] regionserver.HRegionServer: Master rejected startup becauseclock is out of sync
org.apache.hadoop.hbase.ClockOutOfSyncException:org.apache.hadoop.hbase.ClockOutOfSyncException: Serverslave2,60020,1413435669437 has been rejected; Reported time is too far out ofsync with master. Time difference of 400025ms > max allowed of 30000ms
at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:344)
atorg.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:237)
atorg.apache.hadoop.hbase.master.HMaster.regionServerStartup(HMaster.java:1286)
atorg.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusSe
从报错信息上看出时间不一样步致使。
解决办法:
须要在集群中配置一个ntp服务器(配置方法网络上多得是),而后在master节点使用stop-hbase.sh中止全部hbase服务,查看ntp服务是否生效,即master节点和regionserver节点时间是否一致后,再次启动hbase服务。
在master服务器使用jps查看hbase进程
[hdtest@master ~]$ jps
6930 HMaster
9638 Jps
14932 JournalNode
4120 QuorumPeerMain
15013 NameNode
15345 ResourceManager
Hamster服务是hbase服务。
Journalnode是namenode作HA时配置的服务。
Quorumpeermain是zookeeper启动的服务。
Namenode和resourcemanager是hdfs启动服务
在slave1节点上查看hbase服务
[hdtest@slave1 ~]$ jps
21281 QuorumPeerMain
26528 Jps
11762 JournalNode
11854 NameNode
23557 HRegionServer