ドッキングウィンドウのインストールhadoop2.7.7を使用します

公式インストールマニュアル
https://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-common/ClusterSetup.html
によるオンラインドッキングウィンドウを使用するには、それがドッキングウィンドウミラーにパッケージ化する必要があります。

具体的な手順:

ベース画像

場合に選択および一貫したサーバubuntu16.04、VIMとのtzdataのインストール時に、東領域8に時間帯を設定する
のsources.listソースソフトウェアホストからコピーされます。

FROM ubuntu:16.04
COPY sources.list /etc/apt/
RUN apt update
RUN apt install -y vim tzdata
RUN rm /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV TZ="Asia/Shanghai"

JDKをインストールします。

WORKDIR /
COPY jdk1.8.0_171 /jdk1.8.0_171
ENV JAVA_HOME=/jdk1.8.0_171
RUN ln -s /jdk1.8.0_171/bin/java /usr/bin/java

インストールhadoop2.7.7

WORKDIR /hadoop
COPY hadoop-2.7.7 .
ENV HADOOP_PREFIX=/hadoop
ENV HADOOP_CONF_DIR=/hadoop/etc/hadoop

プロフィールを作成

コピーhadoop2.7.7 /ホーム/ MO / sjfx-のHadoopへの/ etc / Hadoopのディレクトリ -data / configに、 ディレクトリのHadoopの構成として、このディレクトリは、それが設定ファイルを変更した後、このディレクトリに変更されます。
修正コア-site.xmlに設定HDFSアドレス、どこ名前ノードサーバアドレスとして設定プロパティfs.defaultFS

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.26:9000</value> 
    </property>
</configuration>

HDFS-site.xmlのを修正

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/hadoop_data/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
       <value>/hadoop_data/hdfs/datanode</value>
    </property>
</configuration>

フォーマット名前ノード

あなたが名前ノードを開始する前に、データの名前ノードをフォーマットする必要がある
データ、ログのHadoopのには注意をし、configディレクトリをマッピングします

#/bin/sh
docker stop sjfxhadoop-namenode
docker rm sjfxhadoop-namenode
docker run -it --name sjfxhadoop-namenode --net=host \
  -v /home/mo/sjfx-hadoop-data/data:/hadoop_data \
  -v /home/mo/sjfx-hadoop-data/logs:/hadoop/logs \
  -v /home/mo/sjfx-hadoop-data/config:/hadoop/etc/hadoop \
   sjfxhadoop:v1 sh -c "/hadoop/bin/hdfs namenode -format sjfx-cluster"

名前ノードを開始します

ホストネットワークモードの使用
注hadoop-daemon.shプログラムをブロックするためには、tail -fを/ dev / nullを使用し、主要なプロセスが終了するコンテナを防ぐために、自動的に終了を開始します。

#/bin/sh
docker stop sjfxhadoop-namenode
docker rm sjfxhadoop-namenode
docker run -d --name sjfxhadoop-namenode --net=host \
  -v /home/mo/sjfx-hadoop-data/data:/hadoop_data  \
  -v /home/mo/sjfx-hadoop-data/logs:/hadoop/logs \
  -v /home/mo/sjfx-hadoop-data/config:/hadoop/etc/hadoop \
  sjfxhadoop:v1 sh -c "/hadoop/sbin/hadoop-daemon.sh --script hdfs start namenode  && tail -f /dev/null"

例外なくスタートログビューアのログディレクトリを開始した後。
あなたは、その後http://192.168.1.26:50070、名前ノードに関する情報を表示アクセスすることができます

データノードを開始します

#/bin/sh
docker stop sjfxhadoop-datanode
docker rm sjfxhadoop-datanode
docker run -d --name sjfxhadoop-datanode --net=host \
  -v /home/mo/sjfx-hadoop-data/data:/hadoop_data  \
  -v /home/mo/sjfx-hadoop-data/logs:/hadoop/logs \
  -v /home/mo/sjfx-hadoop-data/config:/hadoop/etc/hadoop \
  sjfxhadoop:v1 sh -c "/hadoop/sbin/hadoop-daemon.sh --script hdfs start datanode  && tail -f /dev/null"

テスト

HDFSにログファイルをアップロード

./hadoop-2.7.7/bin/hadoop fs -mkdir hdfs://192.168.1.26:9000/sjfxlogs

エラー:
MKDIR:アクセス許可が拒否されました:ユーザー= MO、アクセス= WRITEを、inodeを=「/」:ルート:累:drwxr-XR-X-を
現在のユーザーがMOであり、データディレクトリがHDFSに、アクセスするルートになるように、ユーザが必要とするため、近いパーミッションチェックを-site.xml、および名前ノード缶を再起動します。

    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

/ sjfxディレクトリを作成した後、ログファイルに配置することができます

./hadoop-2.7.7/bin/hadoop fs -put ~/sjfxlogs/bak/2019-05-31/gateway-json-2019-05-31-1.log hdfs://192.168.1.26:9000/sjfxlogs/

ファイルの表示

./hadoop-2.7.7/bin/hadoop fs -ls hdfs://192.168.1.26:9000/sjfxlogs

1つのアイテムが見出さ
r--の3カ月のスーパーグループ1004671801の2019年6月4日13時58 - -rw-R //192.168.1.26:9000 / sjfxlogs /ゲートウェイJSON-2019-05-31-1.log HDFSを

概要

  1. 基本イメージとしてubuntu16.04使用し、インストールのtzdataとvimの、問題領域に対処し、ファイルを編集して、JDKをインストールし、Hadoopの-2.7.7をインストールします。
  2. 設定ファイルに元のHadoop-2.7.7ディレクトリからコピーされ、それらの構成を変更し、これは各実行Hadoopのマシンまでに配置されます、後者は設定を同期するためにgitやrsyncを使用することができます。
  3. スクリプト形式の名前ノードを作成します
  4. 起動時の名前ノードとデータノードのスクリプトを作成し、スクリプトデータは、外部にマッピングされた3つのディレクトリを記録した構成。

ます。https://www.jianshu.com/p/bb8411b7a4b5で再現

おすすめ

転載: blog.csdn.net/weixin_34391854/article/details/91162520