编写文件docker-compose.yml

version: '3'

services:
  spark-master:
    image: bde2020/spark-master:3.1.1-hadoop3.2
    container_name: spark-master
    ports:
      - "8080:8080"
      - "7077:7077"
      - "2220:22"
    volumes:
      - F:\spark-data\m1:/data
    environment:
      - INIT_DAEMON_STEP=setup_spark
  spark-worker-1:
    image: bde2020/spark-worker:3.1.1-hadoop3.2
    container_name: spark-worker-1
    depends_on:
      - spark-master
    ports:
      - "8081:8081"
      - "2221:22"
    volumes:
      - F:\spark-data\w1:/data
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"
  spark-worker-2:
    image: bde2020/spark-worker:3.1.1-hadoop3.2
    container_name: spark-worker-2
    depends_on:
      - spark-master
    ports:
      - "8082:8081"
      - "2222:22"
    volumes:
      - F:\spark-data\w2:/data
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"

启动

docker-compose up -d

进入master安装ssh并设置密码和允许远程连接

要在Alpine Linux容器中启用SSH功能并允许远程连接,你需要执行以下步骤:

启动

/usr/sbin/sshd

现在,SSH服务器应该能够正常启动,并且你应该能够从远程系统连接到你的Alpine Linux容器。

生成密钥后,再次尝试启动SSH服务器:

windows docker desktop==spark环境搭建-LMLPHP

  
  1. 安装OpenSSH服务器:Alpine Linux使用openssh-server软件包来提供SSH服务器功能。你可以通过以下命令安装:
     add openssh-server

  2. 配置SSH服务器:一旦安装了OpenSSH服务器,你需要配置它以允许远程连接。配置文件通常位于/etc/ssh/sshd_config。你可以使用文本编辑器(如vi或nano)打开该文件并进行编辑。确保以下设置已启用或正确配置:

    PermitRootLogin yes # 允许root用户远程登录(注意:在生产环境中,禁用root登录更安全)
    PasswordAuthentication yes # 允许密码验证登录(如果需要)

  3. 运行以下命令以生成RSA密钥:

    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

  4. 运行以下命令以生成DSA密钥:

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

  5. 运行以下命令以生成ECDSA密钥:

    ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

  6. 运行以下命令以生成Ed25519密钥:

    ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

  7. 执行以下命令以修改root密码:

    passwd root

  8. 输入新密码时,会要求你确认密码。

  9. 输入新密码后,系统会提示密码修改成功

/spark/bin/pyspark --master spark://spark-master:7077 --total-executor-cores 1 --executor-memory 1024m

windows docker desktop==spark环境搭建-LMLPHP

04-19 09:31