我有一个ECS集群,其中有3个EC2实例,它们都位于私有子网中。我创建了一个任务定义,使用以下环境变量运行Confluent提供的kafka-connect映像:
CONNECT_CONFIG_STORAGE_TOPIC=quickstart-config
CONNECT_GROUP_ID=quickstart
CONNECT_INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
CONNECT_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
CONNECT_OFFSET_STORAGE_TOPIC=quickstart-offsets
CONNECT_PLUGIN_PATH=/usr/share/java
CONNECT_REST_ADVERTISED_HOST_NAME=localhost
CONNECT_REST_ADVERTISED_PORT=8083
CONNECT_SECURITY_PROTOCOL=SSL
CONNECT_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM=
CONNECT_STATUS_STORAGE_TOPIC=quickstart-status
CONNECT_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
我在这个集群前面有一个应用程序负载均衡器,在端口8083上有一个侦听器。我已经正确地设置了目标组,以包括运行Kafka-Connect的EC2实例。因此负载均衡器应该将请求转发到集群。确实如此,但我总是得到502 Bad gateway
响应。我可以ssh到EC2实例和curl localhost:8083
并从kafka-connect返回响应,但是从EC2外部,我没有得到响应。
为了排除负载均衡器和集群之间的网络问题,我创建了一个单独的任务定义,在端口80上运行Nginx,我可以通过负载均衡器成功地从EC2实例外部访问它。
我有一种感觉,我没有将connect_rest_adveredsed_host_name
设置为正确的值。根据我的理解,这是客户端应该连接到的主机。但是,由于我的EC2实例位于私有子网中,我不知道该将其设置为什么,这就是为什么我将其设置为localhost。我尝试将其设置为负载均衡器的DNS名称,但这不起作用。
您需要将connect_rest_adveredsed_host_name
设置为其他Kafka Connect工作人员可以解析和连接到的主机或IP。
它用于工作人员之间的内部通信,如果是localhost
,那么如果REST请求(通过负载均衡器)击中了不是集群当前领导者的工作人员,该工作人员将尝试将请求转发给领导者-使用connect_rest_adveredsed_host_name
。但是,如果connect_rest_adveredsed_host_name
是localhost
,那么工作人员将只是将请求转发给自己,因此不会工作。
有关更多详细信息,请参见https://rmoff.net/2019/11/22/common-problem-make-when-configuring-multiple-kafka-connect-workers/
最近我停止并启动了我的EC2实例,这导致我不得不从头开始安装我的web应用程序(使用Tomcat) 现在我有Tomcat在EC2实例上运行,我可以通过在EC2服务器上打开浏览器并指向http://localhost:8080/web_app_name 但是,如果我在自己的电脑上打开浏览器,并指向EC2实例的公共IP(例如EC2 XXX XXX.ap-southest-2.compute.amazo
我用默认子网和VPC创建了一个EC2实例。我还向它添加了入站和出站规则(允许从任何地方使用端口22,出站流量可以到任何地方)。< br >互联网网关也连接到VPC,路由被定义为0.0.0.0/0。 但是当尝试从我的ubuntu机器ssh时,我得到以下错误 ssh:连接到主机 ec2-13-233-87-56.ap-south-1.compute.amazonaws.com 端口 22:连接超时 但
我可以对我的AWS EC2实例使用SSH ok。Grizzly已经安装并启动。 我无法通过浏览器从本地计算机连接到EC2公共IPhttp://publicip:8080/索引。我有一个安全组,允许传入访问HTTP端口8080,允许所有传出。我还尝试允许ICMP进行ping,但我也无法ping。我删除了所有安全组限制,但这也不起作用。我检查了iptables,没有任何限制规则。 有什么想法吗? 谢谢
我按照这里给出的步骤从外部Jenkins实例连接到openshift在线代理。然而,当我提供OpenShift凭据时,即使我似乎拥有正确的凭据,登录也无法通过。消息“无法请求https://openshift.redhat.com/broker/rest/domains:OpenShift Online(下一代)开发者预览版在这里!我们不会接受OpenShift Online(v2)平台上的新用户
我试图在我本地minikube集群上的一个简单示例中使用fabric8io/kubernetes-client,在这里我获得了一个pod的IP 是完成执行的pod的名称,如果执行则可见。 是一个kubernetes API主机,我从中获得该主机。 MiniKube只有1个节点。 Fabric8IO/Kubernetes-客户端版本为4.9.1 Java 11 我将此代码作为作业部署在的同一集群上。
我正在一个盒子上运行redis 2.8.7。从其他框(两者都是aws ec2)我正在发出这个命令 redis-cli -h ,但我得到这个错误 无法连接到Redis:6379:连接被拒绝 框1上的端口6379为框2打开。此外,没有redis的id/pwd