HBase集群環(huán)境搭建v2.0

本文檔環(huán)境基于ubuntu16.04版本,如果最終不使用SuperMap產(chǎn)品 ,可以不配置geomesa-hbase_2.11-2.2.0-bin.tar.gz
相比1.0版本,升級hadoop2.7.3版本、geomesa-hbase升級為2.11-2.2.0版本
(轉(zhuǎn)發(fā)請注明出處:http://www.itdecent.cn/u/829cbce64381如發(fā)現(xiàn)有錯,請留言,謝謝)

一、準(zhǔn)備

1.1 軟件版本

  1. hadoop-2.7.3
  2. zookeeper-3.4.10.tar.gz
  3. hbase-1.3.1-bin.tar.gz
  4. geomesa-hbase_2.11-2.2.0-bin.tar.gz
  5. jdk-8u131-linux-x64.tar.gz

1.2 網(wǎng)絡(luò)規(guī)劃

本文規(guī)劃搭建 3 臺機(jī)器組成集群模式,IP 與計(jì)算機(jī)名分別為, 如果是單臺搭建,只需填寫一個即可

192.168.20.122 master
192.168.20.123 slave1
192.168.20.124 slave2

1.3 軟件包拷貝

可將上述軟件包拷貝到 3 臺機(jī)器的 opt 目錄下

  1. JDK 1.8.0
  2. Hadoop 2.7.3
  3. zookeeper-3.4.10.tar.gz
  4. hbase-1.3.1-bin.tar.gz
  5. geomesa-hbase_2.11-2.2.0-bin.tar.gz

1.4 SSH 設(shè)置

修改/etc/ssh/sshd_config 文件,將以下三項(xiàng)開啟 yes 狀態(tài)

PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes

重啟 ssh 服務(wù)

service ssh restart

這樣 root 用戶可直接登陸,以及為后續(xù) ssh 無密碼登錄做準(zhǔn)備。

1.5 綁定 IP 和修改計(jì)算機(jī)名

1.5.1 修改/etc/hosts,添加 IP 綁定注釋 127.0.1.1 綁定(不注釋會影響 hadoop 集群)
1.5.2 修改/etc/hostname,為綁定計(jì)算機(jī)名。(計(jì)算機(jī)名和上面 hosts 綁定名必須一致)

1.6 SSH 無密碼登陸(需提前安裝 ssh)

1、ssh-keygen -t rsa #用 rsa 生成密鑰,一路回車。
2、cd ~/.ssh #進(jìn)到當(dāng)前用戶的隱藏目錄(.ssh)。
3、本機(jī)裝有 ssh-copy-id 命令,可以通過

ssh-copy-id root@第二臺機(jī)器名

然后輸入密碼,在此之后在登陸第二臺機(jī)器,可以直接 ssh[空格]第二臺機(jī)器名 進(jìn)行訪問,首次設(shè)置需要輸入密碼,第二次之后不再需要輸入密碼。

1.7 JDK 安裝(三臺機(jī)器可同步進(jìn)行)

下載:jdk-8u131-linux-x64.tar.gz 包,放到/opt 下解壓

1.7.1 將解壓后的文件夾重命名
mv jdk1.8.0_131 jdk
1.7.1 將 JDK 環(huán)境變量配置到/etc/profile 中
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
1.7.2 檢查 JDK 是否配置好
source /etc/profile
java -version
image

1.8 其他配置(三臺機(jī)器每臺單獨(dú)配置)

1.8.1 網(wǎng)絡(luò)配置

修改為固定 IP ,/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.20.122
netmask 255.255.255.0
gateway 192.168.20.1

重啟網(wǎng)絡(luò)

service networking restart
1.8.2 DNS 配置
第一種方法,永久改

修改/etc/resolvconf/resolv.conf.d/base(這個文件默認(rèn)是空的)

nameserver 119.6.6.6

保存后執(zhí)行

resolvconf -u

查看 resolv.conf 文件就可以看到我們的設(shè)置已經(jīng)加上

cat /etc/resolv.conf

重啟 resolv

/etc/init.d/resolvconf restart
第二種方法,臨時 改

修改 /etc/resolv.conf 文件,增加

nameserver 119.6.6.6

重啟 resolv

/etc/init.d/resolvconf restart

二、Hadoop 部署

2.1 Hadoop 安裝(三臺機(jī)器可同步進(jìn)行)

  1. 下載 hadoop2.7.3(hadoop-2.7.3.tar.gz)
  2. 解壓 tar -zxvf hadoop-2.7.3.tar.gz ,并在主目錄下創(chuàng)建 tmp、dfs、dfs/name、dfs/node、dfs/data
root@master:/opt/hadoop-2.7.3# mkdir tmp
root@master:/opt/hadoop-2.7.3# mkdir dfs
root@master:/opt/hadoop-2.7.3# mkdir dfs/name
root@master:/opt/hadoop-2.7.3# mkdir dfs/node
root@master:/opt/hadoop-2.7.3# mkdir dfs/data

2.2 Hadoop 配置

以下操作都在 hadoop-2.7.3/etc/hadoop 下進(jìn)行

2.2.1 編輯 hadoop-env.sh 文件,修改 JAVA_HOME 配置項(xiàng)為 JDK 安裝目錄
export JAVA_HOME=/opt/jdk
2.2.2 編輯 core-site.xml 文件,添加以下內(nèi)容,其中 master 為計(jì)算機(jī)名,/opt/hadoop-2.7.3/tmp 為手動創(chuàng)建的目錄
<configuration>
 <property>  
  <name>fs.defaultFS</name>  
  <value>hdfs://master:9000</value>  
 </property>  
 <property>  
  <name>io.file.buffer.size</name>  
  <value>131072</value>  
 </property>  
 <property>  
  <name>hadoop.tmp.dir</name>  
  <value>file:/opt/hadoop-2.7.3/tmp</value>  
  <description>Abasefor other temporary directories.</description>  
 </property>  
 <property>  
  <name>hadoop.proxyuser.spark.hosts</name>  
  <value>*</value>  
 </property>  
<property>  
  <name>hadoop.proxyuser.spark.groups</name>  
  <value>*</value>  
 </property> 
</configuration>
2.2.3 編輯hdfs-site.xml文件,添加以下內(nèi)容

其中master為計(jì)算機(jī)名,file:/opt/hadoop-2.7.3/dfs/name和file:/opt/hadoop-2.7.3/dfs/data為手動創(chuàng)建目錄

<configuration>
<property>  
  <name>dfs.namenode.secondary.http-address</name>  
  <value>master:9001</value>  
 </property>  
  <property>  
   <name>dfs.namenode.name.dir</name>  
   <value>file:/opt/hadoop-2.7.3/dfs/name</value>  
 </property>  
 <property>  
  <name>dfs.datanode.data.dir</name>  
  <value>file:/opt/hadoop-2.7.3/dfs/data</value>  
  </property>  
 <property>  
  <name>dfs.replication</name>  
  <value>3</value>  
 </property>  
 <property>  
  <name>dfs.webhdfs.enabled</name>  
  <value>true</value>  
 </property>  
</configuration>

復(fù)制mapred-site.xml.template并重命名為mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
2.2.4 編輯mapred-site.xml文件,添加以下內(nèi)容

其中master為計(jì)算機(jī)名

<configuration>
<property>  
   <name>mapreduce.framework.name</name>  
   <value>yarn</value>  
 </property>  
 <property>  
  <name>mapreduce.jobhistory.address</name>  
  <value>master:10020</value>  
 </property>  
 <property>  
  <name>mapreduce.jobhistory.webapp.address</name>  
  <value>master:19888</value>  
 </property>  
</configuration>
2.2.5 編輯yarn-site.xml文件,添加以下內(nèi)容

其中master為計(jì)算機(jī)名

<configuration>
<!-- Site specific YARN configuration properties -->
<property>  
   <name>yarn.nodemanager.aux-services</name>  
   <value>mapreduce_shuffle</value>  
  </property>  
  <property>  
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
  </property>  
  <property>  
   <name>yarn.resourcemanager.address</name>  
   <value>master:8032</value>  
  </property>  
  <property>  
   <name>yarn.resourcemanager.scheduler.address</name>  
   <value>master:8030</value>  
  </property>  
  <property>  
   <name>yarn.resourcemanager.resource-tracker.address</name>  
   <value>master:8035</value>  
  </property>  
  <property>  
   <name>yarn.resourcemanager.admin.address</name>  
   <value>master:8033</value>  
  </property>  
  <property>  
   <name>yarn.resourcemanager.webapp.address</name>  
   <value>master:8088</value>  
  </property>  
</configuration>
2.2.6 修改slaves文件,添加本機(jī)作為集群節(jié)點(diǎn)
master
slave1
slave2
2.2.7 Hadoop集群搭建

hadoop配置集群,可以將配置文件etc/hadoop下內(nèi)容同步到其他機(jī)器上,既2.2.1-2.2.6無需在一個個配置。

cd /opt/hadoop-2.7.3/etc
scp -r hadoop root@另一臺機(jī)器名:/opt/hadoop-2.7.3/etc

2.3 Hadoop啟動

1.格式化一個新的文件系統(tǒng),進(jìn)入到hadoop-2.7.3/bin下執(zhí)行:

./hadoop namenode -format

2.啟動hadoop,進(jìn)入到hadoop-2.7.3/sbin下執(zhí)行:

./start-all.sh

2.4 Hadoop集群檢查

檢查hadoop集群,進(jìn)入hadoop-2.7.3/bin下執(zhí)行

./hdfs dfsadmin -report

看到Live datanodes(3)代表成功。

三、ZooKeeper集群部署

3.1 ZooKeeper安裝(三臺機(jī)器可同步進(jìn)行)

  1. 下載ZooKeeper(zookeeper-3.4.10.tar.gz),放到opt目錄下
  2. 解壓zookeeper-3.4.10.tar.gz,并將解壓后的目錄名進(jìn)行修改
tar -zxvf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10 zookeeper

3.2 ZooKeeper配置(三臺機(jī)器可同步進(jìn)行)

1.進(jìn)入解壓后的的zookeeper目錄,創(chuàng)建存儲數(shù)據(jù)目錄zkdata

cd /opt/zookeeper
mkdir zkdata

2.進(jìn)入zookeeper/conf目錄,復(fù)制zoo_sample.cfg并重命名為zoo.cfg

cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

3.修改zoo.cfg文件,修改dataDir為我們新創(chuàng)建地址,并增加其他zookeeper節(jié)點(diǎn)

dataDir=/opt/zookeeper/zkdata
server.1=192.168.20.122:2888:3888
server.2=192.168.20.123:2888:3888
server.3=192.168.20.124:2888:3888
image

4.進(jìn)入zkdata目錄,新建一個文件myid文件,寫入標(biāo)識ID即可,ID與上面server.X相匹配

cd /opt/zookeeper/zkdata
vi myid

注意:

比如我配置的三個server,myid里面寫的X就是server.X=ip:2888:3888 中ip所對應(yīng)的X
server.1=192.168.20.122:2888:3888【192.168.20.122服務(wù)器上面的myid填寫1】
server.2=192.168.20.123:2888:3888【192.168.20.123服務(wù)器上面的myid填寫2】
server.3=192.168.20.124:2888:3888【192.168.20.124服務(wù)器上面的myid填寫3】

3.3 ZooKeeper啟動

在三臺機(jī)器上分別手動一個個啟動ZooKeeper,進(jìn)入/opt/zookeeper-3.4.10/bin目錄

cd /opt/zookeeper/bin
./zkServer.sh start

是否啟動成功,執(zhí)行以下命令

 ./zkServer.sh status

122機(jī)器輸出

root@master:/opt/zookeeper/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower

123機(jī)器輸出

root@slave1:/opt/zookeeper/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: leader

124機(jī)器輸出

root@slave2:/opt/zookeeper/bin# ./zkServer.sh status 
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower

啟動過程命令:./zkServer.sh start-foreground

四、HBase部署

4.1 HBase安裝

  1. 下載HBase(hbase-1.3.1-bin.tar.gz),放到opt目錄下
  2. 解壓hbase-1.3.1-bin.tar.gz
tar -zxvf hbase-1.3.1-bin.tar.gz

4.2 HBase配置

1.進(jìn)入habase的conf目錄

/opt/hbase-1.3.1/conf

2.編輯hbase-env.sh文件,添加Java環(huán)境變量并關(guān)閉HBase自帶的Zookeeper

export JAVA_HOME=/opt/jdk/
export HBASE_MANAGES_ZK=false

3.編輯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.master</name>
                <value>master:60000</value>
        </property>
        <property>
                <name>hbase.regionserver.handler.count</name>
                <value>100</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>master:2181,slave1:2181,slave2:2181</value>
        </property>
        <property>
            <name>hbase.zoopkeeper.property.dataDir</name>
            <value>/opt/zookeeper/zkdata</value>
        </property>
</configuration>

4.編輯regionservers文件,將三臺機(jī)器名添加其中

root@master:/opt/hbase-1.3.1/conf# cat regionservers 
master
slave1
slave2

4.3 第三方包導(dǎo)入

第三方包,我們只需要geomesa-hbase中的一個jar文件,將該jar包復(fù)制到hbase中的lib目錄。

geomesa-hbase下載地址:https://github.com/locationtech/geomesa/releases
此次我們使用2.11-2.2.0版本,下載后完整包名為:geomesa-hbase_2.11-2.2.0-bin.tar.gz
所使用的jar包位于geomesa-hbase_2.11-2.2.0/dist/hbase/geomesa-hbase-distributed-runtime_2.11-2.2.0.jar

cd /opt/hbase-1.3.1/lib
cp /opt/geomesa-hbase-distributed-runtime_2.11-2.2.0.jar .

4.4 其它2個節(jié)點(diǎn)也進(jìn)行同步進(jìn)行上述操作

可以使用scp方式進(jìn)行同步,也可以將第三方復(fù)制到其它節(jié)點(diǎn),將修改的幾個配置文件進(jìn)行替換

#scp命令
cd /opt
scp -r hbase-1.3.1 root@slave1:/opt
scp -r hbase-1.3.1 root@slave2:/opt

4.5 HBase啟動

進(jìn)入HBase中bin目錄下,執(zhí)行以下命令,完成HBase集群啟動

./start-hbase.sh  

4.6 檢查HBase集群

瀏覽器訪問http://192.168.20.122:16010/ (其中192.168.20.122為master節(jié)點(diǎn)IP)
能看到三個節(jié)點(diǎn),則表示HBase集群搭建成功

image

(轉(zhuǎn)發(fā)請注明出處:http://www.itdecent.cn/u/829cbce64381如發(fā)現(xiàn)有錯,請留言,謝謝)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容