启动 userland 代理时出错:listen tcp 0.0.0.0:9042: bind: address already in use'
Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use'
我正在尝试为具有 3 个实例的 kafka 连接器和 cassandra 集群设置 landoop/fast-data-dev 集群,但我得到 "Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use'"。
与sudo netstat -pna | grep 9042
我正进入(状态:
tcp 0 0 127.0.0.1:9042 0.0.0.0:* LISTEN 1166/java
我试过了
pkill -f CassandraDaemon
和
docker 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'
您在端口 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
我正在尝试为具有 3 个实例的 kafka 连接器和 cassandra 集群设置 landoop/fast-data-dev 集群,但我得到 "Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use'"。
与sudo netstat -pna | grep 9042
我正进入(状态:
tcp 0 0 127.0.0.1:9042 0.0.0.0:* LISTEN 1166/java
我试过了
pkill -f CassandraDaemon
和
docker 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'
您在端口 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