HBase完全分散式安裝
環境 Linux:Centos Linux 7.3 JDK:jdk1.8.0_181 Hadoop:2.8.5 Zookeeper:3.4.13 HBase:1.4.8
伺服器 bigdata01:192.168.1.50 (主節點) bigdata02:192.168.1.51 bigdata03:192.168.1.52
安裝步驟 1,下載hbase安裝包hbase-1.4.8-bin.tar.gz,並上傳到bigdata01伺服器的/opt目錄中。 2,解壓安裝包,
tar -zvxf hbase-1.4.8-bin.tar.gz
然後將目錄hbase-1.4.8修改為hbase,
mv hbase-1.4.8 hbase
3,進入hbase的conf目錄,編輯hbase-env.sh檔案,修改JAVA_HOME,
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
因為我們用的jdk1.8,所以註釋掉下面兩行,
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m" # export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
這兩個配置是用於jdk1.7的; HBASE_MANAGES_ZK變數, 此變數預設為true,告訴HBase是否啟動/停止ZooKeeper集合伺服器作為HBase啟動/停止的一部分。如果為true,這Hbase把zookeeper啟動,停止作為自身啟動和停止的一部分。如果設定為false,則表示獨立的Zookeeper管理。我們將其設定為false,
export HBASE_MANAGES_ZK=false
修改Hbase堆設定,將其設定成4G,
export HBASE_HEAPSIZE=4G
然後儲存檔案。 4,接下來編輯配置檔案hbase-site.xml,
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value> <description>The directory shared by RegionServers. </description> </property> <property> <name>hbase.rootdir</name> <value>hdfs://bigdata01:9666/hbase</value> <description>The directory shared by RegionServers. </description> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> <description>The mode the cluster will be in. Possible values are false: standalone and pseudo-distributed setups with managed ZooKeeper true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh) </description> </property> </configuration>
hbase.zookeeper.quorum: 這個引數是用來設定zookeeper服務列表,每個伺服器之間使用使用逗號分隔,2181是zookeeper預設埠號,你可以自行根據你的埠號新增,預設的埠號加不加都無所謂。 hbase.rootdir: 這個引數是用來設定RegionServer 的共享目錄,用來存放HBase資料。特別需要注意的是 hbase.rootdir 裡面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 裡面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、埠必須一致。 hbase.cluster.distributed: HBase 的執行模式。為 false 表示單機模式,為 true 表示分散式模式。 5,編輯regionservers檔案,配置從伺服器,去掉 localhost,新增 slaves 節點
bigdata02
bigdata03
6,把 hadoop 的 hdfs-site.xml 複製一份到 hbase 的 conf 目錄下,
cp /opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hbase/conf/
7,將配置好的 habase 分發到其它節點對應的路徑下
scp -r /opt/hbase [email protected]:/opt/
scp -r /opt/hbase [email protected]:/opt/
8,分別在三臺伺服器上增加HBASE_HOME環境變數,修改vim /etc/profile
export HBASE_HOME=/opt/hbase
export PATH=$HBASE_HOME/bin:$PATH
使配置生效
source /etc/profile
9,同步伺服器時間,我們在使用HDFS的時候經常會出現一些莫名奇妙的問題,通常可能是由於多臺伺服器的時間不同步造成的。我們可以使用網路時間伺服器進行同步。 安裝ntpdate工具
yum -y install ntp ntpdate
設定系統時間與網路時間同步
ntpdate cn.pool.ntp.org
將系統時間寫入硬體時間
hwclock --systohc
檢視系統時間
timedatectl
10,在 bigdata01上輸入:start-hbase.sh,啟動hbase, 等待啟動完成,在每個節點上輸入 jps 命令,檢視程序 出現以上程序表 hbase 明啟動成功了。 通過瀏覽器訪問http://bigdata01:16010可以檢視hbase 叢集狀態。