亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環境

2024-09-01 13:51:12
字體:
來源:轉載
供稿:網友

Linux

Info:

  • Ubuntu 16.10 x64

Docker 本身就是基于 Linux 的,所以首先以我的一臺服務器做實驗。雖然最后跑 wordcount 已經由于內存不足而崩掉,但是之前的過程還是可以參考的。

連接服務器

使用 ssh 命令連接遠程服務器。

ssh root@[Your IP Address]

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

更新軟件列表

apt-get update

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

更新完成。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

安裝 Docker

sudo apt-get install docker.io

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

當遇到輸入是否繼續時,輸入「Y/y」繼續。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

安裝完成

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

輸入「docker」測試是否安裝成功。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

拉取鏡像

鏡像,是 Docker 的核心,可以通過從遠程拉取鏡像即可配置好我們所需要的環境,我們這次需要的是 Hadoop 集群的鏡像。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

在本文中,我們將使用 kiwenlau 的 Hadoop 集群鏡像以及其配置。由于我的服務器本身即在國外,因此拉取鏡像的速度較快,國內由于眾所周知的原因,可以替換為相應的國內源,以加快拉取速度。

sudo docker pull kiwenlau/hadoop:1.0

拉取鏡像完成。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

克隆倉庫

克隆倉庫到當前文件夾(可以自行創建并切換到相應文件夾)。

git clone https://github.com/kiwenlau/hadoop-cluster-docker

克隆倉庫完成

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

橋接網絡

sudo docker network create --driver=bridge hadoop

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

運行容器

cd hadoop-cluster-docker./start-container.sh

默認是 1 個主節點,2 個從節點,當然也可以根據性能調整為 N 節點,詳見文末參考鏈接。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

啟動 Hadoop

./start-hadoop.sh

在上一步,我們已經運行容器,即可直接運行 Hadoop。啟動時長與機器性能有關,也是難為了我這一臺 512 MB 內存的服務器。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

測試 Word Count

./run-wordcount.sh

Word Count 是一個測試 Hadoop 的 Shell 腳本,即計算文本中的單詞個數。不過由于我的服務器內存不夠分配無法完成,所以后續以本機進行測試。

網頁管理

我們可以通過網頁遠程管理 Hadoop:

  1. Name Node: [Your IP Address]:50070/
  2. Resource Manager: [Your IP Address]:8088/

macOS

Info:

  1. macOS 10.12.4 beta (16E191a)

下載 & 安裝

打開 Docker 官方網站:https://www.docker.com,選擇社區版,并下載、安裝。Windows 系統用戶可以選擇 Windows 版本。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

Docker CE

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

macOS or Windows

運行 Docker

打開 Docker。為了簡單,我沒有改動配置,如需更改,可以在 Preferences 中修改。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

我們可以在終端(Terminal)輸入「docker」,測試是否安裝成功。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

拉取鏡像 & 克隆倉庫 & 橋接網絡 & 運行容器 & 啟動 Hadoop

同 Linux。

測試 Word Count

./run-wordcount.sh

同 Linux,但這次我們可以運算出結果了。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

Windows

其實最開始就沒有打算放出 Windows 版,倒不是因為覺得 Windows 不好,而是目前手頭沒有 Windows 的電腦,借用同學的電腦也不是很方便。如果需要安裝 Docker,需要 CPU 支持虛擬化,且安裝了 64 位 Windows 10 Pro/企業版(需要開啟 Hyper-V)。其他版本的 Windows 可以安裝 Docker Toolbox。

Intellij IDEA

我們的 Hadoop 集群已經在容器里安裝完成,而且已經可以運行。相比自己一個個建立虛擬機,這樣的確十分方便、快捷。為了便于開發調試,接下來就需要在 Intellij IDEA 下配置開發環境,包管理工具選擇 Gradle。Maven 配合 Eclipse 的配置網上已經有很多了,需要的同學可以自行搜索。

Docker 開啟 9000 端口映射

由于我們使用的是 kiwenlau 的鏡像和開源腳本,雖然加快了配置過程,但是也屏蔽了很多細節。比如在其腳本中只默認開啟了 50070 和 8088 的端口映射,我們可以通過 docker ps(注意是在本機,而不是在容器運行該命令)列出所有容器,查看容器映射的端口。

cd hadoop-cluster-dockervim start-container.sh

切換到腳本文件夾,使用 Vim 編輯 start-container.sh。在圖中光標處添加以下內容,保存并退出。

-p 9000:9000 /

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

重啟容器,并查看容器狀態,如圖即為映射成功。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

開啟 Web HDFS 管理*

該步非必須。為了方便在網頁端管理,因此開啟 Web 端,默認關閉。

which hadoopcd /usr/local/hadoop/etc/hadoop/lsvi core-site.xml

找到 Hadoop 配置文件路徑,使用 Vi 編輯,若 Vi 的插入模式(Insert Mode)中,上下左右變成了 ABCD,那么可以使用以下命令即可:cp /etc/vim/vimrc ~/.vimrc 修復。

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

添加以下內容。

<property>  <name>dfs.webhdfs.enabled</name>  <value>true</value></property>

docker搭建hadoop集群,docker部署hadoop集群,docker,hadoop集群

啟動 Hadoop

同 Linux。

構建依賴

使用 Intellij IDEA 新建一個 Gradle 項目,在 Build.gradle 中加入以下依賴(對應容器 Hadoop 版本)。

compile group: 'org.apache.hadoop', name: 'hadoop-common', version: '2.7.2'compile group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '2.7.2'

Demo

import org.apache.commons.io.IOUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.junit.Before;import org.junit.Test;import java.io.FileInputStream;import java.io.IOException;import java.net.URI;/** * Created by kingcos on 25/03/2017. */public class HDFSOperations {  FileSystem fileSystem;  @Before  public void configure() throws Exception {    Configuration configuration = new Configuration();    configuration.set("fs.defaultFS", "hdfs://192.168.1.120:9000");    fileSystem = FileSystem.get(URI.create("hdfs://192.168.1.120:9000"), configuration, "root");  }  @Test  public void listFiles() throws IOException {    Path path = new Path("/");    RemoteIterator<LocatedFileStatus> iterator = fileSystem.listFiles(path, true);    while (iterator.hasNext()) {      LocatedFileStatus status = iterator.next();      System.out.println(status.getPath().getName());    }  }  @Test  public void rm() throws IOException {    Path path = new Path("/");    fileSystem.delete(path, true);  }  @Test  public void mkdir() throws IOException {    Path path = new Path("/demo");    fileSystem.mkdirs(path);  }}

之后便可以通過 IDEA 直接寫代碼來測試,這里簡單寫了幾個方法。

總結

在寫這篇文章之前,其實我對 Docker 的概念很不了解。但是通過 Learn by do it. 大致知道了其中的概念和原理。我們完全可以構建自己的容器 Dockerfile,來部署生產和開發環境,其強大的可移植性大大縮短配置的過程。

由于個人對 Hadoop 和 Docker 的了解甚少,如有錯誤,希望指出,我會學習、改正。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频观看正片免费网站| 久久躁日日躁aaaaxxxx| 中文字幕欧美日韩在线| 欧美高清在线播放| 国产精品99久久99久久久二8| 亚洲欧美www| 精品女同一区二区三区在线播放| 欧美视频在线观看免费| 97精品一区二区三区| 亚洲天堂成人在线视频| 亚洲精品国产精品国自产观看浪潮| 亚洲伊人成综合成人网| 久久亚洲精品中文字幕冲田杏梨| 国产91九色视频| 欧美日韩国产综合视频在线观看中文| 上原亚衣av一区二区三区| 久久久999国产精品| 色偷偷偷综合中文字幕;dd| 欧美性猛交丰臀xxxxx网站| 国产香蕉精品视频一区二区三区| 成人黄色片网站| 国产99久久精品一区二区| 国产精品www网站| 精品欧美激情精品一区| 亚洲日韩欧美视频一区| 亚洲视频在线观看网站| 成人av在线天堂| 欧美日韩亚洲国产一区| 日韩av网站电影| 国产精品天天狠天天看| 韩国三级日本三级少妇99| 久久久欧美一区二区| 5278欧美一区二区三区| 最近更新的2019中文字幕| www.亚洲免费视频| 欧美精品videossex性护士| 日韩成人网免费视频| 国产一区深夜福利| 国产日韩精品在线观看| 亚洲男人的天堂在线播放| 成人激情综合网| 91精品视频在线免费观看| 亚洲精品久久久久久久久久久久久| 国产成人福利夜色影视| 91高清视频在线免费观看| 亚洲一区二区中文| 欧美电影免费观看| 成人欧美一区二区三区黑人孕妇| 欧美精品精品精品精品免费| 亚洲加勒比久久88色综合| 久久久久一本一区二区青青蜜月| 欧美性猛交xxxx免费看| 日本高清久久天堂| 精品偷拍一区二区三区在线看| 日韩美女视频免费在线观看| 久久久亚洲影院| 日韩精品免费在线视频观看| 精品亚洲一区二区三区在线播放| 国内精品模特av私拍在线观看| 久久久久久久一区二区| 久久久久一本一区二区青青蜜月| 欧美孕妇孕交黑巨大网站| 538国产精品一区二区在线| 亚洲国产精品yw在线观看| 国产精品第100页| 亚洲欧美一区二区三区在线| 91精品综合久久久久久五月天| 中文字幕欧美国内| 亚洲国产天堂网精品网站| 美女av一区二区| 91精品综合久久久久久五月天| 欧美日本在线视频中文字字幕| 日韩欧亚中文在线| 精品国产视频在线| 成人欧美一区二区三区在线湿哒哒| 精品福利一区二区| 日韩精品中文字幕在线| 国产综合视频在线观看| 国产一区二区三区在线视频| 久久影视电视剧凤归四时歌| 亚洲国产精品专区久久| 精品成人在线视频| 最好看的2019的中文字幕视频| 亚洲国产成人爱av在线播放| www.美女亚洲精品| 日韩成人在线视频观看| 亚洲丁香婷深爱综合| 91久久精品日日躁夜夜躁国产| 青青久久av北条麻妃海外网| 国产欧美精品在线播放| 日韩高清电影免费观看完整| 亚洲人成网站色ww在线| 一区二区在线免费视频| 国产拍精品一二三| 久久久久国产精品免费网站| 欧美性xxxxxxx| 国产精品一区电影| 亚洲精美色品网站| 久久精品中文字幕免费mv| 2018日韩中文字幕| 成人性生交大片免费看视频直播| 成人午夜高潮视频| 91精品综合视频| 日韩欧美精品中文字幕| 久久精品中文字幕| 久热精品视频在线观看一区| 国产成人一区二区三区电影| 久久久久久久久久久免费| 日韩精品中文字幕久久臀| 亚洲精品xxx| 亚洲性夜色噜噜噜7777| 欧美一级淫片aaaaaaa视频| 欧美激情亚洲另类| 1769国内精品视频在线播放| 欧美视频在线免费看| 亚洲字幕在线观看| 国产精品福利小视频| 欧美激情视频在线免费观看 欧美视频免费一| 国产欧美日韩亚洲精品| 欧美在线免费视频| 精品视频—区二区三区免费| 亚洲成人激情在线观看| 国产精品大陆在线观看| 日本人成精品视频在线| 国产一区二区三区中文| 91精品国产综合久久香蕉922| 亚洲欧美一区二区三区在线| 日韩精品极品视频免费观看| 欧美日韩在线观看视频小说| 欧美日韩国产一区中文午夜| 欧美激情亚洲视频| 国产精品狼人色视频一区| 一区二区三区天堂av| 欧美视频在线免费| 在线日韩中文字幕| 在线视频欧美日韩精品| 日韩中文第一页| 日韩欧美在线字幕| 欧美日韩一区二区免费在线观看| 精品成人久久av| 欧美猛少妇色xxxxx| 亚洲欧美一区二区三区在线| 亚洲性69xxxbbb| 日韩免费av片在线观看| 久久精品精品电影网| 中文字幕国产亚洲2019| 日韩精品极品毛片系列视频| 精品国内产的精品视频在线观看| 国产精品久久久久7777婷婷| 日韩欧美成人区| 91成人在线观看国产| 97成人精品区在线播放| 国产视频久久久| 日韩av观看网址| 亚洲精品视频在线观看视频| 国产一区二区精品丝袜| 久青草国产97香蕉在线视频| 日韩精品免费一线在线观看| 日韩av免费在线播放| 日韩精品免费在线视频| 国产精品极品美女在线观看免费| 久久久久五月天| 亚洲欧美国产日韩中文字幕| 国产精品自在线|