大数据 Docker Hadoop 环境搭建

前言

公司做某行数据中台POC,要添加大数据处理数据源,做为数据查询数据源引擎。快搭建做POC测试使用。此文件基础Docker技术,如何搭建Docker及使用请点击这里
官方网站

基础环境

系统镜像环境:centos7.9.2009
docker pull registry.cn-hangzhou.aliyuncs.com/snake-group/centos:base-7.9.2009

此镜像是在centos7.9.2009基础上安装了一系统工具包的二次镜像包:iputils nc less libcurl zip unzip tar net-tools iptutils-ping sysvinit-tools iptables wget telnet ntp kde-l10n-Chinese,时区为Asia/Shanghai,系统编码为 zh_CN.UTF-8

Hadoop基础镜像制作

何为Hadoop请点击这里
Hadoop官网
hadoop-3.3.6 下载
此镜像基于registry.cn-hangzhou.aliyuncs.com/snake-group/centos:base-7.9.2009制作
Hadoop 软件要求Java运行环境、ssh、sshd、pdsh

如果要使用可选的启动和停止脚本,则必须安装ssh并运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。此外,建议还安装pdsh,以便更好地管理ssh资源

创建Dockerfile文件如下

FROM registry.cn-hangzhou.aliyuncs.com/snake-group/centos:base-7.9.2009
LABEL maintainer="bluesky <bluesky@163.com>"
# 先解压zip hadoop-3.3.6.zip.001得到hadoop-3.3.6.tar.gz
# linux 先合并成再解压
# cat hadoop-3.3.6.zip.0* > hadoop-3.3.6.zip && unzip hadoop-3.3.6.zip
ADD hadoop-3.3.6.tar.gz /app/
RUN set -x \
    && yum update -y && pwd \
    && yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless \
    && yum install -y openssh-server openssh-clients openssh-devel \
    && yum install -y epel-release && yum -y install pdsh

ENV JAVA_HOME=/usr/lib/jvm/java \
    PDSH_PATH_TYPE=ssh \
    HADOOP_HOME=/app/hadoop-3.3.6 \
    HADOOP_CONF_DIR=/app/hadoop-3.3.6/etc/hadoop

RUN set -x \
    && systemctl enable sshd \
    && useradd hadoop \

在此提供已完成的镜像registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009

Hadoop 集群部署

在此利用docker-compose部署
编辑docker-compose.yml文件如下

version: '3.6'
networks:
  inner:
    name: "hadoop-env"
    driver: "bridge"
    ipam:
      config:
        - subnet: 172.15.0.0/16
          gateway: 172.15.0.1
services:
  hadoop-01:
    hostname: hadoop-01
    image: registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009
    container_name: hadoop-01
    user: root
    command: "/usr/sbin/init"
    #    restart: always
    privileged: true
    environment:
      HADOOP_LOG_DIR : "/opt/hadoop3/data/hadoop-logs"
    volumes:
      - D:\dockerVolumes\hadoop\hadoop-01\data:/opt/hadoop3/data #数据文件挂载
    ports:
      - "2021:22"
      - "16010:16010" #hbase web Ui
    shm_size: '256m'
    networks:
      inner:
        ipv4_address: 172.15.0.2
  hadoop-02:
    hostname: hadoop-02
    image: registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009
    container_name: hadoop-02
    user: root
    command: "/usr/sbin/init"
    #    restart: always
    privileged: true
    environment:
      HADOOP_LOG_DIR : "/opt/hadoop3/data/hadoop-logs"
    volumes:
      - D:\dockerVolumes\hadoop\hadoop-02\data:/opt/hadoop3/data #数据文件挂载
    ports:
      - "2022:22"
    shm_size: '256m'
    networks:
      inner:
        ipv4_address: 172.15.0.3
  hadoop-03:
    hostname: hadoop-03
    image: registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009
    container_name: hadoop-03
    user: root
    command: "/usr/sbin/init"
    #    restart: always
    privileged: true
    environment:
      HADOOP_LOG_DIR : "/opt/hadoop3/data/hadoop-logs"
    volumes:
      - D:\dockerVolumes\hadoop\hadoop-03\data:/opt/hadoop3/data #数据文件挂载
    ports:
      - "2023:22"
      - "8088:8088" # ResourceManager Web UI
      - "19888:19888" # MapReduce JobHistory Server
    shm_size: '256m'
    networks:
      inner:
        ipv4_address: 172.15.0.4
  hadoop-04:
    hostname: hadoop-04
    image: registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009
    container_name: hadoop-04
    user: root
    command: "/usr/sbin/init"
    #    restart: always
    privileged: true
    environment:
      HADOOP_LOG_DIR : "/opt/hadoop3/data/hadoop-logs"
    volumes:
      - D:\dockerVolumes\hadoop\hadoop-04\data:/opt/hadoop3/data #数据文件挂载
    ports:
      - "2024:22"
      - "9870:9870" # NameNode Web UI
    shm_size: '256m'
    networks:
      inner:
        ipv4_address: 172.15.0.5
  hadoop-05:
    hostname: hadoop-05
    image: registry.cn-hangzhou.aliyuncs.com/snake-group/hadoop:3.3.6-centos.base-7.9.2009
    container_name: hadoop-05
    user: root
    command: "/usr/sbin/init"
    #    restart: always
    privileged: true
    environment:
      HADOOP_LOG_DIR : "/opt/hadoop3/data/hadoop-logs"
    volumes:
      - D:\dockerVolumes\hadoop\hadoop-05\data:/opt/hadoop3/data #数据文件挂载
    ports:
      - "2025:22"
    shm_size: '256m'
    networks:
      inner:
        ipv4_address: 172.15.0.6

说明文件中的volumes按自己的情况做修改、

启动集群环境

docker-compose -f docker-compose.yml -d up

配置集群ssh互信

分别进入容器节点执行以下操作(所有操作以tbase用户执行 su hadoop)

# 生成密钥对一路回车就好
su hadoop
ssh-keygen -t rsa

结果如下

[root@6e571dd27871 app]# su hadoop
[hadoop@6e571dd27871 app]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:G4+53/dfFXhlyz//ordQzdAP44QjxQk4KX8kWoj6lfo hadoop@6e571dd27871
The key's randomart image is:
+---[RSA 2048]----+
|     . . o.o..  o|
|    . o * ..o.ooo|
|   .   * +. o.==.|
|  .   + . .. +.*+|
|   . o  S.    o.*|
|    o    *   .  +|
|     .  + . .   o|
|      E  . . .+ o|
|        ... o+.+=|
+----[SHA256]-----+

再执行

ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-01
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-02
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-03
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-04
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-05

此使命令执行行会让你输入密码,密码可以用passwd hadoop设置下

集群节点配置

守护进程分布如下

节点NameNode(DFS)SecondaryNameNode(DFS)DataNode(DFS)NodeManager(YARN)ResourceManager(YARN)
hadoop-01--**-
hadoop-02--**-
hadoop-03--***
hadoop-04*-**-
hadoop-05-***-

配置NameNode

进入节点hadoop-04修改配置文件

docker exec -it hadoop-04 bash

修改core-site.xml

官方默认配置详解文件

vi /app/hadoop-3.3.6/etc/hadoop/core-site.xml

修改文件如下

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop-04</value>
                <description>NameNode URI</description>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop3/data</value>
                <description>hadoop数据目录</description>
        </property>
        <property>
                <name>hadoop.http.staticuser.user</name>
                <value>hadoop</value>
                <description>配置 HDFS 网页登录使用的静态用户为 root</description>
        </property>
</configuration>
修改hdfs-site.xml

官方默认配置详解文件

vi /app/hadoop-3.3.6/etc/hadoop/hdfs-site.xml

修改文件如下

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
                <description>数据块的副本个数</description>
        </property>
        <property>
                <name>dfs.blocksize</name>
                <value>268435456</value>
                <description>大型文件系统的HDFS数据块大小为256MB。</description>
        </property>
        <property>
                <name>dfs.namenode.handler.count</name>
                <value>100</value>
                <description>更多NameNode服务器线程来处理来自大量DataNodes的RPC。</description>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
                <description>是否启用通过http协议访问hdfs文件,如果是,则集群安全信较差</description>
        </property>       
</configuration>
修改yarn-site.xml

官方默认配置详解文件

vi /app/hadoop-3.3.6/etc/hadoop/yarn-site.xml

修改文件如下

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop-03</value>
                <description>resourcemanager主机名</description>
        </property>
</configuration>
修改mapred-site.xml

官方默认配置详解文件

vi /app/hadoop-3.3.6/etc/hadoop/mapred-site.xml

修改文件如下

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
                <description>执行框架设置为Hadoop YARN</description>
        </property>
</configuration>
通过pdsh同步操作其他节点
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/core-site.xml /app/hadoop-3.3.6/etc/hadoop/core-site.xml
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/hdfs-site.xml /app/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/yarn-site.xml /app/hadoop-3.3.6/etc/hadoop/yarn-site.xml
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/mapred-site.xml /app/hadoop-3.3.6/etc/hadoop/mapred-site.xml

如下所示

[hadoop@hadoop-04 app]$ pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/core-site.xml /app/hadoop-3.3.6/etc/hadoop/core-site.xml
[hadoop@hadoop-04 app]$ pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/hdfs-site.xml /app/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
[hadoop@hadoop-04 app]$ pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/yarn-site.xml /app/hadoop-3.3.6/etc/hadoop/yarn-site.xml
[hadoop@hadoop-04 app]$ pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-05 scp hadoop@hadoop-04:/app/hadoop-3.3.6/etc/hadoop/mapred-site.xml /app/hadoop-3.3.6/etc/hadoop/mapred-site.xml

启动各个节点

执行启动命令节点

pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-04,hadoop-05 rm -rf /opt/hadoop3/data/*
pdsh -w hadoop-04 hdfs namenode -format
pdsh -w hadoop-04 hdfs --daemon start namenode
pdsh -w hadoop-05 hdfs --daemon start secondarynamenode
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-04,hadoop-05 hdfs --daemon start datanode
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-04,hadoop-05 yarn --daemon start nodemanager
pdsh -w hadoop-03 yarn --daemon start resourcemanager
pdsh -w hadoop-03 mapred --daemon start historyserver
pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-04,hadoop-05 jps|grep -v Jps|sort -r

如下如示

[hadoop@hadoop-04 opt]$ pdsh -w hadoop-01,hadoop-02,hadoop-03,hadoop-04,hadoop-05 jps|grep -v Jps|sort -r
hadoop-05: 8121 NodeManager
hadoop-05: 7998 DataNode
hadoop-05: 7879 SecondaryNameNode
hadoop-04: 34609 NodeManager
hadoop-04: 34323 DataNode
hadoop-04: 33998 NameNode
hadoop-03: 5624 JobHistoryServer
hadoop-03: 5155 ResourceManager
hadoop-03: 5018 NodeManager
hadoop-03: 4903 DataNode
hadoop-02: 4953 NodeManager
hadoop-02: 4838 DataNode
hadoop-01: 5003 NodeManager
hadoop-01: 4889 DataNode

第一次启动HDFS时,它必须被格式化。将新的分布式文件系统格式化为hdfs

pdsh -w hadoop-04 hdfs namenode -format

结果如下

[hadoop@hadoop-04 app]$ hdfs namenode -format
WARNING: /home/hadoop/logs does not exist. Creating.
2024-12-03 15:48:05,283 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = hadoop-04/172.15.0.5
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 3.3.6
STARTUP_MSG:   classpath = /app/hadoop-3.3.6/etc/hadoop:/app/hadoop-3.3.6/share/hadoop/common/lib/jersey-json-1.20.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-simplekdc-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-compress-1.21.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/paranamer-2.3.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-math3-3.1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-util-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-http-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/curator-recipes-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/gson-2.9.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/protobuf-java-2.5.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-native-unix-common-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-resolver-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-util-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-classes-kqueue-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-webapp-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-memcache-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-udt-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerby-pkix-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-haproxy-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-crypto-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-text-1.10.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-xml-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-net-3.9.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/metrics-core-3.2.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/hadoop-auth-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-core-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jaxb-api-2.2.11.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/token-provider-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jsr305-3.0.2.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-common-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jsr311-api-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-identity-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-socks-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jsch-0.1.55.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-stomp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-resolver-dns-classes-macos-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/curator-framework-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/hadoop-shaded-guava-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/checker-qual-2.5.2.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/slf4j-api-1.7.36.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-collections-3.2.2.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jackson-databind-2.12.7.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jul-to-slf4j-1.7.36.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-native-epoll-4.1.89.Final-linux-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-buffer-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/snappy-java-1.1.8.2.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-io-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-native-kqueue-4.1.89.Final-osx-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/animal-sniffer-annotations-1.17.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-sctp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/re2j-1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-native-epoll-4.1.89.Final-linux-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-io-2.8.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/woodstox-core-5.4.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/javax.servlet-api-3.1.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jakarta.activation-api-1.2.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-lang3-3.12.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-security-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-daemon-1.0.13.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jettison-1.5.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/nimbus-jose-jwt-9.8.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-smtp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/httpclient-4.5.13.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-rxtx-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-dns-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/reload4j-1.2.22.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-resolver-dns-native-macos-4.1.89.Final-osx-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerby-asn1-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-xml-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/j2objc-annotations-1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/dnsjava-2.1.7.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-handler-ssl-ocsp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/httpcore-4.4.13.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jersey-core-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jackson-annotations-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerby-config-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/zookeeper-3.6.3.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-servlet-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/avro-1.7.7.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/guava-27.0-jre.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-resolver-dns-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-admin-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/audience-annotations-0.5.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/failureaccess-1.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jersey-server-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-server-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-classes-epoll-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-logging-1.1.3.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jsp-api-2.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-resolver-dns-native-macos-4.1.89.Final-osx-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-server-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-codec-1.15.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jcip-annotations-1.0-1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-mqtt-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-handler-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/stax2-api-4.2.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-common-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerby-util-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-beanutils-1.9.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/curator-client-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-http-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-all-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jetty-util-ajax-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-transport-native-kqueue-4.1.89.Final-osx-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jersey-servlet-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jackson-core-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerby-xdr-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/hadoop-annotations-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-redis-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-codec-http2-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/hadoop-shaded-protobuf_3_7-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/zookeeper-jute-3.6.3.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/kerb-client-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/jaxb-impl-2.2.3-1.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-configuration2-2.8.0.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/netty-handler-proxy-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/common/lib/commons-cli-1.2.jar:/app/hadoop-3.3.6/share/hadoop/common/hadoop-nfs-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/common/hadoop-common-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/common/hadoop-common-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/common/hadoop-kms-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/common/hadoop-registry-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jersey-json-1.20.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-simplekdc-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-compress-1.21.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/paranamer-2.3.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-math3-3.1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-util-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-http-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/curator-recipes-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/gson-2.9.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/protobuf-java-2.5.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-native-unix-common-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-resolver-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-util-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-classes-kqueue-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-webapp-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-memcache-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-udt-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerby-pkix-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-haproxy-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-crypto-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-text-1.10.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/HikariCP-java7-2.4.12.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-xml-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-net-3.9.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/metrics-core-3.2.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/hadoop-auth-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-core-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jaxb-api-2.2.11.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/token-provider-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jsr305-3.0.2.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-common-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jsr311-api-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-identity-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-socks-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jsch-0.1.55.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-stomp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-resolver-dns-classes-macos-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/curator-framework-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/hadoop-shaded-guava-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/checker-qual-2.5.2.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-collections-3.2.2.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jackson-databind-2.12.7.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kotlin-stdlib-common-1.4.10.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-native-epoll-4.1.89.Final-linux-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-buffer-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/snappy-java-1.1.8.2.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-io-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-native-kqueue-4.1.89.Final-osx-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/animal-sniffer-annotations-1.17.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-sctp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/re2j-1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kotlin-stdlib-1.4.10.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-native-epoll-4.1.89.Final-linux-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-io-2.8.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/woodstox-core-5.4.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/javax.servlet-api-3.1.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jakarta.activation-api-1.2.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-lang3-3.12.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jackson-core-asl-1.9.13.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-security-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jettison-1.5.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/nimbus-jose-jwt-9.8.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-smtp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/httpclient-4.5.13.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-rxtx-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-dns-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/reload4j-1.2.22.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-resolver-dns-native-macos-4.1.89.Final-osx-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerby-asn1-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-xml-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/j2objc-annotations-1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/dnsjava-2.1.7.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-handler-ssl-ocsp-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/httpcore-4.4.13.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jersey-core-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jackson-annotations-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerby-config-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jackson-mapper-asl-1.9.13.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/zookeeper-3.6.3.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/json-simple-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-servlet-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/avro-1.7.7.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/guava-27.0-jre.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-resolver-dns-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-admin-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/audience-annotations-0.5.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/failureaccess-1.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/leveldbjni-all-1.8.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jersey-server-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/okhttp-4.9.3.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-server-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-classes-epoll-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-logging-1.1.3.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-resolver-dns-native-macos-4.1.89.Final-osx-aarch_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-server-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-codec-1.15.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jcip-annotations-1.0-1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-mqtt-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-handler-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/stax2-api-4.2.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-common-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerby-util-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-beanutils-1.9.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/curator-client-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-http-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-all-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jetty-util-ajax-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-transport-native-kqueue-4.1.89.Final-osx-x86_64.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/okio-2.8.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jersey-servlet-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jackson-core-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerby-xdr-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/hadoop-annotations-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-redis-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-codec-http2-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-3.10.6.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/hadoop-shaded-protobuf_3_7-1.1.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/zookeeper-jute-3.6.3.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/kerb-client-1.0.1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/jaxb-impl-2.2.3-1.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-configuration2-2.8.0.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/netty-handler-proxy-4.1.89.Final.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/lib/commons-cli-1.2.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-nfs-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-client-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-client-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-rbf-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-httpfs-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-native-client-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-native-client-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/hdfs/hadoop-hdfs-rbf-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.3.6-tests.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-app-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-uploader-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-plugins-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-nativetask-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn:/app/hadoop-3.3.6/share/hadoop/yarn/lib/geronimo-jcache_1.0_spec-1.0-alpha-1.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/guice-4.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/javax-websocket-client-impl-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/guice-servlet-4.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/websocket-server-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/objenesis-2.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/websocket-servlet-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jna-5.2.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/websocket-client-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jackson-jaxrs-json-provider-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jline-3.9.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jetty-plus-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/aopalliance-1.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jackson-jaxrs-base-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jersey-guice-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jackson-module-jaxb-annotations-2.12.7.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/swagger-annotations-1.5.4.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/javax-websocket-server-impl-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/ehcache-3.3.1.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jetty-jndi-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/javax.inject-1.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/fst-2.50.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jetty-client-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/java-util-1.9.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/websocket-api-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/bcprov-jdk15on-1.68.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/bcpkix-jdk15on-1.68.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/javax.websocket-client-api-1.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jakarta.xml.bind-api-2.3.2.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/javax.websocket-api-1.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/snakeyaml-2.0.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jersey-client-1.19.4.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/asm-commons-9.4.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/asm-tree-9.4.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/websocket-common-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/json-io-2.5.1.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/mssql-jdbc-6.2.1.jre7.jar:/app/hadoop-3.3.6/share/hadoop/yarn/lib/jetty-annotations-9.4.51.v20230217.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-api-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-applications-mawo-core-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-applicationhistoryservice-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-common-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-tests-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-common-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-nodemanager-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-timeline-pluginstorage-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-router-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-applications-unmanaged-am-launcher-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-sharedcachemanager-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-services-api-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-applications-distributedshell-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-services-core-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-server-web-proxy-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-registry-3.3.6.jar:/app/hadoop-3.3.6/share/hadoop/yarn/hadoop-yarn-client-3.3.6.jar
STARTUP_MSG:   build = https://github.com/apache/hadoop.git -r 1be78238728da9266a4f88195058f08fd012bf9c; compiled by 'ubuntu' on 2023-06-18T08:22Z
STARTUP_MSG:   java = 1.8.0_412
************************************************************/
2024-12-03 15:48:05,302 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
2024-12-03 15:48:05,434 INFO namenode.NameNode: createNameNode [-format]
2024-12-03 15:48:06,076 INFO common.Util: Assuming 'file' scheme for path /opt/namenode in configuration.
2024-12-03 15:48:06,080 INFO common.Util: Assuming 'file' scheme for path /opt/namenode in configuration.
2024-12-03 15:48:06,092 INFO namenode.NameNode: Formatting using clusterid: CID-12136033-50d3-4044-bfca-5735e98a6587
2024-12-03 15:48:06,166 INFO namenode.FSEditLog: Edit logging is async:true
2024-12-03 15:48:06,215 INFO namenode.FSNamesystem: KeyProvider: null
2024-12-03 15:48:06,218 INFO namenode.FSNamesystem: fsLock is fair: true
2024-12-03 15:48:06,219 INFO namenode.FSNamesystem: Detailed lock hold time metrics enabled: false
2024-12-03 15:48:06,227 INFO namenode.FSNamesystem: fsOwner                = hadoop (auth:SIMPLE)
2024-12-03 15:48:06,228 INFO namenode.FSNamesystem: supergroup             = supergroup
2024-12-03 15:48:06,228 INFO namenode.FSNamesystem: isPermissionEnabled    = true
2024-12-03 15:48:06,228 INFO namenode.FSNamesystem: isStoragePolicyEnabled = true
2024-12-03 15:48:06,229 INFO namenode.FSNamesystem: HA Enabled: false
2024-12-03 15:48:06,301 INFO common.Util: dfs.datanode.fileio.profiling.sampling.percentage set to 0. Disabling file IO profiling
2024-12-03 15:48:06,510 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit : configured=1000, counted=60, effected=1000
2024-12-03 15:48:06,510 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostname-check=true
2024-12-03 15:48:06,516 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec is set to 000:00:00:00.000
2024-12-03 15:48:06,516 INFO blockmanagement.BlockManager: The block deletion will start around 2024 十二月 03 15:48:06
2024-12-03 15:48:06,519 INFO util.GSet: Computing capacity for map BlocksMap
2024-12-03 15:48:06,520 INFO util.GSet: VM type       = 64-bit
2024-12-03 15:48:06,522 INFO util.GSet: 2.0% max memory 1.7 GB = 35.3 MB
2024-12-03 15:48:06,522 INFO util.GSet: capacity      = 2^22 = 4194304 entries
2024-12-03 15:48:06,534 INFO blockmanagement.BlockManager: Storage policy satisfier is disabled
2024-12-03 15:48:06,534 INFO blockmanagement.BlockManager: dfs.block.access.token.enable = false
2024-12-03 15:48:06,544 INFO blockmanagement.BlockManagerSafeMode: dfs.namenode.safemode.threshold-pct = 0.999
2024-12-03 15:48:06,544 INFO blockmanagement.BlockManagerSafeMode: dfs.namenode.safemode.min.datanodes = 0
2024-12-03 15:48:06,544 INFO blockmanagement.BlockManagerSafeMode: dfs.namenode.safemode.extension = 30000
2024-12-03 15:48:06,545 INFO blockmanagement.BlockManager: defaultReplication         = 2
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: maxReplication             = 512
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: minReplication             = 1
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: maxReplicationStreams      = 2
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: redundancyRecheckInterval  = 3000ms
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: encryptDataTransfer        = false
2024-12-03 15:48:06,546 INFO blockmanagement.BlockManager: maxNumBlocksToLog          = 1000
2024-12-03 15:48:06,608 INFO namenode.FSDirectory: GLOBAL serial map: bits=29 maxEntries=536870911
2024-12-03 15:48:06,608 INFO namenode.FSDirectory: USER serial map: bits=24 maxEntries=16777215
2024-12-03 15:48:06,608 INFO namenode.FSDirectory: GROUP serial map: bits=24 maxEntries=16777215
2024-12-03 15:48:06,608 INFO namenode.FSDirectory: XATTR serial map: bits=24 maxEntries=16777215
2024-12-03 15:48:06,714 INFO util.GSet: Computing capacity for map INodeMap
2024-12-03 15:48:06,714 INFO util.GSet: VM type       = 64-bit
2024-12-03 15:48:06,714 INFO util.GSet: 1.0% max memory 1.7 GB = 17.7 MB
2024-12-03 15:48:06,714 INFO util.GSet: capacity      = 2^21 = 2097152 entries
2024-12-03 15:48:06,716 INFO namenode.FSDirectory: ACLs enabled? true
2024-12-03 15:48:06,716 INFO namenode.FSDirectory: POSIX ACL inheritance enabled? true
2024-12-03 15:48:06,716 INFO namenode.FSDirectory: XAttrs enabled? true
2024-12-03 15:48:06,717 INFO namenode.NameNode: Caching file names occurring more than 10 times
2024-12-03 15:48:06,726 INFO snapshot.SnapshotManager: Loaded config captureOpenFiles: false, skipCaptureAccessTimeOnlyChange: false, snapshotDiffAllowSnapRootDescendant: true, maxSnapshotLimit: 65536
2024-12-03 15:48:06,731 INFO snapshot.SnapshotManager: SkipList is disabled
2024-12-03 15:48:06,741 INFO util.GSet: Computing capacity for map cachedBlocks
2024-12-03 15:48:06,741 INFO util.GSet: VM type       = 64-bit
2024-12-03 15:48:06,741 INFO util.GSet: 0.25% max memory 1.7 GB = 4.4 MB
2024-12-03 15:48:06,742 INFO util.GSet: capacity      = 2^19 = 524288 entries
2024-12-03 15:48:06,757 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets = 10
2024-12-03 15:48:06,757 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users = 10
2024-12-03 15:48:06,758 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes = 1,5,25
2024-12-03 15:48:06,765 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
2024-12-03 15:48:06,766 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
2024-12-03 15:48:06,770 INFO util.GSet: Computing capacity for map NameNodeRetryCache
2024-12-03 15:48:06,770 INFO util.GSet: VM type       = 64-bit
2024-12-03 15:48:06,771 INFO util.GSet: 0.029999999329447746% max memory 1.7 GB = 543.0 KB
2024-12-03 15:48:06,771 INFO util.GSet: capacity      = 2^16 = 65536 entries
2024-12-03 15:48:06,841 INFO namenode.FSImage: Allocated new BlockPoolId: BP-1439083257-172.15.0.5-1733212086829
2024-12-03 15:48:06,890 INFO common.Storage: Storage directory /opt/namenode has been successfully formatted.
2024-12-03 15:48:06,944 INFO namenode.FSImageFormatProtobuf: Saving image file /opt/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
2024-12-03 15:48:07,147 INFO namenode.FSImageFormatProtobuf: Image file /opt/namenode/current/fsimage.ckpt_0000000000000000000 of size 401 bytes saved in 0 seconds .
2024-12-03 15:48:07,203 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2024-12-03 15:48:07,259 INFO namenode.FSNamesystem: Stopping services started for active state
2024-12-03 15:48:07,259 INFO namenode.FSNamesystem: Stopping services started for standby state
2024-12-03 15:48:07,269 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid=0 when meet shutdown.
2024-12-03 15:48:07,270 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop-04/172.15.0.5
************************************************************/

验证安装
NameNode Web Ui

打开WebUi http://localhost:9870 如下
在这里插入图片描述

打开WebUi http://localhost:9870 , 点击Datanode 如下
在这里插入图片描述

ResourceManager Web Ui

打开WebUi http://localhost:8088 , 如下
在这里插入图片描述

MapReduce JobHistory Server Web Ui

打开WebUi http://localhost:19888 , 如下
在这里插入图片描述

Hadoop 简单使用

创建目录并查看

hadoop fs -mkdir -p /dirA/dirB
hadoop fs -ls -R /dirA

如下

[hadoop@hadoop-04 app]$ hadoop fs -mkdir -p /dirA/dirB
[hadoop@hadoop-04 app]$ hadoop fs -ls -R /dirA
drwxr-xr-x   - hadoop supergroup          0 2024-12-06 17:00 /dirA/dirB

上传文件

echo "test" > ~/test.txt
hadoop fs -put -f ~/test.txt /dirA/test.txt
hadoop fs -ls -R /dirA

如下

[hadoop@hadoop-04 ~]$ echo "test" > ~/test.txt
[hadoop@hadoop-04 ~]$ hadoop fs -put -f ~/test.txt /dirA/test.txt
[hadoop@hadoop-04 ~]$ hadoop fs -ls -R /dirA
drwxr-xr-x   - hadoop supergroup          0 2024-12-06 17:00 /dirA/dirB
-rw-r--r--   2 hadoop supergroup          5 2024-12-06 17:13 /dirA/test.txt

下载文件

echo "test" > ~/test.txt
hadoop fs -put -f ~/test.txt /dirA/test.txt
hadoop fs -ls -R /dirA

如下

[hadoop@hadoop-04 ~]$ echo "test" > ~/test.txt
[hadoop@hadoop-04 ~]$ hadoop fs -put -f ~/test.txt /dirA/test.txt
[hadoop@hadoop-04 ~]$ hadoop fs -ls -R /dirA
drwxr-xr-x   - hadoop supergroup          0 2024-12-06 17:00 /dirA/dirB
-rw-r--r--   2 hadoop supergroup          5 2024-12-06 17:13 /dirA/test.txt
### 构建基于DockerHadoop集群 #### 准备工作环境 为了确保能够顺利地在Ubuntu操作系统中通过Docker容器化技术构建Hadoop分布式文件系统(HDFS)集群,需先完成必要的准备工作。这包括但不限于安装并配置Docker服务[^3]。 #### 创建网络以便容器间通信 建立自定义桥接网络有助于提高节点间的连接稳定性以及简化管理流程: ```bash docker network create hadoop-net ``` 此命令创建了一个名为`hadoop-net`的新网络,允许后续加入该网络的不同容器之间相互访问。 #### 配置Namenode (主节点) 首先拉取官方提供的Hadoop镜像,并以此为基础启动一个作为NameNode的角色实例: ```bash docker pull bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8 docker run -d \ --network=hadoop-net \ -p 9870:9870 \ -v /home/user/hdfs/namenode:/hadoop/dfs/name \ -e CLUSTER_NAME=testcluster \ --name namenode \ bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8 ``` 上述指令指定了端口映射(-p),挂载主机上的持久存储位置给容器内特定路径(-v), 设置环境变量(e),并且命名了这个新创建的服务(--name)[^2]. #### 启动Secondary NameNode 同样采用相同版本的基础镜像来初始化secondary name node, 并将其接入之前设定好的虚拟网路环境中: ```bash docker pull bde2020/hadoop-secondarynamenode:2.0.0-hadoop3.2.1-java8 docker run -d \ --network=hadoop-net \ -p 9868:9868 \ -v /home/user/hdfs/secnn:/hadoop/dfs/snn \ --name snn \ bde2020/hadoop-secondarynamenode:2.0.0-hadoop3.2.1-java8 ``` 这里也进行了相应的卷绑定设置以支持数据保存需求. #### 添加DataNodes(从属节点) 对于每一个计划成为data node 的成员来说,都需要单独执行如下类似的脚本来进行部署: ```bash for i in `seq 1 3`; do docker run -d \ --network=hadoop-net \ -e SERVICE_PRECONDITION=namenode:9870 \ -v /home/user/hdfs/datanode$i:/hadoop/dfs/data \ --hostname datanode$i \ --name datanode$i \ bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8; done ``` 这段循环语句会依次生成三个datanodes (`datanode1`, `datanode2`, 和 `datanode3`) ,它们都将自动尝试向已存在的namenode注册自己为可用的工作单元之一[^2]. #### 初始化与验证 当所有的组件都成功上线之后,则可以通过浏览器或者其他HTTP客户端工具打开http://localhost:9870 来查看整个系统的状态概览页面; 或者进入任意一台机器内部使用CLI方式查询具体信息: ```bash docker exec -it namenode hdfs dfsadmin -report ``` 以上就是关于如何借助于Docker平台快速组建起一套简易版Hadoop集群的方法介绍[^1].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值