大数据计算 实验3 Spark Core 核心 RDD

概述:本次实验中,在搭建Spark Standalone模式分布式集群时花了大量时间,除此之外,按照教程没遇到任何问题,都能成功简单复现.

Standalone 分布式集群搭建遇到的麻烦

ulimit -f 1024000
cd /home


注意到wrapdocker会出现iptable相关错误,并且尝试更新,修复模块失败(推测是禁止了外网网络连接)
所以采用禁止iptable方式启动docker


sudo dockerd --iptables=false > /var/log/docker.log 2>&1 &


加载镜像


docker load -i hbase-ssh2_v1.0.tar



由于禁用iptable,所以为了让容器能互相访问,我选择自建一个网络


编辑docker-compose.yml
vi docker-compose.yml

1,%d 清空后粘贴下面代码



version: '2'
services:
  master:
    image: hbase-ssh:v1.1
    container_name: master
    hostname: master
    networks:
      spark-network:
        ipv4_address: 172.18.0.2  # 静态IP
    ports:
      - "19001:22"
      - "50070:50070"
      - "8088:8088"
      - "16010:16010"
    restart: always

  slave1:
    image: hbase-ssh:v1.1
    container_name: slave1
    hostname: slave1
    networks:
      spark-network:
        ipv4_address: 172.18.0.3  # 静态IP
    depends_on:
      - master
    ports:
      - "19002:22"
    restart: always

  slave2:
    image: hbase-ssh:v1.1
    container_name: slave2
    hostname: slave2
    networks:
      spark-network:
        ipv4_address: 172.18.0.4  # 静态IP
    depends_on:
      - slave1
    ports:
      - "19003:22"
    restart: always

# 定义自定义网络
networks:
  spark-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
          gateway: 172.18.0.1




启动三个容器


docker-compose up -d




开三个终端,分别进入三个节点


docker exec -it master bash
docker exec -it slave1 bash
docker exec -it slave2 bash


在master节点
echo "172.18.0.3 slave1" >> /etc/hosts 

echo "172.18.0.4 slave2" >> /etc/hosts

在slave1 slave2节点
echo "172.18.0.2 master" >> /etc/hosts 


通过echo $JAVA_HOME得到
/usr/lib/jvm/jdk1.8.0_111

其余内容,包括节点间的ssh免密登录.spark配置文件编辑修改,分发等等都不算困难.

主要是开头遇到问题,容器之间的连接遇到麻烦,解决后便一马平川.

本技术内容仅供学习和交流使用,如有疑问请联系qq2014160588并注明来意。请确保在使用过程中遵守相关法律法规。任何因使用本技术内容而导致的直接或间接损失,作者概不负责。用户需自行承担因使用本技术内容而产生的所有风险和责任。请勿将本技术内容用于任何非法用途。
上一篇
下一篇