日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop集群搭建(六:HBase的安装配置)

發布時間:2023/11/27 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop集群搭建(六:HBase的安装配置) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗

目的

要求

?

目的:

1、HBase的高可用完全分布模式的安裝和驗證

要求:

  1. 完成HBase的高可用完全分布模式的安裝;
  2. HBase的相關服務進程能夠正常的啟動;
  3. HBase控制臺能夠正常使用;
  4. 表創建、數據查詢等數據庫操作能夠正常進行;

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

  1. 五臺獨立PC式虛擬機;
  2. 主機之間有有效的網絡連接;
  3. 每臺主機內存2G以上,磁盤50G。;
  4. 所有主機上安裝CentOS7-64位操作系統。;
  5. 所有主機已完成網絡屬性配置;
  6. 所有主機已安裝JDK;
  7. 已完成Zookeeper集群的安裝和部署;
  8. 已完成Hadoop集群的安裝配置;

?

軟件版本:

??????? 選用HBase的1.2.3版本,軟件包名hbase-1.2.3-bin.tar.gz

?

集群規劃:

????? ????* HBase有主節點和Region節點2類服務節點,高可用完全分布模式中需要滿足主節點有備用的基本要求,所以需要兩臺或以上的主機作為主節點,而完全分布模式中需要滿足Region有備份和數據處理能夠分布并行的基本要求,所以要求兩臺或以上的主機作為Region節點,具體規劃如下:

主機名

IP地址

服務描述

Cluster-01

192.168.10.111

Hadoop主節點

Hadoop主節點控制切換服務

YARN主節點

Cluster-02

192.168.10.112

Hadoop備用主節點

Hadoop主節點控制切換服務

YARN備用主節點

Cluster-03

192.168.10.113

Hadoop數據服務

Hadoop同同步通信服務

YARN節點管理服務

Cluster-04

192.168.10.114

Hadoop數據服務

Hadoop同同步通信服務

YARN節點管理服務

Cluster-05

192.168.10.115

Hadoop數據服務

Hadoop同同步通信服務

YARN節點管理服務

?

?

實驗內容

步驟一:HBase基本安裝配置

注:1、該項的所有操作步驟使用專門用于集群的用戶admin進行;

? ? ? ?2、此項只在一臺主機操作,然后在下一步驟進行同步安裝與配置;

?

1、首先,HBase軟件包“hbase-1.2.3-bin.tar.gz”我們已經上傳到用戶家目錄的“setups”目錄下。然后進行解壓和環境變量設置;

命令:

???? $mkdir ~/hbase

???? $cd ~/hbase

???? $tar -xzf ~/setups/hbase-1.2.3-bin.tar.gz

?

2、配置Hadoop相關環境變量;

命令:

???? $vi ~/.bash_prolife

?

2、使新配置的環境變量立即生效,查看新添加和修改的環境變量是否設置成功,以及環境變量是否正確,驗證Hadoop的安裝配置是否成功;

命令:

???? $source ~/.bash_profile

???? $echo $HBASE_HOME

???? $echo $PATH

???? $hbase version

?

步驟二:HBase高可用完全分布模式配置;

注:該項的所有操作步驟使用專門用于集群的用戶admin進行;

1、進入Hbase相關文件的目錄,分別創建Hbase的元數據文件目錄“tmp”和HDFS的日志文件目錄“logs”、進入Hbase的配置文件所在目錄;

命令:

???? $cd ~/hbase

???? $mkdir tmp logs

???? $cd ~/hbase/hbase-1.2.3/conf

2、進入Hbase的配置文件所在目錄,對配置文件進行修改。

a)找到配置項“JAVA_HOME”所在行,將其改為以下內容:

export

JAVA_HOME=/home/admin/java/jdk1.8.0_131

b)找到配置項“HBASE_CLASSPATH”,該項用于指定Hadoop的配置文件所在的路徑,將其值改為一下內容:

??export

??HBASE_CLASSPATH=/home/admin/Hadoop/Hadoop-2.7.3/etc/Hadoop

c)找到配置項“HBASE_LOG_DIR”,該項用于指定HBase的日志文件的本地存放路徑,將其值改為以下內容:

??export

??HBASE_LOG_DIR=/home/admin/hbase/logs

d)找到配置項“HBASE_MANAGES_ZK”,該項用于關閉HBase自帶的Zookeeper組件,將其值改為一下內容:

??export

??HBASE_MANAGES_ZK=false

3、對配置文件hbase-site.xml進行修改,找到標簽“<configuration>”所在位置,在其中添加如下紅色部分的內容:

<configuration><property><name>hbase.rootdir</name><value>hdfs://Cluster-01:9000/user/admin/hbase</value></property><property><name>hbase.tmp.dir</name><value>/home/admin/hbase/tmp</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>Cluster-01:2181,Cluster-02:2181,Cluster-03:2181,Cluster-04:2181,Cluster-05:2181</value></property><property><name>hbase.master.maxclockskew</name><value>60000</value></property></configuration>

4、對配置文件regionservers進行修改,刪除文件中原有的所有內容,然后添加集群中所有數據節點的主機名,每行一個主機的主機名,配置格式如下:

Cluster-03

Cluster-04

Cluster-05

5、創建配置文件“backup-masters”,并對配置文件進行修改。添加集群中所有備用節點的主機名,每行一個主機的主機名,配置格式如下:

Cluster-02

步驟三:同步安裝配置以及系統時間;

注:該項的所有操作不受使用準們用于集群的用戶admin進行。

1、將“hbase”目錄和“.bash_profile”文件發給集群中所有主機,發送目標用戶為集群專用用戶admin,即當前與登錄用戶同名的用戶,發送目標路徑為“/home/admin”,即集群專用用戶admin的家目錄。

2、使新配置的環境變量立即生效,查看新添加和修改的環境變量是否設置成功,以及環境變量是否正確,驗證Hbase的安裝配置是否成功;

命令:

???? $source ~/.bash_profile

???? $echo $HBASE_HOME

???? $echo $PATH

???? $hbase version

3、系統時間配置;

注:時間同步項的所有操作步驟需要使用root用戶進行。

在集群中所有主機上使用命令“date -s ‘yyyy-MM-dd HH:mm:ss(年-月-日 時:分:秒)’”對系統時間進行設置,并使用命令“hwclock -w”將設置的時間同步到硬件時鐘。

*該操作盡量在所有主機上同時進行,從而保證主機之間的時間誤差值設定的“hbase.master.maxclockskew”范圍內。

*如果是在VMware Workstation Pro虛擬平臺上安裝的,那么需要開啟時間同步。選中虛擬機節點->右鍵->設置->選項,開啟時間同步。

步驟四:HBase高可用完全分布模式啟動和驗證;

注:*該項的所有操作步驟使用專門用于集群的用戶admin進行。

*啟動HBase集群之前首先確保Zookeeper集群已被開啟狀態。(實驗5臺)Zookeeper的啟動需要分別在每個計算機的節點上手動啟動,如果家目錄下執行啟動報錯則需要進入Zookeeper/bin目錄執行啟動命令。

*啟動HBase集群之前首先確保Hadoop集群已被開啟狀態。(實驗5臺)Hadoop只需要在主節點執行啟動命令。

?

1、啟動Zookeeper集群:

命令:

???? ?$zkServer.sh status????? //查看Zookeeper狀態

????? $zkServer.sh start?????? //啟動Zookeeper

?

2、在主節點使用此命令,查看java進程信息,若有名為“NameNode”、“ResourceManager”、“DataNode”和“NodeManager”這幾個進程,則表示Hadoop集群的主節點及數據節點啟動成功。

命令:

???? $jps??? ??????????????????//查看進程狀態

???? $start-all.sh???????????? //啟動Hadoop

???? $yarn-daemon.sh start resourcemanager

主節點及備用主節點:

通信節點:

3、確定Hadoop集群已啟動狀態,然后再主節點使用此命令,啟動HBase集群;

命令:

???? $start-hbase.sh

?

4、如果每項啟動出錯,那么一次檢查相應的配置文件和環境變量。

$source ~/.bash_profile

$echo $ZOOKEEPER_HOME

$echo $PATH

$echo $HADOOP_HOME

$echo $PATH

$echo $HBASE_HOME

$echo $PATH

5、使用命令“ssh 目標主機名或IP地址”遠程登錄到集群中所有Region節點主機,在Region節點使用命令“jps”查看java進程信息,若有名為“HRegionServer”的進程,則表示HBase集群的Region節點啟動成功。

?

6、驗證使用HBase;

命令:

???? $hbase shell ????????????????????//進入HBase的控制臺

???? >create ‘tab1’,‘id’,‘name’ //創建表

???? >exit???????? ???????????????????//退出控制臺

?

?

出現的問題與解決方案

排錯一:

出現問題:Zookeeper啟動不正常;

原 ???因:查看Zookeeper日志,發現錯誤信息:

ClientCnxn$SendThread@966] -?Opening socket connection to server slave1. Will not attempt to authenticate using SASL

通過百度搜索發現集群環境中有個別主機通信不正常。

解決方案:排查每臺主機的網絡配置,并全部重新啟動。

?

排錯二:

??? 出現問題:啟動hbase,Error: JAVA_HOME is not set

原 ???因:配置hbase-env.sh時JAVA_HOME配置有誤

解決方案:進入目錄“~/hbase/hbase-1.2.3/conf”編輯文件hbase-env.sh

????????? 找到配置項“JAVA_HOME”所在行,將其修改為以下內容:

??export

JAVA_HOME=/home/admin/java/jdk1.8.0_131

?

知識拓展

  1. HBase是什么?

Apache HBase是運行在Hadoop集群上的數據庫。為了實現更好的可擴展性(scalability),HBase放松了對ACID(數據庫的原子性,一致性,隔離性和持久性)的要求。因此HBase并不是一個傳統的關系型數據庫。另外,與關系型數據庫不同的是,存儲在HBase中的數據也不需要遵守某種嚴格的集合格式,這使得HBase是用來存儲結構不嚴格的數據的理想工具。

HBase在大數據應用的架構中應用非常廣泛。但是基于其與關系型數據庫迥異的設計模式,實現這些應用也與基于關系型數據庫來實現非常不同。下文將會對比HBase和關系型數據庫,并淺析HBase的特性。

?

2、關系型數據庫與HBase的對比。

2.1、先了解一下關系型數據庫的優勢和缺點。

  1. 關系型數據庫提供了標準的數據持久性模型
  2. SQL語言是事實上的數據操作標準語言
  3. 關系型數據庫內置了并發數據操作的管理機制
  4. 關系型數據庫提供全面的數據操作工具

2.2、HBase的高效,分布式,可擴展性。

由于HBase在設計上不支持關系和Join這樣的概念,需要一起查詢的數據就被存在一起。因此也就避免了關系型數據庫的一些局限性。下圖表現了HBase和關系型數據庫在數據存儲模型上的不同。

由于HBase將所有需要一起查詢到數據存儲在一起這一特性,HBase集群就自然能夠根據key來組織數據。在水平分割的時候,key值的范圍就可以被用來分割數據。每一個服務器存儲全部數據的一個子集。同時分布式的數據還可以被同時訪問。這大大增強了HBase的可擴展性。HBase實際上是Google Big Table的一個實現。Big Table是Google提出的一個用來存儲大規模數據的一個分布式系統。

HBase是基于Column family data store的理念設計的:每一行根據一個row key索引。也就是我們用來查詢的主鍵。同時每一行中有若干column family。每一個column family中有若干相關的column。如下圖所示。

HBase是一種Hadoop數據庫,經常被描述為一種稀疏的,分布式的,持久化的,多維有序映射,它基于行鍵、列鍵和時間戳建立索引,是一個可以隨機訪問的存儲和檢索數據的平臺。HBase不限制存儲的數據的種類,允許動態的、靈活的數據模型,不用SQL語言,也不強調數據之間的關系。HBase被設計成在一個服務器集群上運行,可以相應地橫向擴展。

?

3、HBase的基本操作。

a)Java友好提供了全面的java客戶端庫;

b)HBase中所有數據都是作為原始數據,使用數組的形式存儲;

c)行健是唯一標識符,類似數據庫的主鍵;

d)表中確定一個單元的坐標是[rowkey,cloumn fanmily,column qualifier];

e)5個基本命令來訪問HBase;Get(讀)、Put(寫)、Delete(刪除)、Scan(掃描)、Increment(遞增);

f)HFile是存儲文件,對應列族,一個列族可以有多少HFile文件,但是一個HFile不能存多個列族的數據;

g)寫的操作會寫入預寫式日志(WAL)和稱為MemStore的內存寫入緩沖區,當兩者都確認寫入后才認為寫的動作成功完成;

h)不建議禁用WAL,禁用后RegionServer故障時會導致數據丟失;

4、使用瀏覽器訪問https://192.168.100.111:16010

總結

以上是生活随笔為你收集整理的Hadoop集群搭建(六:HBase的安装配置)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:Hadoop集群搭建(六:HBase的安装配置)