这个问题看起来像是这个问题的重复。
apiVersion: apps/v1
kind: Deployment
metadata:
name: beam-sdk
spec:
replicas: 1
selector:
matchLabels:
app: beam
component: python-beam-sdk
template:
metadata:
labels:
app: beam
component: python-beam-sdk
spec:
hostNetwork: True
containers:
- name: python-beam-sdk
image: apachebeam/python3.7_sdk:latest
imagePullPolicy: "Never"
command: ["/opt/apache/beam/boot", "--worker_pool"]
ports:
- containerPort: 50000
name: yay
apiVersion: v1
kind: Service
metadata:
name: beam-python-service
spec:
type: NodePort
ports:
- name: yay
port: 50000
targetPort: 50000
selector:
app: beam
component: python-beam-sdk
beam_options = PipelineOptions([
"--runner=FlinkRunner",
"--flink_version=1.9",
"--flink_master=10.101.28.28:8081",
"--environment_type=EXTERNAL",
"--environment_config=10.97.176.105:50000",
"--setup_file=./setup.py"
])
我得到以下错误消息(在python sdk服务中):
NAME READY STATUS RESTARTS AGE
beam-sdk-666779599c-w65g5 1/1 Running 1 4d20h
flink-jobmanager-74d444cccf-m4g8k 1/1 Running 1 4d20h
flink-taskmanager-5487cc9bc9-fsbts 1/1 Running 2 4d20h
flink-taskmanager-5487cc9bc9-zmnv7 1/1 Running 2 4d20h
(base) [~]$ sudo kubectl logs -f beam-sdk-666779599c-w65g5
2020/02/26 07:56:44 Starting worker pool 1: python -m apache_beam.runners.worker.worker_pool_main --service_port=50000 --container_executable=/opt/apache/beam/boot
Starting worker with command ['/opt/apache/beam/boot', '--id=1-1', '--logging_endpoint=localhost:39283', '--artifact_endpoint=localhost:41533', '--provision_endpoint=localhost:42233', '--control_endpoint=localhost:44977']
2020/02/26 09:09:07 Initializing python harness: /opt/apache/beam/boot --id=1-1 --logging_endpoint=localhost:39283 --artifact_endpoint=localhost:41533 --provision_endpoint=localhost:42233 --control_endpoint=localhost:44977
2020/02/26 09:11:07 Failed to obtain provisioning information: failed to dial server at localhost:42233
caused by:
context deadline exceeded
我不知道日志记录或工件endpoint(等等)是什么通过检查源代码,似乎endpoint已经被硬编码到localhost中。
(你在评论中说,对引用的帖子的答案是有效的,所以我只解决你遇到的具体错误,以防别人击中它。)
你的理解是正确的;日志记录、工件等endpoint本质上是硬编码的,以使用LocalHost。这些endpoint只能由Beam在内部使用,并且不可配置。因此,Beam worker被隐式假定为与Flink任务管理器位于同一主机上。通常,这是通过将Beam worker pool作为Flink任务管理器pod的一个sidecar,而不是一个单独的服务来实现的。
如果您有一个Kubernetes集群,或者仅仅是运行Minikube,则将Linkerd部署为服务网格是开始的最快方式。它不仅部署非常简单,还适用于大多数生产用例,提供服务发现,仪器仪表,智能客户端负载均衡,熔断器和开箱即用的动态路由。 Linkerd服务网格被部署为Kubernetes DaemonSet,在集群的每个节点上运行一个Linkerd pod。在Kubernetes中运行的应用程序可
我对库伯内特斯集群管理非常陌生。我已经完成了库伯内特斯集群设置,有2个节点启动并运行。所以为了开始,我决定在集群上运行NodeBB应用程序。所以我没有构建自己的映像,而是在Docker HUb上获得了官方的NodeBB docker容器 所以为了从那个容器启动NodeBB,我向库伯内特斯master发射了命令。 等待一段时间后,它启动了具有两个副本的容器。但问题是它不断重新启动我的容器。 知道为什
我已经安装了火花图表在我的k8s集群掌舵,我有3个豆荚运行1个主和2个执行,但仍然能够提交火花作业...在“提交应用程序”一节https://github.com/bitnami/charts/tree/master/bitnami/spark中提到我们可以使用。/bin/spark-submit--class org.apache.spark.examples.sparkpi--master s
我有一个后端nodeJS应用程序运行在kubernetes集群。现在我想运行两个cron作业计划每个月。cron作业在一个JS文件中。如何使用库伯内特斯创建一个作业,在每个月运行该服务的pod中运行这些JS文件? 此链接提供了对其工作原理的基本理解,但我对如何为特定服务和特定Pod运行它有点困惑 https://kubernetes.io/docs/concepts/workloads/contr
我有以下由Dockerfile文件创建的图像: 我有以下YAML文件: 当我创建部署时,我在窗格中获得了以下信息: 并且错误: 真的有必要在docker中为此注册吗?我只想在本地进行测试,并将我的代码/存储库传递给朋友以进行测试 谢谢
当Flink在Kubernetes作为豆荚运行时,有人知道如何用Flink运行梁Python管道吗? 我已经成功地使用Portable runner和指向运行在Docker容器中的本地Flink服务器的作业服务运行了一个Beam Python管道。 是否有一种方法可以部署一个侧容器并使用不同的工厂来运行Python harness流程?正确的做法是什么? 这是DockerEnvironmentFa