欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關于Hadoop的HDFS集群

 更新時間:2023年05月09日 08:39:58   作者:瘋狂創(chuàng)作者  
這篇文章主要介紹了關于Hadoop的HDFS集群,Hadoop 如何配置集群、不同的計算機里又應該有怎樣的配置,這些問題是在學習中產(chǎn)生的。本章的配置中將會提供一個典型的示例,需要的朋友可以參考下

HDFS 集群是建立在 Hadoop 集群之上的,由于 HDFS 是 Hadoop 最主要的守護進程,所以 HDFS 集群的配置過程是 Hadoop 集群配置過程的代表。

使用 Docker 可以更加方便地、高效地構建出一個集群環(huán)境。

每臺計算機中的配置

Hadoop 如何配置集群、不同的計算機里又應該有怎樣的配置,這些問題是在學習中產(chǎn)生的。本章的配置中將會提供一個典型的示例,但 Hadoop 復雜多樣的配置項遠超于此。

HDFS 命名節(jié)點對數(shù)據(jù)節(jié)點的遠程控制是通過 SSH 來實現(xiàn)的,因此關鍵的配置項應該在命名節(jié)點被配置,非關鍵的節(jié)點配置要在各個數(shù)據(jù)節(jié)點配置。也就是說,數(shù)據(jù)節(jié)點與命名節(jié)點的配置可以不同,不同數(shù)據(jù)節(jié)點之間的配置也可以有所不同。

但是本章為了方便建立集群,將使用相同的配置文件通過 Docker 鏡像的形式同步到所有的集群節(jié)點,特做解釋。

具體步驟

總體思路是這樣的,我們先用一個包含 Hadoop 的鏡像進行配置,配置成集群中所有節(jié)點都可以共用的樣子,然后再以它為原型生成若干個容器,構成一個集群。

配置原型

首先,我們將使用之前準備的 hadoop_proto 鏡像啟動為容器:

docker run -d --name=hadoop_temp --privileged hadoop_proto /usr/sbin/init

進入 Hadoop 的配置文件目錄:

cd $HADOOP_HOME/etc/hadoop

現(xiàn)在對這里的文件的作用做簡單的描述:

文件作用
workers記錄所有的數(shù)據(jù)節(jié)點的主機名或 IP 地址
core-site.xmlHadoop 核心配置
hdfs-site.xmlHDFS 配置項
mapred-site.xmlMapReduce 配置項
yarn-site.xmlYARN 配置項

注:YARN 的作用是為 MapReduce 提供資源管理服務,此處暫時用不著。

我們現(xiàn)在設計這樣一個簡單的集群:

  • 1 個命名節(jié)點 nn
  • 2 個數(shù)據(jù)節(jié)點 dn1, dn2

首先編輯 workers ,更改文件內容為:

dn1
???????dn2

然后編輯 core-site.xml,在 中添加以下配置項:

<!-- 配置 HDFS 主機地址與端口號 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://nn:9000</value>
</property>
<!-- 配置 Hadoop 的臨時文件目錄 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:///home/hadoop/tmp</value>
</property>

配置 hdfs-site.xml,在 中添加以下配置項:

<!-- 每個數(shù)據(jù)塊復制 2 份存儲 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- 設置儲存命名信息的目錄 -->
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hadoop/hdfs/name</value>
</property>

最后需要配置一下 SSH :

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsassh-copy-id -i ~/.ssh/id_rsa hadoop@localhost

到此為止,集群的原型就配置完畢了,可以退出容器并上傳容器到新鏡像 cluster_proto :

docker stop hadoop_tempdocker commit hadoop_temp cluster_proto

此處如果有必要可以刪除臨時鏡像 hadoop_temp 。

部署集群

接下來部署集群。

首先,要為 Hadoop 集群建立專用網(wǎng)絡 hnet :

docker network create --subnet=172.20.0.0/16 hnet

接下來創(chuàng)建集群容器:

docker run -d --name=nn --hostname=nn --network=hnet --ip=172.20.1.0 --add-host=dn1:172.20.1.1 --add-host=dn2:172.20.1.2 --privileged cluster_proto /usr/sbin/init
docker run -d --name=dn1 --hostname=dn1 --network=hnet --ip=172.20.1.1 --add-host=nn:172.20.1.0 --add-host=dn2:172.20.1.2 --privileged cluster_proto /usr/sbin/init
docker run -d --name=dn2 --hostname=dn2 --network=hnet --ip=172.20.1.2 --add-host=nn:172.20.1.0 --add-host=dn1:172.20.1.1 --privileged cluster_proto /usr/sbin/init

進入命名節(jié)點:

docker exec -it nn su hadoop

格式化 HDFS:

hdfs namenode -format

如果沒有出錯,那么下一步就可以啟動 HDFS:

start-dfs.sh

成功啟動之后,jps 命令應該能查到 NameNode 和 SecondaryNameNode 的存在。命名節(jié)點不存在 DataNode 進程,因為這個進程在 dn1 和 dn2 中運行。

至此,你可以檢測 HDFS 的運行,使用 HDFS 的方式也沒有差別(命名節(jié)點代表整個集群)。 

到此這篇關于關于Hadoop的HDFS集群的文章就介紹到這了,更多相關HDFS集群內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 深入講解Java中的多態(tài)和抽象類

    深入講解Java中的多態(tài)和抽象類

    這篇文章主要介紹了深入講解Java中的多態(tài)和抽象類,有時候,設計一個數(shù)組或方法的參數(shù),返回值類型時,無法確定具體的類型,只能確定是某個系列的類型,這時就引入了多態(tài),需要的朋友可以參考下
    2023-08-08
  • Spring Boot Web應用開發(fā) CORS 跨域請求支持

    Spring Boot Web應用開發(fā) CORS 跨域請求支持

    本篇文章主要介紹了Spring Boot Web應用開發(fā) CORS 跨域請求支持,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot通過注解下載任意對象

    SpringBoot通過注解下載任意對象

    下載功能應該是比較常見的功能了,雖然一個項目里面可能出現(xiàn)的不多,但是基本上每個項目都會有,而且有些下載功能其實還是比較繁雜的,這篇文章主要介紹了SpringBoot一個注解就能幫你下載任意對象,需要的朋友可以參考下
    2023-08-08
  • Mybatis如何自動生成數(shù)據(jù)庫表的實體類

    Mybatis如何自動生成數(shù)據(jù)庫表的實體類

    這篇文章主要介紹了Mybatis自動生成數(shù)據(jù)庫表的實體類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring?Security使用數(shù)據(jù)庫登錄認證授權

    Spring?Security使用數(shù)據(jù)庫登錄認證授權

    本文主要介紹了Spring?Security使用數(shù)據(jù)庫登錄認證授權,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • SpringBoot整合EasyExcel實現(xiàn)文件導入導出

    SpringBoot整合EasyExcel實現(xiàn)文件導入導出

    這篇文章主要介紹了SpringBoot整合EasyExcel實現(xiàn)文件導入導出的方法,幫助大家更好的理解和學習使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • Java數(shù)據(jù)結構之循環(huán)隊列簡單定義與用法示例

    Java數(shù)據(jù)結構之循環(huán)隊列簡單定義與用法示例

    這篇文章主要介紹了Java數(shù)據(jù)結構之循環(huán)隊列簡單定義與用法,簡要描述了循環(huán)隊列的概念、原理,并結合實例形式分析了java循環(huán)隊列的定義與使用方法,需要的朋友可以參考下
    2017-10-10
  • MyBatis查詢、新增、更新與刪除操作指南

    MyBatis查詢、新增、更新與刪除操作指南

    這篇文章主要給大家介紹了關于MyBatis查詢、新增、更新與刪除操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MyBatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06
  • maven實現(xiàn)docker自動化部署插件的使用

    maven實現(xiàn)docker自動化部署插件的使用

    本文主要介紹了maven實現(xiàn)docker自動化部署插件的使用,分享給大家,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法介紹

    Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法介紹

    這篇文章主要介紹了Java讀寫txt文件時防止中文亂碼問題出現(xiàn)的方法,同時需要注意系統(tǒng)默認的文本保存編碼的設置,需要的朋友可以參考下
    2015-12-12

最新評論