当前位置: 首页 > 知识库问答 >
问题:

在docker上运行Mesos群集时核转储

澹台新知
2023-03-14
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2187
dataDir=/var/lib/zookeeper
server.1=0.0.0.0:2888:3888
server.2=150.20.11.157:2888:3888
server.3=150.20.11.137:2888:3888
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2187
dataDir=/var/lib/zookeeper
server.1=150.20.11.157:2888:3888
server.2=0.0.0.0:2888:3888
server.3=150.20.11.137:2888:3888
 tickTime=2000
 initLimit=10
 syncLimit=5
 clientPort=2187
 dataDir=/var/lib/zookeeper
 server.1=150.20.11.157:2888:3888
 server.2=150.20.11.134:2888:3888
 server.3=0.0.0.0:2888:3888

另外,我在每个节点的“/var/lib/zookeeper”中创建了一个“myid”文件。例如,对于“150.20.11.157”,其ID在myid文件中为“1”。我也在码头上安装了Mesos和Spark。我也有一个由这三个节点组成的Mesos集群。我在这个文件中定义了从节点的IP地址:“spark/conf/slaves”

150.20.11.134
150.20.11.137

我在“spark/conf/spark-env.sh”中添加了以下几行:

export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
export SPARK_EXECUTOR_URI=/home/spark/program_file/spark-2.3.2-bin- 
hadoop2.7.tgz

而且,我在我的“~/.bashrc”文件中添加了以下几行:

export SPARK_HOME="/home/spark"
PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7- 
src.zip:$PYTHO$
export PYSPARK_HOME=/usr/bin/python3.6
export PYSPARK_DRIVER_PYTHON=python3.6
export ZOO_LOG_DIR=/var/log/zookeeper
 version: '3.7'
 services:
  zookeeper:
  image: ubuntu_mesos_spark
  command: /zookeeper-3.4.12/bin/zkServer.sh start
  environment:
   ZOOKEEPER_SERVER_ID: 1
   ZOOKEEPER_CLIENT_PORT: 2187
   ZOOKEEPER_TICK_TIME: 2000
   ZOOKEEPER_INIT_LIMIT: 10
   ZOOKEEPER_SYNC_LIMIT: 5
   ZOOKEEPER_SERVERS: 
   0.0.0.0:2888:3888;150.20.11.134:2888:3888;150.20.11.137:2888:3888
 network_mode: host
 expose:
  - 2187 
  - 2888
  - 3888
 ports:
  - 2187:2187
  - 2888:2888
  - 3888:3888

master:
image: ubuntu_mesos_spark
command: bash -c "sleep 20; /home/mesos-1.7.0/build/bin/mesos- 
master.sh --ip=150.20.11.157 --work_dir=/var/run/mesos"
restart: always
depends_on:
 - zookeeper
environment:
 - MESOS_HOSTNAME="150.20.11.157,150.20.11.134,150.20.11.137"
 - MESOS_QUORUM=1
 - MESOS_LOG_DIR=/var/log/mesos
expose:
 - 5050
 - 4040
 - 7077
 - 8080
ports:
  - 5050:5050
  - 4040:4040
  - 7077:7077
  - 8080:8080
 version: '3.7'
 services:
  zookeeper:
  image: ubuntu_mesos_spark
  command: /zookeeper-3.4.12/bin/zkServer.sh start
  environment:
   ZOOKEEPER_SERVER_ID: 2
   ZOOKEEPER_CLIENT_PORT: 2187
   ZOOKEEPER_TICK_TIME: 2000
   ZOOKEEPER_INIT_LIMIT: 10
   ZOOKEEPER_SYNC_LIMIT: 5
   ZOOKEEPER_SERVERS: 
   0.0.0.0:2888:3888;150.20.11.134:2888:3888;150.20.11.137:2888:3888
 network_mode: host
 expose:
  - 2187 
  - 2888
  - 3888
 ports:
  - 2187:2187
  - 2888:2888
  - 3888:3888

slave:
image: ubuntu_mesos_spark
command: bash -c "/home/mesos-1.7.0/build/bin/mesos-slave.sh -- 
master=150.20.11.157:5050 --work_dir=/var/run/mesos  
--systemd_enable_support=false"
restart: always
privileged: true
network_mode: host
depends_on:
- zookeeper
environment:
 - MESOS_HOSTNAME="150.20.11.157,150.20.11.134,150.20.11.137"
 - MESOS_MASTER=150.20.11.157
 - MESOS_EXECUTOR_REGISTRATION_TIMEOUT=5mins #also in Dockerfile
 - MESOS_CONTAINERIZERS=docker,mesos
 - MESOS_LOG_DIR=/var/log/mesos
 - MESOS_LOGGING_LEVEL=INFO
expose:
  - 5051
ports:
  - 5051:5051

在主节点上,错误是:

启动marzieh-compose_zookeeper_1...完成

重新创建marzieh-compose_master_1...完成

master_1 I0123 11:46:59.585522 7 logging.cpp:201]信息级别日志记录开始!

master_1 I0123 11:46:59.586066 7 Main.cpp:242]构建:2019-01-21 05:16:39 by master_1 I0123 11:46:59.586097 7 Main.cpp:243]版本:1.7.0

master_1 F0123 11:46:59.587368 7 process.cpp:1115]初始化失败:在150.20.11.157:5050上绑定失败:无法分配请求的地址

master_1*检查失败堆栈跟踪:*

master_1@0x7f505ce54b9c google::logmessage::fail()

master_1@0x7f505ce54ae0 google::logmessage::Sendtolog()

master_1@0x55FB7B12981A main

master_1@0x7F504F0D0830(未知)

master_1@0x55FB7B1288B9_start

slave_1@0x7fee9d319ae0 google::logmessage::sendtolog()

slave_1@0x7fee9d3194b2 google::logmessage::flush()

slave_1@0x7fee9d31c770
google::logmessagefatal::~logmessagefatal()

slave_1@0x55E99F65F139_START

slave_1*在1548243606(unix时间)中止,如果使用GNU日期*请尝试“date-d@1548243606”

slave_1 PC:@0x7FEE8F5AC196(未知)

slave_1@0x7fee9d319b9c google::logmessage::fail()

slave_1@0x7fee9d319ae0 google::logmessage::sendtolog()

slave_1@0x7fee9d3194b2 google::logmessage::flush()

斯拉夫_1 I0123 11:41:07.819437 1 Main.cpp:349]构建:2019-01-21 05:16:39 by

slave_1 I0123 11:41:07.819470 1 main.cpp:350]版本:1.7.0

slave_1 I0123 11:41:07.823354 1 resolver.cpp:69]正在创建默认的秘密解析器

如有任何帮助,不胜感激。

提前谢了。

共有1个答案

东门奕
2023-03-14

问题解决了。我这样更改了docker compose,主从运行没有问题:

主节点中的“docker-compose.yaml”如下所示:

version: '3.7'
services:
zookeeper:
 image: ubuntu_mesos_spark_python3.6_client
 command: /home/zookeeper-3.4.12/bin/zkServer.sh start
 environment:
  ZOOKEEPER_SERVER_ID: 1
  ZOOKEEPER_CLIENT_PORT: 2188
  ZOOKEEPER_TICK_TIME: 2000
  ZOOKEEPER_INIT_LIMIT: 10
  ZOOKEEPER_SYNC_LIMIT: 5
  ZOOKEEPER_SERVERS: 0.0.0.0:2888:3888;150.20.11.157:2888:3888
 network_mode: host
 expose:
  - 2188
  - 2888
  - 3888
 ports:
  - 2188:2188
  - 2888:2888
  - 3888:3888

master:
image: ubuntu_mesos_spark_python3.6_client
command: bash -c "sleep 30; /home/mesos-1.7.0/build/bin/mesos-master.sh 
--ip=150.20.10.136 --work_dir=/var/run/mesos --hostname=x.x.x.x"  ##hostname : 
IP of the master node
restart: always
network_mode: host
depends_on:
 - zookeeper
environment:
- MESOS_HOSTNAME="150.20.11.136"
- MESOS_QUORUM=1
- MESOS_LOG_DIR=/var/log/mesos
expose:
 - 5050
 - 4040
 - 7077
 - 8080
ports:
 - 5050:5050
 - 4040:4040
 - 7077:7077
 - 8080:8080

另外,从节点中的“docker-compose.yaml”文件如下所示:

 version: '3.7'
 services:
  zookeeper:
   image: ubuntu_mesos_spark_python3.6_client
   command: /home/zookeeper-3.4.12/bin/zkServer.sh start
   environment:
     ZOOKEEPER_SERVER_ID: 2
     ZOOKEEPER_CLIENT_PORT: 2188
     ZOOKEEPER_TICK_TIME: 2000
     ZOOKEEPER_INIT_LIMIT: 10
     ZOOKEEPER_SYNC_LIMIT: 5
     ZOOKEEPER_SERVERS: 150.20.11.136:2888:3888;0.0.0.0:2888:3888
   network_mode: host
   expose:
   - 2188 
   - 2888
   - 3888
   ports:
   - 2188:2188
   - 2888:2888
   - 3888:3888

 slave:
 image: ubuntu_mesos_spark_python3.6_client
 command: bash -c "sleep 30; /home/mesos-1.7.0/build/bin/mesos-slave.sh 
 --master=150.20.11.136:5050 --work_dir=/var/run/mesos  
 --systemd_enable_support=false"
 restart: always
 privileged: true
 network_mode: host
 depends_on:
 - zookeeper
 environment:
 - MESOS_HOSTNAME="150.20.11.157"
 #- MESOS_MASTER=172.28.10.136
 #- MESOS_EXECUTOR_REGISTRATION_TIMEOUT=5mins #also in Dockerfile
 #- MESOS_CONTAINERIZERS=docker,mesos
 - MESOS_LOG_DIR=/var/log/mesos
 - MESOS_LOGGING_LEVEL=INFO
expose:
 - 5051
ports:
 - 5051:5051
 类似资料:
  • 我只是从Mesos、Docker和马拉松开始,但我找不到任何地方可以回答这个特定的问题。我想建立一个运行在Docker上的Mesos集群--有几个internet资源可以做到这一点,但我想在Mesos本身上运行Docker容器。这意味着Docker容器运行在其他Docker容器中。

  • 问题内容: 我在尝试在mesos集群上运行dockerized的mesos-dns时遇到了一些麻烦。 我已经在Windows 8.1主机上使用ubuntu trusty设置了2个虚拟机。我的虚拟机称为 docker-vm 和 docker-sl- vm ;其中第一个运行mesos-master,第二个运行mesos-slave。 VM有2个网卡;一个运行NAT以便通过主机访问Internet,另一

  • 我有一个Mesos集群启动和运行(1个主和2个从)与马拉松。我使用docker作为Mesos/Marathon中的容器。我有一个卡拉夫码头,将在马拉松作为集群发射。我计划用织物的地窖作为卡拉夫的聚类解决方案。我的问题是 提前致谢

  • Mesosphere在简化Mesos上运行Spark的过程方面做了很大的工作。我正在使用本指南在Google Cloud Compute上建立一个开发Mesos集群。 https://mesosphere.com/docs/tutorials/run-spark-on-mesos/ 我可以使用运行指南中的示例(查找小于10的数字)。但是,当我试图在本地提交一个与Spark一起正常工作的应用程序时,

  • 有没有人知道,如果我们想在运行在多个docker容器上的Hazelcast实例之间形成Hazelcast集群,那么需要在Hazelcast.xml中进行哪些配置。我们应该提供127.0.0.1作为成员的地址还是应该提供docker主机的地址?Local.LocalAddress属性是否需要指向docker主机地址? 编辑:

  • 我是一名spark/纱线新手,在提交纱线集群上的spark作业时遇到exitCode=13。当spark作业在本地模式下运行时,一切正常。 我使用的命令是: Spark错误日志: