编写文件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服务器:
-
安装OpenSSH服务器:Alpine Linux使用
openssh-server
软件包来提供SSH服务器功能。你可以通过以下命令安装:add openssh-server
-
配置SSH服务器:一旦安装了OpenSSH服务器,你需要配置它以允许远程连接。配置文件通常位于
/etc/ssh/sshd_config
。你可以使用文本编辑器(如vi或nano)打开该文件并进行编辑。确保以下设置已启用或正确配置:PermitRootLogin yes # 允许root用户远程登录(注意:在生产环境中,禁用root登录更安全)
PasswordAuthentication yes # 允许密码验证登录(如果需要)
-
运行以下命令以生成RSA密钥:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
-
运行以下命令以生成DSA密钥:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
-
运行以下命令以生成ECDSA密钥:
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
-
运行以下命令以生成Ed25519密钥:
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
-
执行以下命令以修改root密码:
passwd root
-
输入新密码时,会要求你确认密码。
-
输入新密码后,系统会提示密码修改成功
/spark/bin/pyspark --master spark://spark-master:7077 --total-executor-cores 1 --executor-memory 1024m