1. 程式人生 > >iServer整合HBase操作說明

iServer整合HBase操作說明

       HBase是一款建立在Hadoop檔案系統之上的開源的分散式面向列的資料庫,採用橫向擴充套件架構。HBase是一個數據模型,類似於谷歌的大表設計,可以提供快速隨機訪問海量結構化資料,並利用了Hadoop的檔案系統(HDFS)提供的容錯能力。HBase作為Hadoop檔案系統的一部分,提供了對資料的隨機實時讀/寫訪問。人們可以通過HBase對大資料進行隨機,實時讀/寫訪問。
       本文將帶領您搭建一個HBase集群系統,並將已搭建好的HBase叢集註冊到iServer中。

目錄

1 搭建HBase叢集

1.1.配置裝置

準備3臺虛擬機器,安裝ubuntu-15.10作業系統,一臺作為叢集的主節點(master),其餘兩臺作為工作節點(worker),本例使用的三臺裝置的IP分別為:
       master:192.168.13.105
       worker1:192.168.13.52
       worker2:192.168.13.199
依照上述內容在三臺虛擬機器上分別配置hosts:
       192.168.13.105 master
       192.168.13.52 worker1
       192.168.13.199 worker2

1.2.安裝JDK

在每臺裝置中安裝JDK,下載地址為https://www.oracle.com/technetwork/java/javase/downloads/index.html。本文將帶領您安裝jdk-8u111-linux-x64.tar.gz,步驟如下:

  1. 解壓tar -zxvf jdk-8u111-linux-x64.tar.gz
  2. 移動到指定目錄(可選):
    mkdir /usr/lib/jdk
    mv jdk1.8.0_111 /usr/lib/jdk/jdk1.8
  3. 設定環境變數:
    方法一:修改全域性配置檔案,可作用於所有使用者,輸入如下命令開啟全域性配置檔案:
    vi /etc/profile
    輸入以下內容:
    export JAVA_HOME=/usr/lib/jdk/jdk1.8
    export CLASSPATH=.: $ {JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=.: $ {JAVA_HOME}/bin:$PATH
    方法二:修改當前使用者配置檔案,只作用於當前使用者,輸入如下命令開始編輯:
    vi ~/.bashrc
    輸入的內容同上。
  4. 使修改的配置立刻生效:
    source /etc/profile

    source ~/.bashrc
  5. 輸入版本檢視命令,即可檢查是否安裝成功:
    java -version

1.3.配置SSH及免密碼登陸

  1. 在etc/hostname中配置各節點自己的hostname,並將各節點的IP和hostname新增到各節點的etc/hosts檔案中。
  2. 配置免密登入
    分別在master和worker上執行:
    ssh-keygen -t rsa -P
    其中,-P表示密碼,選填,預設需要三次回車。
    執行完命令後,在/home/hdfs/.ssh目錄下生成如下兩個檔案:
    id_rsa:私鑰檔案
    id_rsa.pub:公鑰檔案
    分別在master和worker上執行以下命令
    ssh-copy-id -i /home/hdfs/.ssh/id_rsa.pub [ip] (自己的ip)
    其中,當在master節點上還需執行
    ssh-copy-id -i /home/hdfs/.ssh/id_rsa.pub ip(worker的ip)
    在master和worker上執行如下命令,驗證配置是否成功:
    ssh worker/master

1.4.安裝Hadoop

  1. 在master節點中安裝Hadoop。獲取Hadoop的地址:http://archive.apache.org/dist/hadoop/core/ 解壓。本文將Hadoop解壓至/home/Hbase/hadoop-2.7.3,接下來用./代替根目錄,您可根據實際情況進行調整。

  2. 在hadoop-2.7.3資料夾裡面新建4個資料夾,分別為:
    ./nfs
    ./tmp
    ./nfs/name
    ./nfs/data

  3. 配置 hadoop
    先進入配置檔案的路徑,例如:./etc/hadoop
    輸入ls命令檢視該路徑下的檔案列表
    在這裡插入圖片描述
    紅框中的檔案是需要配置的檔案。
    a) 首先配置core-site.xml檔案。輸入如下命令開始編輯:
    vi core-site.xml
    編輯內容如圖:
    在這裡插入圖片描述
    注意:hadoop.tmp.dir屬性中的value和步驟1中建立的./tmp路徑要一致。
    b) 配置 hadoop-env.sh檔案,輸入如下命令開始編輯:
    vi hadoop-env .sh
    在這裡插入圖片描述
    將JAVA_HOME檔案配置為本機JAVA_HOME路徑
    c) 配置 yarn-env .sh,輸入如下命令開始編輯:
    vi yarn-env .sh
    在這裡插入圖片描述
    將其中的JAVA_HOME修改為本機JAVA_HOME路徑(先把這一行的#去掉)
    d) 配置hdfs-site.xml,輸入如下命令開始編輯:
    vi hdfs-site.xml
    在configuration標籤中加入以下程式碼
    在這裡插入圖片描述
    注意:其中dfs.namenode.name.dir和dfs.datanode.data.dir的value和步驟1建立的./nfs/name和./nfs/data需一致;因為這裡只有兩個子節點,所以dfs.replication設定為2

  4. 複製mapred-site.xml.template檔案,並命名為mapred-site.xml:
    cp mapred-site.xml.template mapred-site.xml

  5. 編輯mapred-site.xml:
    vi mapred-site.xml
    在標籤configuration標籤中新增以下程式碼
    在這裡插入圖片描述

  6. 配置yarn-site.xml:
    vi yarn-site.xml
    在configuration標籤中新增以下程式碼
    在這裡插入圖片描述

  7. 配置slaves檔案:
    vi slaves
    在這裡插入圖片描述
    把原本的localhost刪掉,改為兩個子節點的主機名

  8. 配置masters檔案:
    vi masters
    在這裡插入圖片描述
    改為主節點的主機名

  9. 配置hadoop的環境變數,同JDK類似。首先編輯配置檔案:
    vi /etc/profile
    在這裡插入圖片描述
    鍵入命令 source /etc/profile 使配置立即生效

  10. 接下來,將hadoop傳到worker1和worker2節點中的相同目錄中:
    scp -r hadoop-2.7.3 [email protected]: /home/hbase/hadoop-2.7.3
    scp -r hadoop-2.7.3 [email protected]: /home/hbase/ hadoop-2.7.3
    注意:root是虛擬機器的使用者名稱,建立worker1和worker2時設定的
    傳過去後,在worker1和worker2上面同樣對hadoop進行路徑配置,和步驟10一樣

  11. 初始化hadoop
    [[email protected] bin]$ ./hadoop namenode –format

  12. 開啟hadoop
    [[email protected] sbin]$ ./start-dfs.sh
    [[email protected] sbin]$ ./start-yarn.sh

  13. 驗證叢集是否搭建成功
    在mater上面鍵入jps後,顯示如下:
    在這裡插入圖片描述
    在worker1和worker2節點中鍵入jps後,顯示如下:
    在這裡插入圖片描述
    則說明叢集搭建成功。
    最後,通過訪問主節點的IP:http://192.168.13.105:50070,出現以下介面,hadoop叢集搭建成功:
    在這裡插入圖片描述

  14. 建立HBase目錄
    在hadoop叢集下新建/hbase目錄(用於Hbase叢集建立)
    hadoop fs –mkdir /hbase
    通過點選Browse the file system檢視
    在這裡插入圖片描述
    如果不能建立,報連線失敗,請仔細檢查./conf/hdfs-site.xml和/etc/hosts檔案是否有配置多餘的連線路徑。

1.5.安裝zookeeper

ZooKeeper是一個為分散式應用提供一致性服務的軟體,是Hadoop和Hbase的重要元件。其架構圖如下:
在這裡插入圖片描述
其中,follower負責響應讀請求,leader負責提交寫請求
Zookeeper安裝步驟如下:

  1. 下載zookeeper並解壓,本文解壓目錄:/home/hbase
    tar -zxvf zookeeper-3.4.10.tar.gz
    增加檔案許可權:
    chmod +wxr zookeeper-3.4.10

  2. 修改zookeeper的配置檔案,並建立資料目錄和日誌目錄(根目錄:/home/hbase)
    cd zookeeper-3.4.10
    mkdir data
    mkdir logs
    注意:在./ zookeeper-3.4.10/conf/目錄下將zoo_sample.cfg重新命名為zoo.cfg(只能存在一個)
    a) 編輯重新命名後的zoo.cfg檔案
    vi conf/zoo.cfg
    編輯內容如下:
    在這裡插入圖片描述
    b) 進入data目錄,編輯myid
    cd data
    vi myid
    在這裡插入圖片描述
    與zoo.cfg檔案保持一致(server.1)

  3. 複製master的zookeeper-3.4.10到worker1和worker2上:
    scp -r zookeeper-3.4.10 [email protected]:/home/hbase/zookeeper-3.4.10
    scp -r zookeeper-3.4.10 [email protected]:/home/hbase/zookeeper-3.4.10

  4. 分別修改worker1和worker2上myid的值為2和3
    vi myid

  5. 分別啟動master、worker1和worker2上的zookeeper
    [[email protected] zookeeper-3.4.10]$ bin/zkServer.sh start
    [[email protected] zookeeper-3.4.10]$ bin/zkServer.sh start
    [[email protected] zookeeper-3.4.10]$ bin/zkServer.sh start

  6. 檢視zookeeper的狀態
    在這裡插入圖片描述

  7. 驗證zookeeper叢集
    [[email protected] zookeeper-3.4.10]$ bin/zkCli.sh -server c7003:2181
    當出現Welcome to ZooKeeper! 時,則表示zookeeper叢集安裝完畢!
    其他注意事項:
    檔案許可權保持一致
    關閉防火牆
    小心2181預設埠被佔用問題
    zookeeper.out日誌檔案位置:安裝路徑根目錄下
    重啟服務之前清空./data目錄下除myid外的其他檔案

1.6.安裝HBase

  1. 解壓縮hbase的軟體包,本文解壓目錄為:/home/hbase,使用命令:
    tar -zxvf hbase-1.3.0-bin.tar.gz
  2. 配置環境變數
    vi /etc/profile
    輸入如下內容:
    在這裡插入圖片描述
    輸入命令source /etc/profile,使之立即生效
  3. 進入hbase的配置目錄,修改hbase-env.sh檔案(路徑:./hbase-1.3.1/conf)
    在這裡插入圖片描述
    在./hbase-1.3.1下新建pids目錄
  4. 編輯hbase-site.xml ,新增配置檔案:
    vi hbase-site.xml
    在這裡插入圖片描述
    其中:
    hbase.rootdir的value對應在hadoop叢集建立的/hbase目錄
    hbase.zookeeper.quorum的value對應zookeeper叢集的三個節點ip/主機名
    hbase.zookeeper.property.dataDir的value對應zookeeper根目錄下data目錄(5小節步驟2)
  5. 編輯配置目錄下面的檔案regionservers. 命令:
    vi regionservers
    刪除localhost,加入如下內容:
    worker1
    worker2
  6. 把HBase複製到其他機器,命令如下:(在/home/hbase目錄下)
    scp -r hbase-1.3.1 [email protected]:/home/hbase/ hbase-1.3.1
    scp -r hbase-1.3.1 [email protected]:/home/hbase/ hbase-1.3.1
  7. 在master機器開啟hbase服務。命令如下:
    [[email protected] hbase-1.3.1]$ bin/start-hbase.sh
    在master、worker1、worker2中的任意一臺機器使用bin/hbase shell 進入hbase自帶的shell環境,然後使用命令version等,進行檢視hbase資訊及建立表等操作。
    通過訪問http://192.168.13.105:16010,出現以下介面,HBase叢集搭建成功:
    在這裡插入圖片描述

2 iServer如何使用HBase叢集

  1. 配置iServer所在機器的hosts檔案,新增HBase叢集主機的ip和埠,本例為:
    192.168.13.105 master
    192.168.13.52 worker1
    192.168.13.199 worker2

  2. 下載geomesa-hbase-distributed-runtime_2.11-2.0.2.jar,並部署到HBase叢集安裝目錄./lib下,重啟HBase叢集,下載地址:
    https://mvnrepository.com/artifact/org.locationtech.geomesa/geomesa-hbase-distributed-runtime_2.11/2.0.2

  3. 解壓iServer包,註冊HBase資料庫且所註冊的hbase資料庫允許編輯。註冊成功後如下圖所示:
    在這裡插入圖片描述

  4. 將資料匯入到hbase中。首先,需要配置分散式分析,使用資料拷貝功能,將資料匯入到HBase中。匯入成功後如下圖所示:
    在這裡插入圖片描述
    同時匯入成功後,可在資料目錄服務的資料集列表中檢視匯入的資料集資訊
    在這裡插入圖片描述

  5. 釋出hbase中的資料為iServer 服務。選擇快速釋出->HBase服務->填寫服務地址、資料庫地址->下一步->選擇要釋出的服務
    在這裡插入圖片描述

  6. 如果釋出hbase中的資料為地圖服務,則還需配置地圖style
    在這裡插入圖片描述
    a) iServer提供了預設的style.json檔案。內建的風格檔案為【iServer安裝目錄】/webapps/iserver/WEB-INF/config/mapboxstyles/defaultstyle.json檔案。
    b) 您可以指定自定義的style.json檔案。當前可以通過桌面生成相應的style檔案。具體如下:在iDesktop開啟工作空間,點選地圖,選擇需要配置style的圖層,右鍵“生成地圖瓦片(單任務)”,選擇合適的地圖比例尺,瓦片型別選擇“向量瓦片”,選擇儲存路徑(本例F:\wangyd\data\2015su\),點選確定。完成後,在儲存路徑./styles下找到style.json檔案
    在這裡插入圖片描述