最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 部署分布式 Hadoop的超詳細(xì)實(shí)戰(zhàn)指南

 更新時(shí)間:2026年02月26日 10:21:21   作者:禮拜天沒時(shí)間  
這篇文章給大家介紹Docker部署分布式Hadoop的超詳細(xì)實(shí)戰(zhàn)指南,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
  • 適合人群:大數(shù)據(jù)初學(xué)者、運(yùn)維工程師、想在本地快速搭建 Hadoop 集群的同學(xué)
  • 技術(shù)環(huán)境:CentOS 7 + Docker + Hadoop 2.7.2
  • 架構(gòu)模式:1 Master + 2 Slave 分布式集群

一:背景

在傳統(tǒng)方式下部署 Hadoop:

  • 需要準(zhǔn)備多臺(tái)虛擬機(jī)
  • 手動(dòng)配置網(wǎng)絡(luò)、主機(jī)名、SSH 免密
  • 重復(fù)安裝 JDK、Hadoop
  • 環(huán)境不可復(fù)用

而使用 Docker 的優(yōu)勢(shì):

? 環(huán)境隔離
? 一臺(tái)機(jī)器模擬多節(jié)點(diǎn)
? 可快速銷毀重建
? 鏡像可復(fù)用
? 非常適合學(xué)習(xí)與實(shí)驗(yàn)

在真實(shí)生產(chǎn)中,例如在基于 Apache Hadoop 的數(shù)據(jù)平臺(tái)環(huán)境中,也常結(jié)合容器化與編排技術(shù)使用。

二:部署

1)創(chuàng)建基礎(chǔ)鏡像

查看系統(tǒng)版本

[root@hadoop108 ~]# uname -r
3.10.0-862.el7.x86_64

安裝 Docker

[root@hadoop108 ~]# yum install -y docker

啟動(dòng) Docker

[root@hadoop108 ~]# systemctl start docker

設(shè)置 Docker 開機(jī)自啟

[root@hadoop108 ~]# systemctl enable docker

查看 Docker 狀態(tài)

[root@hadoop108 ~]# systemctl status docker

配置 Docker 鏡像加速器

[root@hadoop108 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://3iy7bctt.mirror.aliyuncs.com"]
}
[root@hadoop108 ~]# systemctl daemon-reload
[root@hadoop108 ~]# systemctl restart docker
[root@hadoop108 ~]# docker info

搜索并拉取 CentOS 鏡像

[root@hadoop108 ~]# docker search centos
[root@hadoop108 ~]# docker pull centos:7

查看鏡像列表

[root@hadoop108 ~]# docker images

運(yùn)行 CentOS 容器(帶特權(quán)模式,用于啟動(dòng) systemd 服務(wù))

[root@hadoop108 ~]# docker run --privileged=true --name centos7 -h hadoop -itd centos:7 /usr/sbin/init

查看運(yùn)行中的容器

[root@hadoop108 ~]# docker ps

進(jìn)入容器

[root@hadoop108 ~]# docker exec -it centos7 /bin/bash

在容器內(nèi)安裝必要工具

[root@hadoop ~]# yum install -y vim net-tools openssh-server openssh-clients rsync

配置 SSH 服務(wù)并啟動(dòng)

[root@hadoop ~]# vim /etc/ssh/sshd_config
Port 22
PermitRootLogin yes
[root@hadoop ~]# systemctl start sshd.service
[root@hadoop ~]# systemctl enable sshd.service
[root@hadoop ~]# systemctl status sshd.service

創(chuàng)建軟件目錄

[root@hadoop ~]# mkdir -p /opt/module /opt/software

退出容器并提交為新的鏡像

[root@hadoop ~]# exit
[root@hadoop108 ~]# docker commit 容器ID centos:hadoop
[root@hadoop108 ~]# docker images

2)創(chuàng)建 Hadoop

基于新鏡像啟動(dòng) Master 和 Slave 容器

[root@hadoop108 ~]# docker run --privileged=true --name master -h master -p 50070:50070 -itd centos:hadoop /usr/sbin/init
[root@hadoop108 ~]# docker run --privileged=true --name slave01 -h slave01 -p 8088:8088 -itd centos:hadoop /usr/sbin/init
[root@hadoop108 ~]# docker run --privileged=true --name slave02 -h slave02 -itd centos:hadoop /usr/sbin/init

進(jìn)入容器配置 hosts 文件(在每個(gè)容器中執(zhí)行)

[root@master ~]# vim /etc/hosts
172.17.0.3 master
172.17.0.4 slave01
172.17.0.5 slave02

設(shè)置 root 密碼

[root@master ~]# passwd root
[root@slave01 ~]# passwd root
[root@slave02 ~]# passwd root

配置 SSH 免密登錄

[root@master ~]# ssh-keygen -t rsa
[root@master ~]# ssh-copy-id master
[root@master ~]# ssh-copy-id slave01
[root@master ~]# ssh-copy-id slavse02

從宿主機(jī)拷貝 Hadoop 和 JDK 安裝包到容器

[root@hadoop108 ~]# docker cp jdk-8u144-linux-x64.tar.gz master:/opt/software
[root@hadoop108 ~]# docker cp hadoop-2.7.2.tar.gz master:/opt/software

安裝 JDK

[root@master ~]# tar -xzvf /opt/software/jdk-8u144-linux-x64.tar.gz -C /opt/module/
[root@master ~]# vim /etc/profile
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@master ~]# source /etc/profile
[root@master ~]# java -version

安裝 Hadoop

[root@master ~]# tar -xzvf /opt/software/hadoop-2.7.2.tar.gz -C /opt/module/
[root@master ~]# vim /etc/profile
# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
[root@master ~]# source /etc/profile
[root@master ~]# hadoop version

配置 Hadoop 配置文件

[root@master ~]# cd /opt/module/hadoop-2.7.2/etc/hadoop

配置 core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.7.2/data/tmp</value>
  </property>
</configuration>

配置 hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置 hdfs-site.xml

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>slave02:50090</value>
</property>
<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

配置 slaves 文件

master
slave01
slave02

配置 yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置 yarn-site.xml

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>slave01</value>
</property>

配置 mapred-site.xml

[root@master hadoop]# mv mapred-site.xml.template mapred-site.xml
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

配置 mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

分發(fā)配置文件到 slave 節(jié)點(diǎn)

[root@master ~]# scp -r /opt/module/jdk1.8.0_144/ root@slave01:/opt/module/
[root@master ~]# scp -r /opt/module/jdk1.8.0_144/ root@slave02:/opt/module/
[root@master ~]# scp -r /opt/module/hadoop-2.7.2/ root@slave01:/opt/module/
[root@master ~]# scp -r /opt/module/hadoop-2.7.2/ root@slave02:/opt/modusle/

在 slave 節(jié)點(diǎn)配置環(huán)境變量(在 slave01 和 slave02 中執(zhí)行)

[root@slave01 ~]# vim /etc/profile
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
[root@slave01 ~]# source /etc/profile

3)啟動(dòng) Hadoop

  • 格式化 HDFS 并啟動(dòng) Hadoop
  • 在 master 節(jié)點(diǎn)執(zhí)行:
[root@master ~]# hdfs namenode -format
[root@master ~]# start-dfs.sh
  • 在 slave01 節(jié)點(diǎn)執(zhí)行:
[root@slave01 ~]# start-yarn.sh

瀏覽器訪問

  • HDFS:http://宿主機(jī)IP:50070
  • YARN:http://宿主機(jī)IP:8088

4)保存鏡像

停止 Hadoop 集群

[root@slave01 ~]# stop-yarn.sh
[root@master ~]# stop-dfs.sh

將容器提交為鏡像

[root@hadoop108 ~]# docker commit master centos:master
[root@hadoop108 ~]# docker commit slave01 centos:slave01
[root@hadoop108 ~]# docker commit slave02 centos:slave02

總結(jié)

本文完整演示了:

  • 制作 Hadoop 基礎(chǔ)鏡像
  • 構(gòu)建三節(jié)點(diǎn)集群
  • 配置 SSH 免密
  • 配置 HDFS + YARN
  • 啟動(dòng)并驗(yàn)證 Web UI
  • 保存為可復(fù)用鏡像

核心思想:

用 Docker 模擬分布式環(huán)境
用容器復(fù)刻真實(shí)大數(shù)據(jù)架構(gòu)

對(duì)于正在做大數(shù)據(jù)方向?qū)W習(xí)或畢業(yè)設(shè)計(jì)的同學(xué),這種方式可以極大降低實(shí)驗(yàn)成本。

到此這篇關(guān)于Docker 部署分布式 Hadoop(超詳細(xì)實(shí)戰(zhàn)版)的文章就介紹到這了,更多相關(guān)Docker 部署分布式 Hadoop內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker構(gòu)建鏡像需使用的命令小結(jié)

    docker構(gòu)建鏡像需使用的命令小結(jié)

    Docker 構(gòu)建鏡像的命令主要分為兩類:Dockerfile 指令與 docker build 命令,這篇文章主要介紹了docker構(gòu)建鏡像需使用的命令,需要的朋友可以參考下
    2007-01-01
  • 如何用skopeo檢查docker image

    如何用skopeo檢查docker image

    Skopeo是一個(gè)強(qiáng)大的命令行工具,用于檢查Docker鏡像和倉庫的信息,無需直接與Docker守護(hù)程序交互,本文給大家介紹如何用skopeo檢查docker image,感興趣的朋友一起看看吧
    2025-03-03
  • Docker如何實(shí)現(xiàn)離線安裝

    Docker如何實(shí)現(xiàn)離線安裝

    文章介紹了如何在離線環(huán)境中安裝Docker,并將其注冊(cè)為系統(tǒng)服務(wù),主要內(nèi)容包括下載Docker二進(jìn)制文件、上傳到服務(wù)器、解壓安裝包、配置系統(tǒng)服務(wù)以及驗(yàn)證安裝是否成功
    2024-11-11
  • 解決docker目錄內(nèi)存不足擴(kuò)容處理方案

    解決docker目錄內(nèi)存不足擴(kuò)容處理方案

    文章介紹了Docker存儲(chǔ)目錄遷移方法:因系統(tǒng)盤空間不足,需將Docker數(shù)據(jù)遷移到更大磁盤(如/home/docker),通過修改daemon.json配置、重啟服務(wù)并驗(yàn)證遷移成功,最終釋放系統(tǒng)盤空間
    2025-09-09
  • 創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法

    創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法

    這篇文章主要介紹了創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Docker查看是否開機(jī)自啟及容器自啟動(dòng)設(shè)置

    Docker查看是否開機(jī)自啟及容器自啟動(dòng)設(shè)置

    Docker是當(dāng)前最流行的容器技術(shù),通過運(yùn)用容器打包應(yīng)用程序并部署到生產(chǎn)環(huán)境中,可大大提高部署的速度和可靠性,下面這篇文章主要給大家介紹了關(guān)于Docker查看是否開機(jī)自啟及容器自啟動(dòng)設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • docker部署redis的具體實(shí)現(xiàn)

    docker部署redis的具體實(shí)現(xiàn)

    在開發(fā)中,我們經(jīng)常會(huì)遇到使用redis的場(chǎng)景,本文主要介紹了docker部署redis的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 使用Distroless提高容器安全

    使用Distroless提高容器安全

    這篇文章主要為大家介紹了使用Distroless提高容器安全,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Docker網(wǎng)絡(luò)及容器通信原理詳解

    Docker網(wǎng)絡(luò)及容器通信原理詳解

    這篇文章主要介紹了Docker網(wǎng)絡(luò)及容器通信原理詳解的相關(guān)資料,并通過啟動(dòng)幾個(gè)容器來探究Docker網(wǎng)絡(luò)及容器通信,需要的朋友可以參考下
    2022-11-11
  • docker部署apollo詳細(xì)教程

    docker部署apollo詳細(xì)教程

    這篇文章主要介紹了docker部署apollo詳細(xì)教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論

年辖:市辖区| 永州市| 车险| 青铜峡市| 彩票| 中宁县| 武山县| 株洲市| 高州市| 瑞丽市| 平南县| 渑池县| 铁岭市| 嘉义县| 临澧县| 阿尔山市| 内丘县| 晋城| 科技| 洛隆县| 道孚县| 莲花县| 乳源| 深圳市| 抚顺县| 仁寿县| 女性| 文登市| 浪卡子县| 剑川县| 大庆市| 富平县| 多伦县| 安仁县| 边坝县| 西乌珠穆沁旗| 楚雄市| 丹东市| 赣州市| 桂平市| 大姚县|