HBase 的安裝有兩種方式:單機安裝和分佈式安裝。HBase的單機安裝瞭解便可,你們重點掌握HBase 分佈式集羣的安裝。下面咱們分別進行介紹。html
HBase 須要運行在 Hadoop 基礎之上,所以安裝HBase 的前提是必須安裝 Hadoop 環境。Hadoop 環境的安裝能夠參考前面課程的內容。下載與Hadoop2.2.0或者 Hadoop2.6.0相匹配的hbase-0.98.11-hadoop2-bin.tar.gz 軟件包(點擊此處下載)。java
HBase 的安裝步驟以下所示:node
步驟一: 下載解壓HBasejquery
將hbase-0.98.11-hadoop2-bin.tar.gz 安裝包解壓到指定的目錄(這裏是在/opt/modules),而後重命名爲hbase,最後將hbase操做權限分配給hadoop用戶(運行hadoop的帳戶)web
[hadoop@master modules]$ sudo rz (使用root用戶登陸就不用sudo,如下同理)
[hadoop@master modules]$ sudo tar -zxvf hbase-0.98.13-hadoop2-bin.tar.gz [hadoop@master modules]$ sudo mv hbase-0.98.11-hadoop2 hbase [hadoop@master modules]$ ls hadoop-2.6.0 hbase hive1.0.0 jdk jdk1.7.0_79 jdk1.8.0_60 scala-2.11.8 spark-2.2.0-bin-hadoop2.6 zookeeper-3.4.5-cdh5.10.0 [hadoop@master modules]$ sudo chown -R hadoop:hadoop hbase [hadoop@master modules]$ ll total 32 drwxr-xr-x 12 hadoop hadoop 4096 Apr 11 00:00 hadoop-2.6.0 drwxrwxr-x 8 hadoop hadoop 4096 May 29 00:22 hbase drwxr-xr-x 11 hadoop hadoop 4096 May 24 12:34 hive1.0.0 lrwxrwxrwx 1 hadoop hadoop 12 Apr 9 05:59 jdk -> jdk1.8.0_60/ drwxr-xr-x 8 hadoop hadoop 4096 Apr 11 2015 jdk1.7.0_79 drwxr-xr-x 8 hadoop hadoop 4096 Aug 5 2015 jdk1.8.0_60 drwxrwxr-x 6 hadoop hadoop 4096 Mar 4 2016 scala-2.11.8 drwxr-xr-x 15 hadoop hadoop 4096 Apr 9 06:27 spark-2.2.0-bin-hadoop2.6 drwxr-xr-x 14 hadoop hadoop 4096 Apr 9 00:00 zookeeper-3.4.5-cdh5.10.0
步驟二:配置HBase環境變量apache
打開/etc/profile 文件,配置 HBase 的環境變量。session
[hadoop@master modules]$ sudo vi /etc/profile HBASE_HOME=/usr/java/hbase PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PATH
修改並保存/etc/profile文件後,使配置文件當即生效。架構
[hadoop@master modules]$ source /etc/profile
步驟三: 修改HBase配置文件app
修改 conf/hbase-env.sh 配置文件。分佈式
1) 去掉 JAVA_HOME 前的 "#",並將其修改爲本身安裝的 Java 路徑。
2) 去掉 HBASE_MANAGES_ZK 前的 "#",並將其值設置爲 true(HBase 管理本身的 ZooKeeper,這樣就不須要單獨安裝 ZooKeeper)。
[hadoop@master hbase]$ vi conf/hbase-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_51 export HBASE_MANAGES_ZK=true
修改 conf/hbase-site.xml配置文件,添加以下內容。
[hadoop@master hbase]$ vi conf/hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> <property> <name>hbase.Zookeeper.quorum</name> <value>master</value> </property> <property> <name>Zookeeper.session.timeout</name> <value>60000</value> </property> <property> <name>hbase.Zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.tmp.dir</name> <value>/home/hadoop/data/hbase/tmp</value> </property> <property> <name>hbase.client.keyvalue.maxsize</name> <value>10485760</value> </property> </configuration>
hbase.rootdir 屬性的值須要與 Hadoop 目錄下這個conf/core-site.xml 文件中的 fs.default.name 屬性值對應。
fs.default.name 設置爲hdfs://master:9000/ hbase.rootdir 設置爲hdfs://master:9000/hbase hbase.ZooKeeper.quorum 設置爲 master hbase.tmp.dir 設置爲以前建立的 tmp 目錄:/home/hadoop/data/hbase/tmp
步驟四:啓動Hbase
一、首先啓動Hadoop僞分佈集羣
[hadoop@master hadoop]$ sbin/start-all.sh [hadoop@master hadoop]$ jps 2995 Jps 2134 NameNode 2234 DataNode 2412 SecondaryNameNode 2573 ResourceManager 2671 NodeManager
二、啓動HBase
[hadoop@master hbase]$ bin/start-hbase.sh [hadoop@master hbase]$ jps 3426 HRegionServer 3474 Jps 2134 NameNode 2234 DataNode 3228 HQuorumPeer 2412 SecondaryNameNode 3293 HMaster 2573 ResourceManager 2671 NodeManager
到這裏 HBase 單機版已經安裝成功。
在安裝HBase 分佈式集羣以前,相信你們應該已經成功搭建Hadoop集羣, 有了這個基礎再安裝HBase應該就比較簡單了。接下來咱們一塊兒搭建HBase集羣。
步驟一: HBase集羣架構
在咱們搭建HBase以前,首先要規劃好HBase核心角色的節點分配。這裏咱們是基於前面搭建的3節點的Hadoop集羣(非高熱備HA集羣)進行HBase集羣的搭建,咱們將master和slave1節點配置爲Master,將slave2節點配置爲RegionServer。同理,若是爲5節點或者更多則能夠將後面的均配置爲RegionServer。
步驟二: HBase集羣安裝
一、配置conf/regionservers
[hadoop@master conf]$ sudo vi regionservers slave2
二、配置 Hbase master 的備份節點
[hadoop@master conf]$ sudo vi backup-masters slave1
三、配置conf/hbase-site.xml
[hadoop@master conf]$ sudo vi hbase-site.xml (爲便於理解使用了中文註解,使用時請去掉) <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value><!—指定ZooKeeper集羣位置> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/data/zookeeper</value><!—Zookeeper寫數據目錄(與ZooKeeper集羣上配置相一致)> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value><!—Zookeeper的端口號> </property> <property> <name>hbase.rootdir</name> <value>hdfs://cluster/hbase</value><!—RegionServers 共享目錄> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value><!—開啓分佈式模式> </property> <property> <name>hbase.master</name> <value>hdfs://master:60000</value><!—指定Hbase的master的位置> </property> </configuration>
備註:配置這個hbase.rootdir屬性的時候,須要將hdfs的core-site.xml和hdfs-site.xml兩個配置文件copy到hbase的conf或者lib目錄下,不然regionserver不能識別cluster邏輯名稱。
四、配置hbase-env.sh
[hadoop@master conf]$ sudo vi hbase-env.sh #配置jdk安裝路徑 export JAVA_HOME=/home/hadoop/app/jdk1.8.0_51 #使用獨立的Zookeeper集羣 export HBASE_MANAGES_ZK=false
五、配置環境變量
[hadoop@master conf]# sudo vi /etc/profile HBASE_HOME=/opt/modules/hbase PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PATH export HBASE_HOME
六、Hbase 安裝包遠程同步到其它節點
[hadoop@master modules]$ scp -r hbase slave1:/opt/modules/ [hadoop@master modules]$ scp -r hbase slave2:/opt/modules/
七、啓動Hbase集羣
需按照如下順序來啓動Hbase集羣 1)啓動Zookeeper
[hadoop@master conf]$ cd /opt/modules/zookeeper-3.4.5-cdh5.10.0/ [hadoop@master zookeeper-3.4.5-cdh5.10.0]$ bin/zkServer.sh start JMX enabled by default Using config: /opt/modules/zookeeper-3.4.5-cdh5.10.0/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [hadoop@master zookeeper-3.4.5-cdh5.10.0]$ jps 6113 Jps 6086 QuorumPeerMain [hadoop@slave1 zookeeper-3.4.5-cdh5.10.0]$ bin/zkServer.sh JMX enabled by default Using config: /opt/modules/zookeeper-3.4.5-cdh5.10.0/bin/../conf/zoo.cfg Usage: bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd} [hadoop@slave1 zookeeper-3.4.5-cdh5.10.0]$ bin/zkServer.sh start JMX enabled by default Using config: /opt/modules/zookeeper-3.4.5-cdh5.10.0/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [hadoop@slave1 zookeeper-3.4.5-cdh5.10.0]$ jps 4728 Jps 4702 QuorumPeerMain [hadoop@slave2 modules]$ cd zookeeper-3.4.5-cdh5.10.0/ [hadoop@slave2 zookeeper-3.4.5-cdh5.10.0]$ bin/zkServer.sh start JMX enabled by default Using config: /opt/modules/zookeeper-3.4.5-cdh5.10.0/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [hadoop@slave2 zookeeper-3.4.5-cdh5.10.0]$ jps 3370 Jps 3338 QuorumPeerMain
2)啓動HDFS和YARN
[hadoop@master hadoop-2.6.0]$ sbin/start-dfs.sh 18/05/29 01:15:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Starting namenodes on [master slave1] slave1: starting namenode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-namenode-slave1.out master: starting namenode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-namenode-master.out master: starting datanode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-datanode-master.out slave1: starting datanode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-datanode-slave1.out slave2: starting datanode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-datanode-slave2.out Starting journal nodes [master slave1 slave2] slave2: starting journalnode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-journalnode-slave2.out master: starting journalnode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-journalnode-master.out slave1: starting journalnode, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-hadoop-journalnode-slave1.out 18/05/29 01:15:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable [hadoop@master hadoop-2.6.0]$ sbin/start-yarn.sh starting yarn daemons starting resourcemanager, logging to /opt/modules/hadoop-2.6.0/logs/yarn-hadoop-resourcemanager-master.out slave2: starting nodemanager, logging to /opt/modules/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-slave2.out slave1: starting nodemanager, logging to /opt/modules/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-slave1.out master: starting nodemanager, logging to /opt/modules/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-master.out
3)啓動Hbase
[hadoop@master hbase]$ bin/start-hbase.sh starting master, logging to /opt/modules/hbase/logs/hbase-hadoop-master-master.out slave2: starting regionserver, logging to /opt/modules/hbase/bin/../logs/hbase-hadoop-regionserver-slave2.out slave1: starting master, logging to /opt/modules/hbase/bin/../logs/hbase-hadoop-master-slave1.out
4)jps查看各節點進程的狀態
[hadoop@master hbase]$ jps 8577 Jps 8193 JournalNode 7905 NameNode 8455 HMaster 8010 DataNode 7756 ResourceManager 7709 QuorumPeerMain [hadoop@slave1 hbase]$ jps 4850 NameNode 5016 JournalNode
4867 HMaster 5113 Jps 4762 ResourceManager 4925 DataNode 4702 QuorumPeerMain
[hadoop@slave2 hbase]$ jps 2341 HRegionServer 3510 JournalNode 3575 Jps 3338 QuorumPeerMain 3419 DataNode
八、經過web ui 查看HBase
http://master:60010/master-status http://slave1:60010/master-status
若是上述操做都ok,說明你的 HBase 集羣安裝成功。
以上就是博主爲你們介紹的這一板塊的主要內容,這都是博主本身的學習過程,但願能給你們帶來必定的指導做用,有用的還望你們點個支持,若是對你沒用也望包涵,有錯誤煩請指出。若有期待可關注博主以第一時間獲取更新哦,謝謝!