亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一臺虛擬機基于docker搭建大數(shù)據(jù)HDP集群的思路詳解

 更新時間:2022年11月02日 08:41:03   作者:叫我阿柒啊  
這篇文章主要介紹了一臺虛擬機基于docker搭建大數(shù)據(jù)HDP集群?,本篇文章主要講了大數(shù)據(jù)集群搭建的架構(gòu)設計和實現(xiàn)思路部分,后面文章會探討上層應用的構(gòu)建,需要的朋友可以參考下

前言

好多人問我,這種基于大數(shù)據(jù)平臺的xxxx的畢業(yè)設計要怎么做。這個可以參考之前寫得關(guān)于我大數(shù)據(jù)畢業(yè)設計的文章。這篇文章是將對之前的畢設進行優(yōu)化。

個人覺得可以分為兩個部分。第一個部分就是基礎的平臺搭建。例如Hadoop集群、Kafka集群。

第二個部分就是上層應用的建設,例如基于大數(shù)據(jù)平臺的數(shù)據(jù)分析,以及大屏展示之類的可視化應用。前者提供了基礎平臺能力,讓整個設計加入大數(shù)據(jù)元素;后者提供了上層應用能力,主要是讓別人明白你利用大數(shù)據(jù)平臺做了什么。

前些日子閑得無聊,在一臺虛擬機上基于docker容器,使用Ambari搭建了一個HDP版本的Hadoop大數(shù)據(jù)集群。所以就結(jié)合這篇文章,對第一部分進行闡述,提供一個新的思路。

思路

在集群搭建的過程中,遇到了形形色色的問題。在問題里去思考、去查閱資料。這是一個蠻有意思的事情。

在上一篇文章也寫了,我的大數(shù)據(jù)畢業(yè)設計的Hadoop平臺搭建部分,是基于三臺虛擬機實現(xiàn)的。當時使用的Apache版本的Hadoop。

Apache版本的缺點是沒有一個統(tǒng)一的管控平臺。

前期的安裝需要在每個節(jié)點手動分發(fā)安裝包、執(zhí)行啟動命令。后期的節(jié)點維護、服務啟停都需要去后臺執(zhí)行命令。

加上三臺虛擬機,每次啟動費個老勁。所以我就尋思用Ambari來搭建一個HDP版本的、一個虛擬機就能搞定的、基于docker容器的Hadoop集群。

整體架構(gòu)

整個架構(gòu)設計和技術(shù)選型,都是根據(jù)個人需求選擇,可以參考。

1. 技術(shù)選型

宿主機和docker的操作系統(tǒng)選擇的是centos7。我嘗試了centos8,不太行。主要

docker:容器,代替虛擬機節(jié)點搭建集群docker-compose:編排容器。對所有容器進行管理、啟動Ambari:2.7.3版本??梢暬惭b、監(jiān)控、管理所有集群。HDP:3.1版本。其中包括Hadoop、HDFS、Yarn、Spark、Kafka、Zookeeper等服務。MySQL:ambari元數(shù)據(jù)庫。后面應用也會用到。

除此之外,還需要shell編寫一些腳本。

2. 架構(gòu)設計

平臺一覽

這就是Ambari的首頁儀表盤的部分,里面可以看到HDFS的存儲,內(nèi)存使用量指標。

Hadoop集群

Hadoop集群一共用了四個節(jié)點。NameNode,一個備用的NameNode,兩個DataNode。

點擊右側(cè)的NameNode UI可以看到Hadoop集群的UI界面。

集群節(jié)點

這里的Hosts指的就是所有集群節(jié)點的個數(shù),也是docker節(jié)點的個數(shù)。這里因為內(nèi)存有限,所以一個docker啟動了好幾個服務。

例如這個kafka1節(jié)點,即安裝了Kafka,又安裝了Zookeeper。

環(huán)境準備

我在實踐docker搭建集群的時候,90%的時間都花費在了環(huán)境準備上。同樣,遇到的90%的問題也都在這個步驟上。

1. 虛擬機準備

我自己的架構(gòu)是一臺虛擬機,然后其他節(jié)點都是用docker代替的。docker你可以理解為輕量虛擬機。

我選擇docker的理由:

覺得挺有意思,想挑戰(zhàn)一下自己的軟肋。*一個虛擬機可能需要占用20G存儲,一個docker只占用幾百MB**。只需要啟動一臺虛擬機即可。docker作為應用服務運行在這臺虛擬機上。

其實,這里我是建議使用3 ~ 4臺虛擬機的。因為docker本身對于很多人來說是有一定難度的,再加上需要將docker構(gòu)建成節(jié)點,是需要花費很多時間的。

2. docker容器準備

如果說是頭鐵非要用docker,那么可以看看這一步。我在這一步構(gòu)建節(jié)點docker鏡像的時候,反復構(gòu)建了很多次。

dockerfile

我們要自己編寫dockerfile幾月centtos7來構(gòu)建docker容器的系統(tǒng)鏡像。而且,docker容器代替了虛擬機,那么docker容器里的環(huán)境就要和虛擬機一樣。所以dockerfile需要滿足以下條件。

開放22端口,啟動sshd服務配置jdk、scala生成密鑰,配置ssh免密登錄python2.7(centos7自帶)yum安裝一些軟件,例如chrony等配置hosts

在編寫dockerfile階段,查閱了很多資料,反復構(gòu)建,嘗試了很多次才成功。

docker-compose

docker-compose是docker容器的編排工具,需要編寫一個yaml配置文件,通過start/stop來啟動/停止所有的容器。

這個centos_hdp就是我自己構(gòu)建的鏡像,ports來開放容器的端口,volumes來掛載宿主機的目錄。

3. 下載安裝包

我在2016年畢業(yè)設計中,所搭建的大數(shù)據(jù)平臺的各個組件都是獨立下載安裝的。Hadoop的安裝包需要去Hadoop官網(wǎng)下載,Kafka安裝包需要去Kafka官網(wǎng)下載。想安裝哪個版本就安裝哪個版本。

基于Ambari安裝,所有組件都包含在HDP安裝包里,不過這個安裝包挺大的,10G。

ambari-2.7.3.0-centos7.tar.gz
HDP-3.1.0.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
HDP-GPL-3.1.0.0-centos7-gpl.tar.gz

上面就是所需安裝包的列表,下載到之后,放到本地搭建的http服務器中,在ambari安裝中時使用。

結(jié)語

本篇文章主要講了大數(shù)據(jù)集群搭建的架構(gòu)設計和實現(xiàn)思路部分,后面文章會探討上層應用的構(gòu)建。我現(xiàn)在自己也在學前端,想自己實現(xiàn)一些web應用。關(guān)于大數(shù)據(jù)集群搭建、后臺實現(xiàn)以及前端技術(shù),可以私我加群互相交流。

基于docker使用Ambari搭建Hadoop是有難度的,謹慎嘗試。

到此這篇關(guān)于一臺虛擬機基于docker搭建大數(shù)據(jù)HDP集群 的文章就介紹到這了,更多相關(guān)docker搭建HDP集群 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker如何創(chuàng)建一個Jar服務容器

    Docker如何創(chuàng)建一個Jar服務容器

    這篇文章主要介紹了Docker如何創(chuàng)建一個Jar服務容器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    本文主要介紹了Docker拉取鏡像過慢或卡死的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Docker命令行與守護進程的交互方法

    Docker命令行與守護進程的交互方法

    這篇文章主要介紹了Docker命令行與守護進程的交互方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • docker鏡像訪問本地elasticsearch端口操作

    docker鏡像訪問本地elasticsearch端口操作

    這篇文章主要介紹了docker鏡像訪問本地elasticsearch端口操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker安裝MySQL并使用Navicat連接的使用示例

    Docker安裝MySQL并使用Navicat連接的使用示例

    在Docker里運行MySQL的方式還是很方便的,本文主要介紹了Docker安裝MySQL并使用Navicat連接的使用示例,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    這篇文章主要介紹了Linux/Docker 中使用 System.Drawing.Common 踩坑記錄,本文通過兩種方案給大家詳細介紹,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 使用Dockerfile腳本定制鏡像的方法

    使用Dockerfile腳本定制鏡像的方法

    Dockerfile 是?個?本?件,其內(nèi)包含了?條條的指令(Instruction),每?條指令構(gòu)建?層,因此每?條指令的內(nèi)容,就是描述該層應當如何構(gòu)建,這篇文章主要介紹了使用Dockerfile腳本定制鏡像,需要的朋友可以參考下
    2022-07-07
  • docker之如何設置日志文件大小及個數(shù)

    docker之如何設置日志文件大小及個數(shù)

    這篇文章主要介紹了docker之如何設置日志文件大小及個數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 5款超好用的開源 Docker工具強烈推薦

    5款超好用的開源 Docker工具強烈推薦

    這篇文章主要介紹了5款超好用的開源 Docker工具強烈推薦,這5個工具非常實用,有需要同學可以學習下
    2021-03-03
  • docker部署mysql和nginx服務的示例詳解

    docker部署mysql和nginx服務的示例詳解

    這篇文章主要為大家詳細介紹了docker部署mysql和nginx服務的相關(guān)知識,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04

最新評論