必會技能!Docker助你快速上手玩轉HBase!

来源:https://www.cnblogs.com/zpb2016/archive/2020/05/23/12944760.html
-Advertisement-
Play Games

前言: 本文主要講述瞭如何使用Docker快速上手HBase,省去繁雜的安裝部署環境,直接上手,小白必備。適合HBase入門學習及簡單代碼測試。 1. Docker 安裝 參考地址: 支持常用的操作系統:Centos / ubuntu / Windows / macos 等。 2. 拉取鏡像 鏡像地 ...


前言:本文主要講述瞭如何使用Docker快速上手HBase,省去繁雜的安裝部署環境,直接上手,小白必備。適合HBase入門學習及簡單代碼測試。

1. Docker 安裝

參考地址:

https://yeasy.gitbook.io/docker_practice/install

支持常用的操作系統:Centos / ubuntu / Windows / macos 等。

file

2. 拉取鏡像

鏡像地址:

https://hub.docker.com/r/harisekhon/hbase/tags

這裡推薦使用harisekho,支持多個版本(最新支持HBase2.1.3),star數也最多,大家也可以在鏡像庫中搜索其他鏡像。

以下前提:第一步Docker安裝完成。

拉取最新版本:

docker pull harisekhon/hbase:latest

拉取指定版本:

docker pull harisekhon/hbase:1.4

3. 運行容器

Docker安裝成功後,直接運行以下命令。

docker run -d -h docker-hbase \
        -p 2181:2181 \
        -p 8080:8080 \
        -p 8085:8085 \
        -p 9090:9090 \
        -p 9000:9000 \
        -p 9095:9095 \
        -p 16000:16000 \
        -p 16010:16010 \
        -p 16201:16201 \
        -p 16301:16301 \
        -p 16020:16020\
        --name hbase \
        harisekhon/hbase

配置伺服器hosts文件,添加如下配置:

127.0.0.1 docker-hbase 

配置本地hosts文件,添加如下配置:

伺服器ip docker-hbase

4. HBase實操

4.1 訪問HBase WebUI:

http://docker-hbase:16010/master-status

4.2 訪問HBase Shell

查看正在運行的容器:

docker ps

找到容器id,進入容器:

docker exec -it <container ID首碼> bash

訪問HBase Shell,進入容器後直接輸入:

bash-4.4# hbase shell
2020-05-20 03:59:26,228 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.1.3, rda5ec9e4c06c537213883cca8f3cc9a7c19daf67, Mon Feb 11 15:45:33 CST 2019
Took 0.0049 seconds
hbase(main):001:0> 

Shell 測試:

hbase(main):001:0> create 'test-docker','f'
Created table test-docker
Took 1.4964 seconds
=> Hbase::Table - test-docker
hbase(main):002:0> list
TABLE
test-docker
3 row(s)
Took 0.0281 seconds
=> ["test-docker"]
hbase(main):003:0>

4.3 訪問Zookeeper

輸入exit退出容器。並執行以下命令進入zk:

bash-4.4# hbase zkcli

查看zk節點:

ls /
[zookeeper, hbase]

4.4 Java Api 測試

public class HBaseHelper {

    public static String ZK_QUORUM = "docker-hbase";
    public static String ZK_ZNODE = "/hbase";
    public static String ZK_PORT = "2181";
    public static String SUPER_USER = "hbase";

    // 配置連接信息
    public Configuration getConfiguration() {
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", ZK_QUORUM);
        conf.set("zookeeper.znode.parent", ZK_ZNODE);
        conf.set("hbase.zookeeper.property.clientPort", ZK_PORT);
        return conf;
    }
...
...
...
}

想查看完整Demo代碼可以訪問Github地址:

https://github.com/zhoupengbo/demos-bigdata/tree/master/hbase/hbase-docker-demo

掃描二維碼關註博主公眾號

轉載請註明出處!歡迎關註本人微信公眾號【HBase工作筆記】


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

-Advertisement-
Play Games
更多相關文章
  • Mac 安裝 homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 報錯: Failed to connect to raw.githu ...
  • 在docker容器里運行的服務必須前臺運行,如果後臺運行會導致容器一啟動就退出了,原因是容器內部本身就只有一個進程在跑,如果你後臺運行,就沒有進程在前臺,所以docker會認為該容器已經宕機;其實我們可以理解為容器內部前臺跑的程式是支撐整個容器為運行態的重要骨架; ...
  • Device Tree Overlays、 dtbo、設備樹堆疊功能 ...
  • 前期準備 執行yum update openssh先升級下. 反正官方提供的這種升級是沒問題的。如果之前手動編譯操作過openssh的升級,變更了預設配置文件路徑什麼的請自行測試。) (這裡準備統一openssh版本為7.4p1之後再統一編譯安裝升級到openssh8.2p1) [root@node ...
  • pwd命令 功能說明:顯示當前用戶所在的工作目錄 用法:pwd [OPTION]... 當我們登錄操作系統時,我們就會處在某個目錄中,windows為桌面,在Linux操作系統中,如果我們以root用戶登錄,我們會處在root用戶的家目錄,如果以普通用戶登錄,我們會處在普通用戶的家目錄。 | 選項 ...
  • HBase為每個Region維護一個狀態,並將該狀態保留在hbase:meta中。hbase:meta 本身的Region狀態保留在ZooKeeper中。可以在Master Web UI中查看Region的過渡狀態。以下是可能的Region狀態列表。 1. 狀態機中包括下麵幾種狀態: offline ...
  • 本文來源於公眾號:胖滾豬學編程。轉載請註明出處! 一個風度翩翩,穿著格子襯衣的中年男子,拿著一個滿是劃痕的mac向她走來,看著錚亮的頭,胖滾豬心想,這肯定是尼瑪頂級架構師吧!完了要掛了。 結果面試官第一個問題,就讓胖滾豬內心暗喜 面試官 :消息隊列這東西,你還熟悉吧?消息隊列在企業中的應用場景有哪些 ...
  • 上一篇 我們模擬了單機器下哨兵模式的搭建,那麼接下來我們看下哨兵模式的實現與工作。 為什麼又分成兩篇呢?因為篇幅太長(偷懶),再一個這篇主要說的是Sentinel的初始化以及信息交換,下一篇著重說下狀態檢查、Sentinel頭領選舉與故障轉移 。 啟動並初始化Sentinel 當一個Sentinel ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...