【问题标题】:Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use'启动用户态代理时出错:listen tcp 0.0.0.0:9042: bind: address already in use'
【发布时间】:2019-12-01 12:28:12
【问题描述】:

我正在尝试为 kafka 连接器和具有 3 个实例的 cassandra 集群设置landoop/fast-data-dev 集群,但我收到“启动用户区代理时出错:监听 tcp 0.0.0.0:9042:绑定:地址已在使用中” ”。

sudo netstat -pna | grep 9042 我正进入(状态: tcp 0 0 127.0.0.1:9042 0.0.0.0:* LISTEN 1166/java

我试过了 pkill -f CassandraDaemondocker rm -f $(docker ps -aq) 没有成功。 这是 docker-compose 文件:

version: '2'

services:

        kafka-cluseter:
                image: landoop/fast-data-dev:latest
                environment:
                        ADV_HOST: 127.0.0.1
                        RUNTESTS: 0
                ports:
                        - 2181:2181
                        - 3030:3030
                        - 8081-8083:8081-8083
                        - 9581-9585:9581-9585
                        - 9092:9092
        ###############################
        cassandra0:
                image: cassandra:latest
                container_name: cassandra0
                ports:
                        - 9042:9042
                        - 7199:7199

        ###############################
        cassandra1:
                image: cassandra:latest
                container_name: cassandra1
                ports:
                        - 9142:9042
                links:
                        - cassandra0:seed
                environment:
                        - CASSANDRA_SEEDS=seed

        ###############################
        cassandra2:
                image: cassandra:latest
                container_name: cassandra2
                ports:
                        - 9242:9042
                links:
                        - cassandra0:seed
                environment:
                        - CASSANDRA_SEEDS=seed

Cassandra 实例未启动时 sudo docker-compose up -d

Creating network "kafka-code_default" with the default driver
Creating cassandra0                  ... error
Creating kafka-code_kafka-cluseter_1 ... 

ERROR: for cassandra0  Cannot start service cassandra0: b'driver failed programming external connectivity on endpoint cassandra0 (e5383709e9e9b45bbdf57a6445da0df4e4aa228269ad1d18c4c3de70bc903b0a): Error starting userland proxy: listen tcp 0Creating kafka-code_kafka-cluseter_1 ... done

ERROR: for cassandra0  Cannot start service cassandra0: b'driver failed programming external connectivity on endpoint cassandra0 (e5383709e9e9b45bbdf57a6445da0df4e4aa228269ad1d18c4c3de70bc903b0a): Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use'

【问题讨论】:

  • 运行sudo fuser -n tcp -k 9042

标签: cassandra apache-kafka docker-compose pipeline


【解决方案1】:

正如您所展示的,您在端口 9042 上运行了其他东西:

sudo netstat -pna | grep 9042

tcp        0      0 127.0.0.1:9042          0.0.0.0:*               LISTEN      1166/java

这就是为什么您无法启动也想使用相同端口的 Docker 容器的原因。

问题是你假设它一定是那个端口上的 Docker 或 Cassandra 并试图杀死它们

pkill -f CassandraDaemon
docker rm -f $(docker ps -aq)

您真正需要做的是找出进程 1166 是什么,然后将其终止 - 或者如果它应该运行,请为您的 Docker 容器选择一个不同的端口来使用

ps -ef|grep 1166

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2014-10-13
    相关资源
    最近更新 更多