1. 程式人生 > >Zookeeper + Hbase安裝配置

Zookeeper + Hbase安裝配置

一、Zookeeper安裝配置

叢集上部署Zookeeper最好使用奇數臺機器,這樣如果有5臺機器,只要3臺正常工作則服務將正常。在目前的實際生產環境中,一個Hadoop叢集最多有三臺節點做備用master,即並不是所有節點都安裝ZooKeeper;如果以實驗為目的,可以將所有節點都安裝ZooKeeper並作為master使用

並且Hadoop叢集、Zookeeper ensemble、HBase叢集是三個互相獨立的叢集,並不需要部署在相同的物理節點上,他們之間是通過網路通訊的。

安裝Hbase需要先安裝Zookeeper 1.解壓 在master解壓Zookeeper

$tar -zxvf zookeeper-3.4.5.tar.gz   /home/hadoop/

2.配置 到解壓目錄conf/下,修改檔案

$cd zookeeper-3.4.5/conf/ 
$cp zoo-sample.cfg zoo.cfg
$vi zoo.cfg
#修改內容
dataDir=/home/hadoop/zookeeper-3.4.5/data	#需要手動建立此資料夾
dataLogDir=/home/hadoop/zookeeper-3.4.5/log    #需要手動建立此資料夾
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888

在/home/hadoop/zookeeper-3.4.5/data目錄下新建myid檔案,內容為0,與zoo.cfg中新增的配置資訊一致

$echo ”0” >/home/hadoop/zookeeper-3.4.5/myid  #子節點中需要修改為1,2

將Zookeeper資料夾傳送到子節點

$scp -r /home/hadoop/zookeeper-3.4.5 slave1:/home/hadoop/
$scp -r /home/hadoop/zookeeper-3.4.5 slave2:/home/hadoop/

環境變數新增

$vi /etc/profile
#新增
export  ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.5
export  PATH=$PATH:$ZOOKEEPER_HOME/bin

$source /etc/profile

3.啟動與測試

先啟動hadoop 然後在每臺機器上都要啟動zookeeper

$zkServer.sh  start

檢視狀態

$jps     #看是否有程序QuorumPeerMain
$zkServer.sh status     #檢視狀態

master Mode:follower

slave1 Mode:leader

slave2 Mode:follower

停止命令

$zkServer.sh  start      #每臺機器都要

二、HBase安裝配置

1.解壓

$tar -zxvf hbase-1.0.1.tar.gz /home/hadoop/

2.配置

$cd /home/hadoop/hbase-1.0.1/conf
$vi hbase-env.sh
#修改新增以下內容
export HBASE_CLASSPATH=/home/hadoop/hadoop-2.6.5/etc/hadoop
export HBASE_PID_DIR=/var/hadoop/pids     #需要建立此資料夾,並授權給hadoop使用者
export JAVA_HOME=/java/jdk1.8.0_45/
export HBASE_MANAGES_ZK=false		#不使用hbase自帶的zookeeper

修改regionservers,配置HBase叢集中哪臺節點做RegionServer伺服器

$vi regionservers
#修改為
slave1
slave2

修改hbase-site.xml

<configuration>
  	<property>
   		<name>hbase.rootdir</name>
   		<value>hdfs://192.168.251.128:9000/hbase</value>
  	</property>
	<property> 
		<name>hbase.master</name> 
		<value>hdfs://192.168.251.128:60000</value> 
	</property> 
	<property> 
		<name>hbase.master.info.port</name> 
		<value>60010</value> 
	</property> 
  	<property>
    	<name>hbase.zookeeper.property.dataDir</name>
    	<value>/data/zookeeper</value>	#手動建立此資料夾,授予hadoop使用者許可權
  	</property>
  	<property>
    	<name>hbase.cluster.distributed</name>
    	<value>true</value>
  	</property>
	<property>
		<name>hbase.zookeeper.quorum</name>	#設定HBase叢集中哪些節點安裝了ZooKeeper,只能設定為主機名而不是IP地址
		<value>master,slave1,slave2</value>
	</property>
	<property>
		<name>hbase.zookeeper.property.clientPort</name>
		<value>2181</value>
	</property>
</configuration>

修改環境變數

$vi /etc/profile
#新增
export  HBASE_HOME=/home/hadoop/hbase-1.0.1
export  PATH=$PATH:$HBASE_HOME/bin

$source /etc/profile

傳送到slave節點

scp -r /home/hadoop/hbase-1.0.1/ slave1:/home/hadoop/
scp -r /home/hadoop/hbase-1.0.1/ slave2:/home/hadoop/

在子節點中建立相關資料夾,修改環境變數

3.啟動與測試 在master啟動即可

$start-hbase.sh

在master節點將會看到HMaster程序, 在slave節點將會看到HregionServer程序

$hbase hbck    #檢視hbase狀態

三、啟動與關閉順序

start-all.sh    #在master主機上啟動 
zkServer.sh start    #在每一臺機子啟動 
start-hbase.sh    #在master主機上啟動

關閉順序 每臺執行

stop-hbase.sh    #在master主機上執行
zkServer.sh stop   #在每一臺機子執行
stop-all.sh   #在master主機上執行