HBase 系列(二)安裝部署
HBase 系列(二)安裝部署
本節以 Hadoop-2.7.6,HBase-1.4.5 為例安裝 HBase 環境。HBase 也有三種模式:本地模式、偽分布模式、分布模式。
一、環境準備
(1) HBase 下載
HBase 下載地址:http://archive.apache.org/dist/hbase/
(2) SSH 服務
service sshd status
參考:http://www.cnblogs.com/binarylei/p/9049149.html
(3) 域名系統 DNS
/etc/hosts
(4) 本地環回地址
127.0.0.1 localhost
(5) 時間同步
ntp
(6) 資源限制命令
# 限制用戶打開的文件數
soft nofile 10240
hard nofile 10240
# 限制用戶打開的進程數
soft noproc 10240
hard noproc 10240
(7) Hadoop 版本選擇
本文以 Hadoop-2.7.6,HBase-1.4.5。並且將 $HBASE_HOME/lib 下的有關 hadoop 的 jar 包替換成 $HADOOP_HOME/share/... 的 jar 包。
<!-- hadoop 的 datanode 配置項,設置同時處理文件的上限個數,默認 256,至少是 4096,甚至更大 --> <property> <name>dfs.datanode.max.xcievers</name> <value>4096</value> </property>
(8) 安裝 Zookeeper
最好以 hadoop 用戶啟動。參考:http://www.cnblogs.com/binarylei/p/8721129.html
二、HBase 運行模式
2.1 本地模式
(1) 解壓後添加環境變量
vi /etc/profile.d/start.sh
# hbase
export HBASE_HOME=/home/hadoop/habase
export PATH=$PATH:$HBASE_HOME/bin
(2) 修改 conf/hbase-env.sh
JAVA_HOME=/usr/local/jdk export HBASE_MANAGES_ZK=false # 不使用自帶的 zookeeper
(3) 修改 conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/hbase/HFiles</value>
</property>
2.2 偽分布模式
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8030/hbase</value>
</property>
2.3 分布模式
(1) 修改 conf/hbase-site.xml
<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.zookeeper.quorum</name>
<value>192.168.2.110:2181,192.168.2.111:2181,192.168.2.111:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase/data/zookeeper</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase/data</value>
</property>
<!-- web 頁面端口 -->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
(2) 修改 conf/regionservers
192.168.140.110
192.168.140.111
(3) 分發
scp -r /home/hadoop/hbase-1.4.5 [email protected]:`pwd`
ssh [email protected] ‘ln -sv /home/hadoop/hbase-1.4.5 /home/hadoop/hbase‘
ssh [email protected] ‘chown -h -R hadoop:hadoop /home/hadoop/hbase‘
(4) 啟動
bin/start-hbase.sh
(5) HBase 高可用
bin/hbase-daemon.sh start master
bin/hbase-daemons.sh start regionserver
查看 WEB 頁面:http://192.168.140.110:60010/master-status
三、HBase Shell
create ‘t1‘, {NAME => ‘f1‘, VERSIONS => 5}
describe ‘t1‘
put ‘t1‘, ‘row1‘, ‘f1:a‘, ‘2‘
put ‘t1‘, ‘row2‘, ‘f1:b‘, ‘3‘
get ‘t1‘, ‘row1‘
scan ‘t1‘
disable ‘t1‘
drop ‘t1‘
四、踩過的坑
問題1:ERROR: Can‘t get master address from ZooKeeper; znode data == null
解決:在 hbase-site.xml 指定一個運行 hbase 的用戶有寫入文件權限的目錄作為 zookeeper 數據目錄,如
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase/data/zookeeper</value>
</property>
參考:https://www.cnblogs.com/zlslch/p/6556870.html
每天用心記錄一點點。內容也許不重要,但習慣很重要!
HBase 系列(二)安裝部署