HBase2.5.4單機模式與偽分布式的安裝與配置(Ubuntu系統)

HBase的安裝也分為三種,單機模式、偽分布式模式、完全分布式模式;我們先來安裝單機版。

一、環境準備

1. 系統要求

  • Ubuntu 20.04/22.04 LTS

  • Java 8(必須,HBase不兼容更高版本)

  • Hadoop(單機模式不需要,偽分布式模式和分布式模式需要)

  • SSH

  • Vim編輯器

如果以上內容沒有安裝,請回到Hadoop3.3.5的安裝參考如何安裝。

2. 驗證基礎環境

java -version  # 需顯示1.8.xssh localhost   # 確保SSH免密登錄正常

二、HBase下載安裝

1.下載HBase

點擊下面的地址下載HBase2.5.4安裝文件HBase官網下載地址,找到hbase-2.5.4-bin.tar.gz文件,下載到本地。

2.安裝HBase

使用FinalShell工具將hbase-2.5.4-bin.tar.gz文件上傳至虛擬機目錄:/home/wll/下載

解壓安裝包hbase-2.5.4-bin.tar.gz至路徑 /usr/local,命令如下:

sudo tar -zxf /home/wll/下載/hbase-2.5.4-bin.tar.gz -C /usr/local

下面把hbase目錄權限賦予給wll用戶:

sudo chown -R wll /usr/local/hbase-2.5.4

3. 配置環境變量

將hbase2.5.4下的bin目錄添加到path中,這樣啟動hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用。

編輯~/.bashrc文件

vim ~/.bashrc

如果沒有引入過PATH,請在~/.bashrc文件尾行添加如下內容:?

export HBASE_HOME=/usr/local/hbase-2.5.4
export PATH=$PATH:{HBASE_HOME}/bin

如果已經引入過PATH請在export PATH這行追加/usr/local/hbase/bin,“:”是分隔符。如下圖:?

編輯完成后,再執行source命令使上述配置在當前終端立即生效,命令如下:?

source ~/.bashrc

4. 查看HBase版本

確定hbase安裝成功,命令如下

/usr/local/hbase-2.5.4/bin/hbase version

?三、HBase單機模式的配置

1. 配置文件/usr/local/hbase-2.5.4/conf/hbase-env.sh?

配置JAVA環境變量,并添加配置HBASE_MANAGES_ZK為true,用vi命令打開并編輯hbase-env.sh,命令如下:

vim /usr/local/hbase2.5.4/conf/hbase-env.sh

在hbase-env.sh?文件頭部中添加如下代碼:

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_MANAGES_ZK=true             #使用HBase內置ZooKeeper

?添加完成后:wq命令保存退出即可。?

2. 配置文件/usr/local/hbase-2.5.4/conf/hbase-site.xml

用vi命令打開并編輯hbase-site.xml,命令如下:

vim /usr/local/hbase-2.5.4/conf/hbase-site.xml

在啟動HBase前需要設置屬性hbase.rootdir,用于指定HBase數據的存儲位置,因為如果不設置的話,hbase.rootdir默認為/tmp/hbase-${user.name},這意味著每次重啟系統都會丟失數據。此處設置為HBase安裝目錄下的hbase-tmp文件夾即(/usr/local/hbase-2.5.4/hbase-tmp),配置如下:

<configuration><property><name>hbase.rootdir</name><value>file:///usr/local/hbase-2.5.4/hbase-tmp</value></property>
</configuration>

?3.啟動與驗證HBase

首先切換目錄至HBase安裝目錄/usr/local/hbase;再啟動HBase。命令如下:

cd /usr/local/hbase-2.5.4
bin/start-hbase.sh
bin/hbase shell

上述三條命令中,?bin/start-hbase.sh用于啟動HBase,bin/hbase shell用于打開shell命令行模式,用戶可以通過輸入shell命令操作HBase數據庫。成功啟動HBase,截圖如下:


exit退出Hbase shell命令行模式:

若想停止HBase運行,命令如下:

bin/stop-hbase.sh

?注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase-2.5.4)下的logs子目錄中的日志文件查看錯誤原因。

四、HBase偽分布模式的配置

1.配置/usr/local/hbase-2.5.4/conf/hbase-env.sh

用命令vim打開并編輯hbase-env.sh,命令如下:

vim /usr/local/hbase-2.5.4/conf/hbase-env.sh

配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK,
HBASE_CLASSPATH設置為本機HBase安裝目錄下的conf目錄(即/usr/local/hbase-2.5.4/conf)

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_CLASSPATH=/usr/local/hbase-2.5.4/conf 
export HBASE_MANAGES_ZK=true

2.配置/usr/local/hbase-2.5.4/conf/hbase-site.xml

用命令vim打開并編輯hbase-site.xml,命令如下:

vim /usr/local/hbase-2.5.4/conf/hbase-site.xml

修改hbase.rootdir,指定HBase數據在HDFS上的存儲路徑;將屬性hbase.cluter.distributed設為true。若當前Hadoop集群運行在偽分布式模式下,在本機上運行,NameNode運行在9000端口。

<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

hbase.rootdir指定HBase的存儲目錄;hbase.cluster.distributed設置集群處于分布式模式.
另外,上面配置文件中,hbase.unsafe.stream.capability.enforce這個屬性的設置,是為了避免出現啟動錯誤。也就是說,如果沒有設置hbase.unsafe.stream.capability.enforce為false,那么,在啟動HBase以后,會出現無法找到HMaster進程的錯誤。

3.測試運行HBase

第一步:啟動Hadoop集群

啟動Hadoop集群的程序在/usr/local/hadoop-3.3.5/sbin/目錄下,由于我們配置了HDDOOP環境變量,所以可以在任意目錄下輸入start-dfs.sh命令啟動hadoop集群,jps查看啟動進程。

start-dfs.sh

第二步:啟動HBase

啟動HBase的程序在/usr/local/hbase-2.5.4/bin/目錄下,由于我們配置了HBase的環境變量,所以可以在任意目錄下輸入start-hbase.sh命令啟動hadoop集群,jps查看啟動進程,hbase-shell啟動shell命令行窗口。

start-hbase.sh      #啟動HBase
jps                 #查看啟動進程
hbase-shell         #啟動hbase shell

?第三步:停止HBase運行

stop-hbase.sh
jps

若出現關閉HBase時,輸入stop-hbase.sh命令一直處于等待狀態。

解決方法:

首先停止HBase的主進程master,然后再執行停止命令。

hbase-daemon.sh stop masterstop-hbase.sh

注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase-2.5.4)下的logs子目錄中的日志文件查看錯誤原因。
這里啟動關閉Hadoop和HBase的順序一定是:

啟動Hadoop—>啟動HBase—>關閉HBase—>關閉Hadoop

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89448.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89448.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89448.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Honeywell霍尼韋爾DV-10 變速器放大器 輸入 15-28 VDC,輸出 +/- 10VDC 060-6881-02

Honeywell霍尼韋爾DV-10 變速器放大器 輸入 15-28 VDC,輸出 /- 10VDC 060-6881-02

騰訊位置商業授權鴻蒙地圖SDK工程配置

工程配置 安裝 DevEco Studio 開發環境 手機HarmonyOS系統&#xff1a;OpenHarmony-5.0.0.71及以上DevEco Studio版本&#xff1a;DevEco Studio NEXT Release(Build Version: 5.0.3.900)及以上 獲取key與生成秘鑰 獲取key 登錄騰訊位置服務控制臺&#xff0c;未注冊過賬號可…

RocketMQ源碼級實現原理-Commitlog刷盤機制

刷盤機制 同步刷盤 代碼實現 寫入線程 寫入線程可能同時有多個&#xff0c;但是刷盤線程至始至終就是一個單線程 刷盤線程&#xff0c;始終是操作雙緩沖區域&#xff0c;一個用來刷盤&#xff0c;另一個用來接收多個寫入線程同時寫入刷盤請求 刷盤線程 通過這種方式&#xff0…

Java與Vue技術搭建的SRM招標采購管理系統,提供源碼,涵蓋招標、投標、評標全流程,助力企業高效規范采購管理

前言&#xff1a;在當今競爭激烈的商業環境中&#xff0c;高效、透明、規范的招標采購流程對于企業的成本控制、供應鏈穩定以及整體運營效率至關重要。SRM招標采購管理系統應運而生&#xff0c;它借助先進的信息技術&#xff0c;整合了招標采購的各個環節&#xff0c;實現了采購…

Kotlin集合分組

集合的分組&#xff08;Grouping&#xff09; 在之前的學習中&#xff0c;我們已經學會了如何對集合進行過濾、排序或執行聚合操作。 在本節中&#xff0c;我們將學習如何對集合元素進行分組&#xff0c;以便以最適合我們任務的方式呈現信息。分組&#xff08;Grouping&#xf…

阿里云ssh證書過期,如果更換并上傳到服務器

登錄阿里云平臺&#xff0c;在控制臺中找到“數字證書管理服務”進入頻道后&#xff0c;選擇“SSL證書管理”點擊“創建證書”&#xff0c;創建成功后&#xff0c;進入證書詳情頁選擇“下載”板塊&#xff0c;根據自身服務器類型&#xff0c;下載相應的證書即可服務器更新證書登…

【軟件系統架構】系列七:系統性能——計算機性能深入解析

目錄 一、什么是計算機性能&#xff1f; 二、計算機性能核心指標 1. CPU性能指標 2. 內存性能指標 3. 存儲子系統性能 4. 網絡性能指標 5. 系統資源使用與并發能力 三、性能瓶頸分析方法 四、計算機性能評測與對比 常見性能測試指標與工具&#xff1a; 五、計算機性…

基于現代R語言【Tidyverse、Tidymodel】的機器學習方法

機器學習已經成為繼理論、實驗和數值計算之后的科研“第四范式”&#xff0c;是發現新規律&#xff0c;總結和分析實驗結果的利器。機器學習涉及的理論和方法繁多&#xff0c;編程相當復雜&#xff0c;一直是阻礙機器學習大范圍應用的主要困難之一&#xff0c;由此誕生了Python…

Python暑期學習筆記5

時間&#xff1a;2025.7.18學習內容&#xff1a;【語法基礎】while循環與循環嵌套一、循環語句循環流程圖二、while循環基本格式&#xff1a;while條件&#xff1a;循環體&#xff08;條件滿足時段做的事情&#xff09;改變變量死循環while True:循環體&#xff08;要循環做的事…

world models and Human–Object Interaction (HOI)

Author: Chatgpt Here are several key research papers that explore the intersection of world models and Human–Object Interaction (HOI)—especially ones that build structured, object-centric representations from videos or use world-model-based learning to p…

無人值守共享自習室物聯系統安全防線:從設備到數據的全面防護策略!

在“全民學習”浪潮的推動下&#xff0c;無人值守共享自習室憑借24小時開放、靈活預約和沉浸式體驗&#xff0c;已成為城市學習空間的新形態。而當人力值守被物聯網設備替代后&#xff0c;安全風險卻從物理世界延伸到了數字世界。一套完整的自習室物聯網系統包含門禁、傳感器、…

【27】MFC入門到精通——MFC 修改用戶界面登錄IP IP Address Control

界面搭建 將【IP Address Control】控件&#xff0c;【Edit Control】控件和兩個【button】控件分別拖入主界面 將ID分別修改為&#xff1a;IDC_IP_ADDRESS IDC_IPADDRESS_EDIT IDC_GET_BUTTON IDC_CLEAN_BUTTON添加變量 為【IP Address Control】控件添加變量【m_IPaddress】&…

MacOS安裝linux虛擬機

在學習docker時用的云環境本身就是一個容器&#xff0c;啟動docker總是各種問題&#xff0c;所以直接在本機上裝一個虛擬機。 當前系統環境&#xff1a; 安裝虛擬機軟件 安裝UTM 下載官網&#xff1a;https://mac.getutm.app/ uname -m查看一下指令架構&#xff0c;下載…

TimSort:論Java Arrays.sort的穩定性

TimSort 是一種混合的、穩定的排序算法&#xff0c;結合了歸并排序&#xff08;Merge Sort&#xff09;和二分插入排序&#xff08;Binary Insertion Sort&#xff09;的優點&#xff0c;尤其適用于部分有序的數據。在 Java 中&#xff0c;Arrays.sort() 對對象數組排序時內部使…

企業數據生命周期安全架構設計

數據是企業的生命線&#xff0c;而安全則是這條生命線的保護神。今天我們就來聊聊如何為企業數據的一生一世構建一套堅不可摧的安全防護體系。 &#x1f4da; 文章目錄 為什么需要數據生命周期安全架構數據生命周期全景圖安全架構設計的核心原則各階段安全防護策略整體安全架構…

【Java】字符串常量池

文章目錄一.字符串常量池(StringTable)1.1 定義1.2 演示示例1.3 intern方法一.字符串常量池(StringTable) 1.1 定義 字符串常量詞本質是一個固定大小的HashTable。當用一個字符串構造String對象時&#xff0c;首先會去StringTable中查看是否存在在字符串&#xff0c;如果存在…

數據通信與計算機網絡——模擬傳輸

主要內容數字到模擬轉換幅移鍵控ASK頻移鍵控FSK相移鍵控PSK正交振幅調制QAM模擬信號調制調幅AM調頻FM調相PM一、數字到模擬轉換數字信號需要低通通道&#xff0c;如果現實應用中只有帶通通道&#xff0c;只能選擇模擬信號進行傳輸。將數字數據轉換為帶通模擬信號&#xff0c;傳…

如何用Python并發下載?深入解析concurrent.futures 與期物機制

concurrent.futures模塊的核心價值 Python的concurrent.futures模塊提供了線程池&#xff08;ThreadPoolExecutor&#xff09;和進程池&#xff08;ProcessPoolExecutor&#xff09;兩種并發模型&#xff0c;通過高層接口簡化并發編程。其核心優勢在于&#xff1a; 自動管理資源…

MMKV 存儲json list數據(kotlin)

1、添加依賴與初始化 首先在 build.gradle 中添加 MMKV 依賴: implementationcom.tencent:mmkv:1.2.12 在 Application 類中初始化 MMKV: import android.app.Application import com.tencent.mmkv.MMKVclass MyApp : Application() { override fun onCreate() { super.o…

C++ -- STL-- stack and queue

////// 歡迎來到 aramae 的博客&#xff0c;愿 Bug 遠離&#xff0c;好運常伴&#xff01; ////// 博主的Gitee地址&#xff1a;阿拉美 (aramae) - Gitee.com 時代不會辜負長期主義者&#xff0c;愿每一個努力的人都能達到理想的彼岸。1. stack的介紹和使用 2. queue的介紹…