Linuxの仮想化ドッカーミラーカスタムのHadoopドッカーベースの環境とのリリース

前は、ドッカードッカーのJava、Scalaの環境を作るミラーに書いた建物の方法を使用します。今日は、コンテナに基づく新しいイメージを作成します。私たちは一例として、ビッグデータ環境Hadoopクラスタ環境にあることが起こりました。私は多くの問題、あなたといくつかだけに交流があるでしょう、また、設定ドッカーでは初めてです。

準備

ここで、私たちは私たちの基本的な環境を準備するために必要なもの、私たちの環境は、例えば、何のvimなどは、no ip addrは、使用するビット不便昨日の問題の基本ではありません。うちのリリースに基づいて、昨日、ビルドを再我々はそう:

# 指定基镜像 centos
FROM centos:centos7.7.1908
MAINTAINER      Fisher "[email protected]"
# 先执行更新
RUN yum -y update
# 复制jdk到指定目录
ADD jdk-8u201-linux-x64.tar.gz /opt/module
# 配置jdk环境
ENV JAVA_HOME /opt/module/jdk1.8.0_201
ENV PATH $PATH:$JAVA_HOME/bin
# 检测java版本,确认是否安装成功
RUN java -version
ADD scala-2.11.11.tgz /opt/module
# 配置SCALA 环境
ENV SCALA_HOME /opt/module/scala-2.11.11
ENV PATH $PATH:$SCALA_HOME/bin
# 安装 Vim
RUN yum -y install vim
# 安装 ip
RUN yum -y install initscripts
RUN yum -y install openssh-server
RUN yum -y install openssh-clients

RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && \
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

CMD [ "sh", "-c", "systemctl start sshd;bash"]

我々は良いを構築した後、私たちの新しいイメージがある:sun1534 /ドッカー-JavaベースのScala:7.8.11.1、これに基づいて、我々はHadoopのビッグデータの私たちの基本的な環境を構築します。ステップバイステップ。

ビルドする準備ができて

環境を構築し、我々は3つのドッキングウィンドウコンテナ、すなわちマスター、slave01、slave02を準備することができます。

docker run -itd --privileged --name master -h master sun1534/docker-java-scala:7.8.11.1  /usr/sbin/init
docker run -itd --privileged --name slave01 -h slave01 sun1534/docker-java-scala:7.8.11.1  /usr/sbin/init
docker run -itd --privileged --name slave02 -h slave02 sun1534/docker-java-scala:7.8.11.1  /usr/sbin/init
docker exec -it master /bin/bash
docker exec -it slave01 /bin/bash
docker exec -it slave02 /bin/bash

当然のことながら、私はマスターのsshアクセスslave01を使用しようとしています、エラーがある:ssh: connect to host slave01 port 22: Connection refused当然のことながら、私は編集者注を認識していないです、これはそれを投げるのは初めてです。接続がファイアウォールを見て、拒否し、そのようなAを見るために時間のファイアウォールがエラーを報告しました:Failed to get D-Bus connection: Operation not permittedsystemctl便利な命令への私たちのコンテナが、彼はそれを行うためのアクセス許可を持っていないため、このエラーがあります。コンテナを作成するときに我々が使用する必要がありますので、: docker run -itd --privileged --name master -h master sun1534/docker-java-scala:7.8.11.1 /usr/sbin/initもちろん上記の私の変更のことですので、それは、上記と同じです。権利が解決発行した後、私は実際には問題は解決しました。グッド魔法。

私たちは、Hadoopのを展開し始めました

今質問、私たちのHadoopクラスタ環境を構築するために3台のサーバに相当します。この1は私の以前のブログを参照してくださいすることができます開発財団ビッグデータフレームワークのHadoop(2)ゼロからクラスタを構築するために、ここで、それから、私はそうではないと、私たちは他のプレゼンテーションが説明してください。私はここで、すべてのrootアカウントで実行行く、とのHadoop Hadoopのユーザー、ユーザーの何ハイブにハイブを開くことを言わないだろう。ただ、テスト環境、我々は少し単純。同じ。ここでは、私はちょうど同じ種類の最適化は、このクラスタのために行われるものに、非常に単純なクラスタ環境を設置、やってその人の背中を使用することです。

私たちは、変更を送信します

 docker commit -m="docker-hadoop-namenode" -a="[email protected]" 01c751404010 sun1534/docker-hadoop-namenode:1.0
 docker commit -m="docker-hadoop-datanode" -a="[email protected]" 85523e229c79 sun1534/docker-hadoop-datanode:slave01.1.0
 docker commit -m="docker-hadoop-datanode" -a="[email protected]" da010995d410 sun1534/docker-hadoop-datanode:slave02.1.0

私たちは、その後、ドッカーハブまでに提出。
ドッカー-Hadoopの-名前ノード
ドッカー-hadoopdatanode

どのように我々は、ミラーを使用

バージョン番号説明

  • ベース画像:ドッカーベース
  • Hadoopの:2.7.2
  • Javaの:1.8.0_201
  • スカラ:2.11.11

1.0

インフラストラクチャサービスを構築し、デフォルトでは3台のマシンです。

説明書

ミラープル

# 拉去我们的 namenode
docker pull sun1534/docker-hadoop-namenode:1.0
# 拉去我们的 datanode
# slave01/slave02 是我们的两个不同的节点,我们的JobHistory,ResourceManager,SecondaryNameNode 分别部署在三个节点上,因此都需要拉取
docker pull sun1534/docker-hadoop-datanode:slave01.1.0
docker pull sun1534/docker-hadoop-datanode:slave02.1.0

設定手順

サービス説明

サービス名|機械|開いているポート
--- | --- | ---
名前ノード|マスター| 50070
のResourceManager | slave01 | 8088
JobHistory | slave01 | 10020,19888

コンテナを作成

私たちの創造のコンテナの後に、それゆえ、私たちは私たちのコンテナを作成するには、次の方法を使用し、systemctlコマンドを使用する必要があり、我々は、必要に応じて私たちのポートを開くために行くことができます。

docker run -itd --privileged --name master -h master -p 50070:50070  sun1534/docker-hadoop-namenode:1.0  /usr/sbin/init

コンテナが作成された後、我々は我々のコンテナのIPアドレスがわからない場合、あなたが取得するには、次のコマンドを使用することができ、手動で私たちの/ etc / hostsファイルを変更する必要があります。

docker inspect <container name or id>| grep IPAddress

あなたは、コンテナを作成した後、以下を追加し、/ etc / hostsファイルを変更してください。

127.17.0.2      master
127.17.0.3      slave01
127.17.0.4      slave02

これは、私たちのHadoopクラスタ環境が開始されます。

sbin/start-all.sh

おすすめ

転載: www.cnblogs.com/sun-iot/p/12144929.html