SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8082
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
第:卷
./conf/worker2:/conf
./data/worker2:/tmp/数据
注意,volume参数映射到docker-compose.yml中同一级别的conf和data目录,如上所示。这里只列出worker1和worker2的内容,workers3到worker6的内容类似。
hdfs的文件目录导致的磁盘空间不足问题
首先我们看一下hdfs的文件目录结构。
第:卷
hadoop_datanode1:/hadoop/dfs/数据
上面的hadoop_datanode1数据卷配置位于docker-compose.yml末尾,默认语句为:
第:卷
hadoop_namenode:
hadoop_datanode1:
hadoop_datanode2:
hadoop_datanode3:
hadoop_historyserver:
容器运行后,运行命令docker Inspection datanode1 查看容器信息。与数据量相关的信息包括:
《坐骑》: [
{
“类型”:“体积”,
“名称”:“temp_hadoop_datanode1”,
“源”:“/var/lib/docker/volumes/temp_hadoop_datanode1/_data”,
“目的地”:“/hadoop/dfs/data”,
“司机”:“本地”,
“模式”:“读写”,
“RW”: 正确,
“传播‘:’”
}
]
可以看到hdfs容器的文件目录对应主机上的/var/lib/docker/volumes。
4. 使用df -m 检查磁盘空间。如下所示,“/var/lib/docker/volumes”所在设备“/dev/nvme0n1p3”只有20G可用空间(29561)。如果这个空间不够,而HDFS默认的副本数是3,那么显然会存储大量的文件。
root@willzhao-deepin:/data/work/spark/temp# df -m
文件系统1M 块使用情况可用挂载点的使用情况(%)
udev 7893 0 7893 0% /dev
tmpfs 1584 4 1581 1% /运行
/dev/nvme0n1p3 43927 12107 29561 30% /
tmpfs 7918 0 7918 0% /dev/shm
tmpfs 5 1 5 1% /运行/锁定
tmpfs 7918 0 7918 0% /sys/fs/cgroup
/dev/nvme0n1p4 87854 181 83169 1% /home
/dev/nvme0n1p1 300 7 293 3% /boot/efi
/dev/sda1 468428 109152 335430 25% /数据
tmpfs 1584 1 1584 1% /运行/用户/108
tmpfs 1584 0 1584 0% /运行/用户/0
上面的磁盘信息显示设备/dev/sda1还有300G,所以将hdfs文件目录映射到/dev/sda1可以缓解磁盘空间问题,因此docker-compose可以帮助hdfs配置三个数据节点。 yml 文件将被修改为如下所示:
数据节点1:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称: 数据节点1
依赖_on:
名称节点
第:卷
./hadoop/datanode1:/hadoop/dfs/data
环境文件:
./hadoop.env
数据节点2:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称: 数据节点2
依赖_on:
名称节点
第:卷
./hadoop/datanode2:/hadoop/dfs/data
环境文件:
./hadoop.env
数据节点3:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称:数据节点3
依赖_on:
名称节点
第:卷
./hadoop/datanode3:/hadoop/dfs/data
环境文件:
./hadoop.env
然后删除以下配置:
第:卷
hadoop_namenode:
hadoop_datanode1:
hadoop_datanode2:
hadoop_datanode3:
hadoop_historyserver:
开发master的4040和work的8080端口
通过UI页面观察任务执行过程中的细节,可以帮助您更全面、直观地了解执行情况。因此,需要更改开放端口的配置。
如下所示,expose参数增加4040表示对外暴露4040端口,ports参数增加4040:4040表示将容器的4040映射到主机的4040端口。
大师:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Master
command: bin/spark-class org.apache.spark.deploy.master.Master -h master
主机名: master
环境:
MASTER: Spark : //主控:7077
SPARK_CONF_DIR: /conf
SPARK_PUBLIC_DNS: 本地主机
链接:
名称节点
公众:
4040
7001
7002
7003
7004
7005
7077
6066
端口:
4040:4040
6066:6066
7077:7077
8080:8080
第:卷
./conf/master:/conf
./data:/tmp/数据
./jars:/root/jars
您还应该访问worker的网页来检查worker的状态并查看任务日志(这非常重要)。这里需要注意的一件事是有多个工人。以下配置将worker1的environment.SPARK_WORKER_WEBUI_PORT配置为8081,暴露8081,并将容器上的8081映射到主机上的8081。配置了worker2的environment.SPARK_WORKER_WEBUI_PORT。 8082,暴露8082,将容器的8082映射到主机的8082。
工人1:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 1
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员1
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8081
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8081
端口:
8081:8081
第:卷
./conf/worker1:/conf
./data/worker1:/tmp/数据
工人2:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 2
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员2
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8082
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8082
端口:
8082:8082
第:卷
./conf/worker2:/conf
./data/worker2:/tmp/数据
worker3-worker6的配置与上面类似,但注意它使用不同的端口号。
至此,更改已完成,最终版本的docker-compose.yml 包含以下内容:
版本:“2.2”
服务:
名称节点:
image: bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8
容器名称:名称节点
第:卷
./hadoop/namenode:/hadoop/dfs/名称
./input_files:/input_files
环境:
CLUSTER_NAME=测试
环境文件:
./hadoop.env
端口:
50070:50070
资源经理:
image: bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8
容器名称: 资源管理器
依赖_on:
名称节点
数据节点1
数据节点2
环境文件:
./hadoop.env
历史服务器:
image: bde2020/hadoop-historyserver:1.1.0-hadoop2.7.1-java8
容器名称: 历史服务器
依赖_on:
名称节点
数据节点1
数据节点2
第:卷
./hadoop/historyserver:/hadoop/yarn/时间线
环境文件:
./hadoop.env
节点管理器1:
image: bde2020/hadoop-nodemanager:1.1.0-hadoop2.7.1-java8
容器名称: 节点管理器1
依赖_on:
名称节点
数据节点1
数据节点2
环境文件:
./hadoop.env
数据节点1:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称: 数据节点1
依赖_on:
名称节点
第:卷
./hadoop/datanode1:/hadoop/dfs/data
环境文件:
./hadoop.env
数据节点2:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称: 数据节点2
依赖_on:
名称节点
第:卷
./hadoop/datanode2:/hadoop/dfs/data
环境文件:
./hadoop.env
数据节点3:
image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
容器名称:数据节点3
依赖_on:
名称节点
第:卷
./hadoop/datanode3:/hadoop/dfs/data
环境文件:
./hadoop.env
大师:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Master
command: bin/spark-class org.apache.spark.deploy.master.Master -h master
主机名: master
环境:
MASTER: Spark : //主控:7077
SPARK_CONF_DIR: /conf
SPARK_PUBLIC_DNS: 本地主机
链接:
名称节点
公众:
4040
7001
7002
7003
7004
7005
7077
6066
端口:
4040:4040
6066:6066
7077:7077
8080:8080
第:卷
./conf/master:/conf
./data:/tmp/数据
./jars:/root/jars
工人1:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 1
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员1
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8081
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8081
端口:
8081:8081
第:卷
./conf/worker1:/conf
./data/worker1:/tmp/数据
工人2:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 2
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员2
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8082
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8082
端口:
8082:8082
第:卷
./conf/worker2:/conf
./data/worker2:/tmp/数据
工人3:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 3
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员3
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8083
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8083
端口:
8083:8083
第:卷
./conf/worker3:/conf
./data/worker3:/tmp/数据
工人4:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: 工人4
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员4
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8084
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8084
端口:
8084:8084
第:卷
./conf/worker4:/conf
./data/worker4:/tmp/数据
工人5:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 5
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员5
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8085
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8085
端口:
8085:8085
第:卷
./conf/worker5:/conf
./data/worker5:/tmp/数据
工人6:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 6
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员6
环境:
SPARK_CONF_DIR: /conf
线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识
一线互联网P7面试集锦+各种大厂面试集锦
学习笔记以及面试真题解析
8
容器名称: Worker 5
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员5
环境:
SPARK_CONF_DIR: /conf
SPARK_WORKER_CORES: 2
SPARK_WORKER_MEMORY: 2g
SPARK_WORKER_PORT: 8881
SPARK_WORKER_WEBUI_PORT: 8085
SPARK_PUBLIC_DNS: 本地主机
链接:
掌握
公众:
7012
7013
7014
7015
8881
8085
端口:
8085:8085
第:卷
./conf/worker5:/conf
./data/worker5:/tmp/数据
工人6:
image: gettyimages/spark:2.3.0-hadoop-2.8
容器名称: Worker 6
command: bin/spark-class org.apache.spark.deploy.worker.Worker Spark: //master:7077
主机名: 工作人员6
环境:
SPARK_CONF_DIR: /conf
线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识
[外部链接图像正在传输.(img-WmRfnKtO-1719155238251)]
一线互联网P7面试集锦+各种大厂面试集锦
[外部链接图片正在传输中.(img-GIn1uz58-1719155238252)]
学习笔记以及面试真题解析
[正在传输外部链接图像.(img-PqZfyRPp-1719155238252)]
#以上关于Docker中调整参数对Spark集群和硬件进行压力的信息仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91854.html