日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 前言
  • 思路
  • 整體架構
    • 1. 技術選型
    • 2. 架構設計
  • 平臺一覽
    • Hadoop集群
    • 集群節點
  • 環境準備
    • 1. 虛擬機準備
    • 2. docker容器準備
      • dockerfile
      • docker-compose
    • 3. 下載安裝包
    • 結語

      前言

      好多人問我,這種基于大數據平臺的xxxx的畢業設計要怎么做。這個可以參考之前寫得關于我大數據畢業設計的文章。這篇文章是將對之前的畢設進行優化。

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

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

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

      思路

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

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

      Apache版本的缺點是沒有一個統一的管控平臺。

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

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

      整體架構

      整個架構設計和技術選型,都是根據個人需求選擇,可以參考。

      1. 技術選型

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

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

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

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

      2. 架構設計

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

      平臺一覽

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

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

      Hadoop集群

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

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

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

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

      集群節點

      這里的Hosts指的就是所有集群節點的個數,也是docker節點的個數。這里因為內存有限,所以一個docker啟動了好幾個服務。

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

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

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

      環境準備

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

      1. 虛擬機準備

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

      我選擇docker的理由:

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

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

      2. docker容器準備

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

      dockerfile

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

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

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

      docker-compose

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

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

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

      3. 下載安裝包

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

      基于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安裝中時使用。

      結語

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

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

      分享到:
      標簽:一臺 搭建 虛擬機 詳解 集群
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定