上面一篇博客講了如何安裝hadoop。
現在就來說下爲分佈方式下安裝hbase,走了好多坑啊。
**
一 hbase包準備
**
這裏下載hbase-2.2.4注意下載bin版不要下載src版本的(踩過坑了,不信你可以試試)。
home下新建hbase文件夾
將下載好的文件傳輸至/home/hbase
解壓
tar xzvf hbase-2.2.4-bin.tar.gz
二 添加環境變量
vi /etc/profile
添加
使環境變量生效
source /etc/profile
三 修改hbase-env.sh
/home/hbase/hbase-2.2.4/conf 下找到hbase-env.sh
修改如下配置
使用hbase自帶的zk
export HBASE_MANAGES_ZK=true
hbase 路徑
export HBASE_CLASSPATH=/home/hbase/hbase-2.2.4/conf
jdk 路徑:配置成你自己的jdk路徑
如果不知道或者忘了jdl安裝路徑,可以用
which java 或echo $JAVA_HOME查看
export JAVA_HOME=/usr/java/jdk1.8.0/
四 配置hbase-site.xml
添加如下內容
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2182</value>
</property>
</configuration>
這裏爲了不和我本地的zk衝突,特意改了zk的端口號爲2182。
五 啓動hbase
start-hbase.sh
輸入jps查看多瞭如下三個進程則啓動成功。
然後瀏覽器http://localhost:16030界面查看hbase web界面。
這裏有一個坑:這個WEB界面的端口1.0版本後改爲16030端口了,以前是60070,網上教程大部分也是這個,導致我開始的時候一直以爲沒有啓動成功,原來是端口變了。
六 遇到的坑
(1)zk端口衝突
啓動報錯,查看/home/hbase/hbase-2.2.4/logs下的帶有zookeeper的日誌。發現hbase自帶的zk默認也是使用2181端口,和我本地的zk端口衝突了。修改hbase-site.xml,添加下面即可解決:
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2182</value>
</property>
(2)Master 報
Please check the config value of ‘hbase.procedure.store.wal.use.hsync’
解決方式:hbase-site.xml增加配置
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
(3)hbase時間不同步問題
Master is initializing
輸入命令 sudo ntpdate time.nist.gov
再重新啓動hbase即可。