Hbase集群安裝指南

Hbase集群安裝指南

HBase – Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。

Hadoop HDFS為HBase提供了高可靠性的底層存儲(chǔ)支持,Hadoop MapReduce為HBase提供了高性能的計(jì)算能力,Zookeeper為HBase提供了穩(wěn)定服務(wù)和failover機(jī)制。

Pig和Hive還為HBase提供了高層語(yǔ)言支持,使得在HBase上進(jìn)行數(shù)據(jù)統(tǒng)計(jì)處理變的非常簡(jiǎn)單。 Sqoop則為HBase提供了方便的RDBMS數(shù)據(jù)導(dǎo)入功能,使得傳統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)向HBase中遷移變的非常方便。

Hbase基于Hadoop,所以安裝Hbase之前,需要安裝好Hadoop集群,包含Java、ssh免密登錄、Zookeeper、Hadoop。

基礎(chǔ)配置

安裝Hadoop之間,給各節(jié)點(diǎn)創(chuàng)建用戶,盡量不要在root用戶下進(jìn)行環(huán)境搭建。
涉及到集群部署,虛擬機(jī)或服務(wù)器都被稱(chēng)為主節(jié)點(diǎn)、子節(jié)點(diǎn)。基礎(chǔ)配置,集群中每個(gè)節(jié)點(diǎn)都需要做。

  1. /etc/hosts和/etc/hostname配置

    配置hostname時(shí),不要使用“.”“_"等特殊字符,這些字符會(huì)導(dǎo)致hadoop啟動(dòng)失敗。

    hosts配置格式為集群機(jī)器ip 機(jī)器hostname,比如:

        192.168.100.10 hadoopa
        192.168.100.11 hadoopb
        192.168.100.12 hadoopc
    
  2. ssh免密登錄配置

    • 生成ssh公鑰
    ssh-keygen -t rsa
    

    當(dāng)前用戶Home目錄下的.ssh目錄會(huì)生成公鑰文件(id_rsa.pub)和私鑰文件(id_rsa)

    • 分發(fā)公鑰

      將生成的公鑰分發(fā)給其他節(jié)點(diǎn),本機(jī)也要復(fù)制一份。

      進(jìn)入個(gè)人/home/.ssh下執(zhí)行如下命令:

    ssh-copy-id xxx(節(jié)點(diǎn)名稱(chēng))
    

Java安裝與環(huán)境變量配置

安裝jdk 1.8
yum -y install java-1.8.0-openjdk*
查詢java安裝路徑
ls -l rt /usr/bin/java 

ls -l rt  /etc/alternatives/java

Zookeeper安裝

安裝Zookeeper之間需要先安裝Java

下載解壓
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz 
cp zookeeper-3.4.14 /usr/local/zookeeper -r
配置conf文件夾下zoo.cfg
cp zoo_sample.cfg zoo.cfg
修改或新增內(nèi)容
dataDir=/usr/local/zookeeper/data

server.1=192.168.1.91:2888:3888

server.2=192.168.1.92:2888:3888

server.3=192.168.1.93:2888:3888
在/usr/local/zookeeper/data下創(chuàng)建文件并寫(xiě)入內(nèi)容
touch myid
echo "1">>myid
復(fù)制zookeeper到其他節(jié)點(diǎn),主節(jié)點(diǎn)名稱(chēng)hadoopa, 目標(biāo)節(jié)點(diǎn)名稱(chēng)hadoopb
scp -r /usr/local/zookeeper hadoopb:/usr/local/
修改hadoopb節(jié)點(diǎn)文件myid
echo "2">myid
復(fù)制到其他節(jié)點(diǎn)步驟一致。
啟動(dòng),停止和查看狀態(tài)

各個(gè)節(jié)點(diǎn)都要執(zhí)行啟動(dòng)或者停止命令

/usr/local/zookeeper-3.4.6/bin/zkServer.sh start
/usr/local/zookeeper-3.4.6/bin/zkServer.sh stop
/usr/local/zookeeper-3.4.6/bin/zkServer.sh status

zookeeper啟動(dòng)之后會(huì)自動(dòng)選擇leader和follwer

Hadoop安裝

下載

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz 

解壓到 個(gè)人/home/hadoop下

tar -zxvf download/hadoop-3.1.2.tar.gz  

文件配置

配置文件都在hadoop解壓目錄的etc/hadoop/下

  1. hadoop-env.sh配置

    找到 export JAVA_HOME= .....這行改為我們實(shí)際配置的 JAVA_HOME 路徑,并去掉 # 號(hào)注釋

  2. core-site.xml配置

    configuration標(biāo)簽里添加如下配置,其中hadoopa為主機(jī)名,xiaoming為用戶文件夾

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoopa:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/xiaoming/hadoopdata</value>
    </property>
    
  3. hdfs-site.xml配置

    指定 HDFS 副本數(shù)量

    注意:Hadoop3.1的namenode節(jié)點(diǎn)端口從50070改為9870端口了

        <configuration>
           <property>
               <name>dfs.replication</name>
               <value>2</value>
           </property>
        </configuration>
    
  4. mapred-site.xml配置

    指定 MapReduce運(yùn)行在yarn上

        <configuration> 
           <property>  
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration>
    
  5. yarn-site.xml配置

    指定 ResourceManager 服務(wù)節(jié)點(diǎn)

        <configuration>
           <property>
                <name>yarn.resourcemanger.hostname</name>
                <value>hadoopa</value>
            </property>
            <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
             </property>
         </configuration>
    
  6. workers配置

    之前我使用hadoop-2.6 這個(gè)文件名為 slaves ,現(xiàn)在3.0版本為 workers

    在此文件添加 我們作為DataNode節(jié)點(diǎn)的兩臺(tái)臺(tái)機(jī)器的主機(jī)名,如果我們只將hadoopa 作為 namenode不做為datanode的話,就不用在此文件中添加hadoopa 了,我這里三臺(tái)機(jī)器都做為 DataNode 節(jié)點(diǎn)

    hadoopa
    hadoopb
    hadoopc
    

分發(fā)配置完成的Hadoop文件夾

將Hadoop發(fā)到另外兩臺(tái)機(jī)器

scp -r /home/用戶名/hadoop/  用戶名@hadoopb:/home/用戶名/
scp -r /home/用戶名/hadoop/  用戶名@hadoopc:/home/用戶名/

配置Hadoop 環(huán)境變量

三臺(tái)機(jī)器都需要配置

root 賬戶下執(zhí)行:vi /etc/profile

export HADOOP_HOME=/home/xiaoming/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

然后保存退出

執(zhí)行 source /etc/profile 使配置生效

初始化操作

完成以上步驟后,需要先格式化文件系統(tǒng)

NameNode 節(jié)點(diǎn)上執(zhí)行,我上面的配置是將 hadoopa 作為 NameNodde 節(jié)點(diǎn),hadoopb,hadoopc 作為 DataNode 節(jié)點(diǎn)

在 hadoopa 下執(zhí)行格式化

普通賬戶下 執(zhí)行:hdfs namenode -format

啟動(dòng)hadoop

start-all.sh 啟動(dòng)Hadoop集群

stop-all.sh 關(guān)閉Hadoop集群

驗(yàn)證hadoop

在namenode節(jié)點(diǎn)下執(zhí)行jps,可以看到如下進(jìn)程:NodeManager、ResourceManager、DataNode、NameNode、SecondaryNameNode。

在datanode節(jié)點(diǎn)下執(zhí)行jps,可以看到如下進(jìn)程:DataNode、NodeManager

如果發(fā)現(xiàn)缺少進(jìn)程,進(jìn)入logs文件夾,查看相應(yīng)進(jìn)程對(duì)應(yīng)的日志文件。

通過(guò)瀏覽器訪問(wèn)WEB UI:http://ip:9870

Hbase安裝

版本對(duì)應(yīng)關(guān)系:Hadoop 3.1.2 \ Hbase-2.2.x \ ZooKeeper 3.4.x

版本不對(duì)應(yīng)會(huì)導(dǎo)致軟件無(wú)法正常工作。

沒(méi)有做特殊說(shuō)明,操作都是在普通用戶下進(jìn)行。

下載及安裝

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.2.0/hbase-2.2.0-bin.tar.gz

將下載的文件解壓到用戶目標(biāo)目錄,這里是/home/xiaoming/

tar xvzf hbase-2.2.0-bin.tar.gz /home/xiaoming/

管理員用戶下設(shè)置環(huán)境變量

vi /etc/profile

# 在 /etc/profile 文件末尾添加如下內(nèi)容
export HBASE_HOME=/home/xiaoming/hbase-2.2.0
export PATH=$HBASE_HOME/bin:$PATH
 
# 使配置生效
source /etc/profile

配置Hbase

  1. 修改hbase-2.2.0/conf下hbase-env.sh

        export JAVA_HOME=/usr/lib/jvm/java-1.8.0
        #禁用Hbase自帶的zookeeper
        export HBASE_MANAGES_ZK=false
    
  2. 修改hbase-2.2.0/conf下hbase-site.xml

        <configuration>
        <!-- 指定hbase在HDFS上存儲(chǔ)的路徑 -->
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://hadoopa:9000/hbase</value>
            </property>
            <!-- 指定hbase是分布式的 -->
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>
            <!-- 指定zk的地址,多個(gè)用“,”分割 -->
            <property>
                <name>hbase.zookeeper.quorum</name>
                <value>192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181</value>
            </property>
            <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/home/xiaoming/data/zookeeper</value>
            </property>
            <property>
                <name>hbase.unsafe.stream.capability.enforce</name>
                <value>false</value>
            </property>
          </configuration>
    
  3. 修改hbase-2.2.0/conf下regionservers

    添加節(jié)點(diǎn)hostname

 hadoopa
 hadoopb
 hadoopc
  1. 拷貝hadoop配置文件core-site.xmlhdfs-site.xml到hbase-2.2.0/conf下

        cp $HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf/
        cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf/
    
  2. 分發(fā)Hbase文件到其他節(jié)點(diǎn)

        scp -r hbase-2.2.0/ hadoopb:/home/xiaoming/
        scp -r hbase-2.2.0/ hadoopc:/home/xiaoming/
    

啟動(dòng)Hbase

在啟動(dòng)Hbase之前,先啟動(dòng)zookeeper和hadoop。

在哪個(gè)節(jié)點(diǎn)上輸入啟動(dòng)命令start-hbase.sh,哪個(gè)節(jié)點(diǎn)就是Hmaster。啟動(dòng)完成后可以通過(guò)jps查看進(jìn)程。

Hmaster節(jié)點(diǎn)進(jìn)程:

SecondaryNameNode
NodeManager
ResourceManager
HRegionServer
Jps
DataNode
QuorumPeerMain
HMaster
NameNode

子節(jié)點(diǎn)進(jìn)程:

QuorumPeerMain
HRegionServer
DataNode
Jps
NodeManager

啟動(dòng)完成后,可以通過(guò)WEB UI查看Hbase集群情況,http://ip:16010

如果發(fā)現(xiàn)子節(jié)點(diǎn)啟動(dòng)HRegionServer失敗,通常是因?yàn)樽庸?jié)點(diǎn)系統(tǒng)的時(shí)間不同步造成的。調(diào)整系統(tǒng)時(shí)間即可解決。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,676評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,730評(píng)論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,118評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,873評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,266評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評(píng)論 3 443
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,482評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,036評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,846評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,025評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,279評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,684評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,953評(píng)論 1 289
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,751評(píng)論 3 394
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,016評(píng)論 2 375