hadoop學習筆記——zookeeper平臺搭建

来源:https://www.cnblogs.com/panda-blog/archive/2018/07/31/9394366.html
-Advertisement-
Play Games

zookeeper是一個自動管理分散式集群的一個工具,以實現集群的高可用。 比如集群中的一個機器掛掉了,沒有zookeeper的話就得考慮掛一個機器對剩下集群工作的影響,而有了zookeeper,它就能自動幫你協調這些事兒。 正規的解釋如下: zookeeper是 一個開源的針對大型分散式系統的可靠 ...


 

zookeeper是一個自動管理分散式集群的一個工具,以實現集群的高可用。

比如集群中的一個機器掛掉了,沒有zookeeper的話就得考慮掛一個機器對剩下集群工作的影響,而有了zookeeper,它就能自動幫你協調這些事兒。

正規的解釋如下:

  zookeeper是 一個開源的針對大型分散式系統的可靠協調系統。

  設計目標是:將複雜且容易出錯的分散式式一致性服務封裝起來,構成一個高效可靠的原語集,

        並以簡單易用的介面提供給用戶使用。

  提供的功能包括:發佈/訂閱,分散式協調/通知,配置管理,集群管理,主從協調,分散式鎖等。

 

安裝與配置:

這裡用三台centos6.9mini虛擬機演示,主機名分別是h1、h2、h3,ip分別是192.168.227.11、192.168.227.22、192.168.227.33。

三台虛擬機都已創建了hadoop用戶,配了免密碼登錄。

軟體安裝路徑是/home/hadoop/apps/。

1. 下載解壓安裝包

解壓後,/home/hadoop/apps/zookeeper-3.4.10/下麵的文件

2. 創建軟連接

 這一步要用root用戶操作,先切換到root用戶

語法:ln -s 源路徑 軟連接路徑

ln -s /home/hadoop/apps/zookeeper-3.4.10 /usr/local/zookeeper

修改zookeeper軟鏈接屬主為hadoop:

chown -R hadoop:hadoop /usr/local/zookeeper

3. 修改環境變數

用root用戶操作

vim /etc/profile

添加以下內容:

export JAVA_HOME=/usr/local/jdk

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin

添加並保存後,重新編譯環境變數:

source /etc/profile

(沒有jdk的先下載jdk)

4. 修改配置文件

zookeeper/conf是保存配置文件的文件夾

修改裡面的zoo.cfg文件

vi /conf/zoo.cfg

添加以下內容:

dataDir=/usr/local/zookeeper/data    #快照文件存儲目錄

dataLogDir=/usr/local/zookeeper/log   #事務日誌文件目錄

#(主機名, 心跳埠、數據埠)

server.1=h1:2888:3888 

server.2=h2:2888:3888

server.3=h3:2888:3888

5. 創建運行需要的目錄

在zookeeper目錄下創建配置文件里寫的目錄

mkdir /usr/local/zookeeper/data

mkdir /usr/local/zookeeper/log

在data文件夾下新建myid文件,myid的文件內容為該節點的編號

cd data

touch myid

echo 1 >myid

6. 配置其餘兩個機器

用scp命令將整個zookeeper文件夾複製到其餘兩個機器上

scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h2:/home/hadoop/apps

scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h3:/home/hadoop/apps

然後按步驟2和步驟3分別對這兩個機器創建軟連接和修改環境變數。

將h2和h3機器里/hadoop/data/myid 中的數分別改成2和3。

 

至此就配置完了!

 

檢查一下各個主機的運行

h1、h2、h3 依次執行zkServer.sh start

jps查看進程:

三個都開啟後,執行zkServer.sh status查看zookeeper狀態:

h1

h2

h3

 

可以看到zookeeper能夠正常運行了。

 

數據存儲:

zookeeper以Znode形式存儲數據
類似於linux,但Znode可以存放數據
Znode類型:
持久節點、臨時節點、順序節點
組合:持久節點、持久順序節點
臨時節點、臨時順序節點
客戶端創建臨時節點後,當客戶端與服務端斷開連接後,臨時節點將被刪除,臨時節點下不允許有子節點

 

監聽機制使用:

即發佈訂閱功能
客戶端註冊一個監聽時間,當zookeeper上被監聽的時間發生變化時,會第一時間通知訂閱者

 

客戶端操作:

zkCli.sh 命令進入客戶端
create [選項] 路徑 值 #創建節點並賦值,不能不賦值
-s 順序型 -e 臨時型
set 路徑 值 #改變節點的值
get 路徑 #獲取節點的值
get 路徑 watch #監聽節點數據內容變化,只監聽一次
ls 路徑 watch #監聽節點目錄變化,只監聽一次
delete 路徑 #刪除一個節點,節點下不能有子節點
rmr 路徑 #刪除有子節點的目錄
cons #輸出所有客戶端的連接信息

 


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

-Advertisement-
Play Games
更多相關文章
  • *多表查詢 分類:1.合併結果集 2.連接查詢 3.子查詢 *合併結果集:要求被合併的表中,列的類型和列數相同。 *UNION,去除重覆行。完全相同的行會被去除 *UNION ALL:不去除重覆行。 例:select * from ab UNION ALL select * from cd; *連接 ...
  • Flink的部署 環境準備:windows7系統,本地連接。如果打開更改適配器設置後沒有本地連接,可以通過驅動精靈等軟體安裝網卡驅動。為了使部署在虛擬機上的伺服器可以與物理機進行連通,必須使物理機的網卡和虛擬機上伺服器的網卡在同一個網段上,在此我們規定一個網段192.168.0.*為標準,我的物理機 ...
  • 配置免安裝mysql 1) 解壓mysql包,放置自定義目錄,我這裡演示的是D:\mysql 2) 將根目錄下的my-default.ini,改名為my.ini 3) 複製下麵內容到my.ini 註意路徑 4) 環境變數配置 我的電腦-屬性-高級-環境變數-新建 變數mysql_home 值D:\m ...
  • 第一章: entity 實體 relationship 關係 diagram 圖表 model 模型 normal 規範的 formate 形式 hotel 旅館 guest 客人 promation 提升 推廣 state 狀態 type 類型 第二章: networking 網路 option ...
  • 老樣子,不多BiBi,直接進入主題! 有時候在linux下編譯好QT程式,用QTCreator運行沒問題,但是用命令./XX就會報錯:error while loading shared libraries:等等問題,有同學可能會問我的依賴庫已經放在可執行文件同目錄下了,怎麼會找不到呢,這裡需要 1 ...
  • 存儲過程是一組為了完成特定功能的sql語句集,存儲在資料庫中,經過一次編譯後再次調用不需要編譯。用戶通過指定存儲過程的名字來執行它。 基本語法: create or replace procedure procedure_01 is//一直糾結這裡是is還是as,查資料後發現:在存儲過程(proce ...
  • 小編帶大家來分析一下,零基礎入門學習大數據可以從事哪些工作呢? 2018年隨著當代信息技術的迅猛發展,大數據在人們的工作、生產、生活、學習、娛樂等方面,人們想開始學習大數據的時候,最常問我的問題是,“我應該學Hadoop(hadoop是一款開源軟體,主要用於分散式存儲和計算,他由HDFS和MapRe ...
  • 使用pyspark 在hive中建表,分區導入,增量,解決數據換行符問題彙總 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...