HBase 系列(四)—— HBase 集群環境配置

来源:https://www.cnblogs.com/heibaiying/archive/2019/08/24/11404883.html
-Advertisement-
Play Games

一、集群規劃 這裡搭建一個 3 節點的 HBase 集群,其中三台主機上均為 。同時為了保證高可用,除了在 hadoop001 上部署主 服務外,還在 hadoop002 上部署備用的 服務。Master 服務由 Zookeeper 集群進行協調管理,如果主 不可用,則備用 會成為新的主 。 二、前 ...


一、集群規劃

這裡搭建一個 3 節點的 HBase 集群,其中三台主機上均為 Regin Server。同時為了保證高可用,除了在 hadoop001 上部署主 Master 服務外,還在 hadoop002 上部署備用的 Master 服務。Master 服務由 Zookeeper 集群進行協調管理,如果主 Master 不可用,則備用 Master 會成為新的主 Master

二、前置條件

HBase 的運行需要依賴 Hadoop 和 JDK(HBase 2.0+ 對應 JDK 1.8+) 。同時為了保證高可用,這裡我們不採用 HBase 內置的 Zookeeper 服務,而採用外置的 Zookeeper 集群。相關搭建步驟可以參閱:

三、集群搭建

3.1 下載並解壓

下載並解壓,這裡我下載的是 CDH 版本 HBase,下載地址為:http://archive.cloudera.com/cdh5/cdh/5/

# tar -zxvf hbase-1.2.0-cdh5.15.2.tar.gz

3.2 配置環境變數

# vim /etc/profile

添加環境變數:

export HBASE_HOME=usr/app/hbase-1.2.0-cdh5.15.2
export PATH=$HBASE_HOME/bin:$PATH

使得配置的環境變數立即生效:

# source /etc/profile

3.3 集群配置

進入 ${HBASE_HOME}/conf 目錄下,修改配置:

1. hbase-env.sh

# 配置JDK安裝位置
export JAVA_HOME=/usr/java/jdk1.8.0_201
# 不使用內置的zookeeper服務
export HBASE_MANAGES_ZK=false

2. hbase-site.xml

<configuration>
    <property>
        <!-- 指定 hbase 以分散式集群的方式運行 -->
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <!-- 指定 hbase 在 HDFS 上的存儲位置 -->
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop001:8020/hbase</value>
    </property>
    <property>
        <!-- 指定 zookeeper 的地址-->
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop001:2181,hadoop002:2181,hadoop003:2181</value>
    </property>
</configuration>

3. regionservers

hadoop001
hadoop002
hadoop003

4. backup-masters

hadoop002

backup-masters 這個文件是不存在的,需要新建,主要用來指明備用的 master 節點,可以是多個,這裡我們以 1 個為例。

3.4 HDFS客戶端配置

這裡有一個可選的配置:如果您在 Hadoop 集群上進行了 HDFS 客戶端配置的更改,比如將副本繫數 dfs.replication 設置成 5,則必須使用以下方法之一來使 HBase 知道,否則 HBase 將依舊使用預設的副本繫數 3 來創建文件:

  1. Add a pointer to your HADOOP_CONF_DIR to the HBASE_CLASSPATH environment variable in hbase-env.sh.
  2. Add a copy of hdfs-site.xml (or hadoop-site.xml) or, better, symlinks, under ${HBASE_HOME}/conf, or
  3. if only a small set of HDFS client configurations, add them to hbase-site.xml.

以上是官方文檔的說明,這裡解釋一下:

第一種 :將 Hadoop 配置文件的位置信息添加到 hbase-env.shHBASE_CLASSPATH 屬性,示例如下:

export HBASE_CLASSPATH=usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop

第二種 :將 Hadoop 的 hdfs-site.xmlhadoop-site.xml 拷貝到 ${HBASE_HOME}/conf 目錄下,或者通過符號鏈接的方式。如果採用這種方式的話,建議將兩者都拷貝或建立符號鏈接,示例如下:

# 拷貝
cp core-site.xml hdfs-site.xml /usr/app/hbase-1.2.0-cdh5.15.2/conf/
# 使用符號鏈接
ln -s   /usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop/core-site.xml
ln -s   /usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop/hdfs-site.xml

註:hadoop-site.xml 這個配置文件現在叫做 core-site.xml

第三種 :如果你只有少量更改,那麼直接配置到 hbase-site.xml 中即可。

3.5 安裝包分發

將 HBase 的安裝包分發到其他伺服器,分發後建議在這兩台伺服器上也配置一下 HBase 的環境變數。

scp -r /usr/app/hbase-1.2.0-cdh5.15.2/  hadoop002:usr/app/
scp -r /usr/app/hbase-1.2.0-cdh5.15.2/  hadoop003:usr/app/

四、啟動集群

4.1 啟動ZooKeeper集群

分別到三台伺服器上啟動 ZooKeeper 服務:

 zkServer.sh start

4.2 啟動Hadoop集群

# 啟動dfs服務
start-dfs.sh
# 啟動yarn服務
start-yarn.sh

4.3 啟動HBase集群

進入 hadoop001 的 ${HBASE_HOME}/bin,使用以下命令啟動 HBase 集群。執行此命令後,會在 hadoop001 上啟動 Master 服務,在 hadoop002 上啟動備用 Master 服務,在 regionservers 文件中配置的所有節點啟動 region server 服務。

start-hbase.sh

4.5 查看服務

訪問 HBase 的 Web-UI 界面,這裡我安裝的 HBase 版本為 1.2,訪問埠為 60010,如果你安裝的是 2.0 以上的版本,則訪問埠號為 16010。可以看到 Master 在 hadoop001 上,三個 Regin Servers 分別在 hadoop001,hadoop002,和 hadoop003 上,並且還有一個 Backup Matser 服務在 hadoop002 上。


hadoop002 上的 HBase 出於備用狀態:


更多大數據系列文章可以參見 GitHub 開源項目大數據入門指南


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、在struct termios結構體中,對串口進行基本配置(如波特率設置,校驗位和停止位設置 等)。 (一): struct termios //串口的設置主要是設置struct termios結構體的各成員 { tcflag_t c_iflag; //input mode flags 輸入模式 ...
  • 許可權的基本介紹: rwx許可權詳解: rwx作用到文件: [r]:代表可讀,可以讀取、查看 [w]:代表可寫,可以修改,但不代表可以刪除該文件,刪除一個文件的前提條件是對該文件所在的目錄有寫許可權才能刪除該文件 [x]:代表可執行 rwx作用在目錄: [r]:代表可讀,可以讀取、ls查看目錄內容 [w] ...
  • 平常我經常使用 htop 工具來進行對主機進行性能檢測。但是它只能對 進行進行管理。並簡要顯示 進程和cpu和記憶體使用信息; glances 是比較好的性能檢測工具。相比較htop還能顯示 disk io net 等更多信息。並且還有web ui和ipc 模式。當我們有多台機器的時候,使用此工具極為 ...
  • 使用 Linux 好久了,一定會意識到一個問題,某個分區容量不夠用了,想要擴容怎麼辦?這裡就涉及到 LVM 邏輯捲的管理了,可以動態調整 Linux 分區容量。 ...
  • [20190823]關於CPU成本計算2.txt--//前幾天探究CPU cost時遇到的問題,獲取行成本時我的測試查詢結果出現跳躍,不知道為什麼,感覺有點奇怪,分析看看。--//ITPUB原始鏈接已經不存在,我的日記本還有記錄,現在想想當時的記錄思路很亂,不過這些都是猜測的過程,以前思路混亂也是正 ...
  • 前言: 前面幾篇文章為大家介紹了各種SQL語法的使用,本篇文章將主要介紹MySQL用戶及許可權相關知識,如果你不是DBA的話可能平時用的不多,但是瞭解下也是好處多多。 1.創建用戶 官方推薦創建語法為: 通常我們常用的創建語法為: 語法說明如下: 1) 指定創建用戶賬號,格式為 'user_name' ...
  • /*the waiting game:儘管人生如此艱難,不要放棄;不要妥協;不要失去希望*/ 隨著MySQL MGR的版本的升級以及技術成熟,在把MHA拉下神壇之後, MGR越來越成為MySQL高可用的首選方案。MGR的搭建並不算很複雜,但是有一系列手工操作步驟,為了簡便MGR的搭建和故障診斷,這裡 ...
  • datanode無法連接到namenode namenode在清空hadoop.tmp.dir和namenode.dir文件夾重新格式化後,datanode還是無法連接到namenode並報錯: hdfs.server.datanode.DataNode: Problem connecting to ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...