搭建hbase叢集
0.選擇安裝的主機
s201 ~ s204
1.jdk
可參考此篇:https://blog.csdn.net/mao502010435/article/details/86487920
2.hadoop
可參考此篇:https://blog.csdn.net/mao502010435/article/details/86487920
3.tar
tar -xzvf hbase.tar.gz
4.環境變量
export HBASE_HOME=/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
.驗證安裝是否成功
$>hbase version 5.配置hbase模式
5.1)本地模式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/soft/jdk
[hbase/conf/hbase-site.xml]
...
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/HBase/HFiles</value>
</property>
5.2)僞分布式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/soft/jdk
[hbase/conf/hbase-site.xml]
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8030/hbase</value>
</property>
5.3)完全分布式(必做)
[hbase/conf/hbase-env.sh]
export JAVA_HOME=/soft/jdk
export HBASE_MANAGES_ZK=false
[hbse-site.xml]
<!-- 使用完全分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定hbase資料在hdfs上的存放路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://s201:8020/hbase</value>
</property>
<!-- 配置zk位址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>s201:2181,s202:2181,s203:2181</value>
</property>
<!-- zk的本地目錄 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/centos/zookeeper</value>
</property>
6.配置regionservers
[hbase/conf/regionservers]
s202
s203
s204
7.啟動hbase叢集(s201)
$>start-hbase.sh
8.登入hbase的webui
http://s201:16010
hbase和hadoop的ha內建
1.在hbase-env.sh檔案添加hadoop配置檔案目錄到HBASE_CLASSPATH環境變量并分發.
[/soft/hbase/conf/hbase-env.sh]
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop
2.在hbase/conf/目錄下建立到hadoop的hdfs-site.xml符号連接配接。
ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xml
3.修改hbase-site.xml檔案中hbase.rootdir的目錄值。
[/soft/hbase/conf/hbase-site.xml]
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
4.将以上步驟分發處理。
注:配置過程中遇到的問題
1:Hmaster啟動失敗
檢視日志發現logs檔案夾和檔案夾下的檔案都是root權限,出現權限不足問題,修改為使用者權限,可以啟動了。
2.HRegionServer 啟動失敗
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
該類不存在錯誤
在maven庫下載下傳htrace-core-3.1.0-incubating.jar并移動到 $HBASE_HOME/lib/ 目錄下,啟動成功
3.HRegionServer 啟動後消失
檢視Hmater主伺服器時間是否與其他伺服器時間相同,如果不同,則更新時間,問題解決
安裝ntpdate工具
# yum -y install ntp ntpdate
設定系統時間與網絡時間同步
# ntpdate cn.pool.ntp.org
将系統時間寫入硬體時間
# hwclock --systohc