2011-10-13 48 views
12

Tôi đã cài đặt Zookeeper như sau:"java.net.ConnectException: Kết nối từ chối" trong Zookeeper

wget http://archive.cloudera.com/cdh/3/zookeeper-3.3.3-cdh3u1.tar.gz 

Đây là zoo.cf tôi:

# The number of milliseconds of each tick 
tickTime=2000 
# The number of ticks that the initial 
# synchronization phase can take 
initLimit=10 
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement 
syncLimit=5 
# the directory where the snapshot is stored. 
dataDir=/home/reach121/basf/data/zookeeper/data1 
# maximum client connection 
maxClientCnxns=500 
# the port at which the clients will connect 
clientPort=2183 
server.1=localhost:2878:3878 
server.2=localhost:2879:3879 
server.3=localhost:2880:3880 

và bắt đầu bởi

/bin/zkServer.sh start zoo.cfg 

và khi tôi làm gì?

bin/zkCli.sh -server 127.0.0.1:2183 

nó mang lại cho tôi lỗi này:

Connecting to 127.0.0.1:2183 
2011-10-13 14:11:28,433 - INFO [main:[email protected]] - Client environment:zookeeper.version=3.3.3-cdh3u1--1, built on 07/18/2011 15:17 GMT 
2011-10-13 14:11:28,437 - INFO [main:[email protected]] - Client environment:host.name=cignexnew 
2011-10-13 14:11:28,437 - INFO [main:[email protected]] - Client environment:java.version=1.6.0_22 
2011-10-13 14:11:28,438 - INFO [main:[email protected]] - Client environment:java.vendor=Sun Microsystems Inc. 
2011-10-13 14:11:28,438 - INFO [main:[email protected]] - Client environment:java.home=/usr/lib/jvm/java-6-openjdk/jre 
2011-10-13 14:11:28,439 - INFO [main:[email protected]] - Client environment:java.class.path=/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/classes:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../zookeeper-3.3.3-cdh3u1.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/log4j-1.2.15.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/jline-0.9.94.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../src/java/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../conf: 
2011-10-13 14:11:28,439 - INFO [main:[email protected]] - Client environment:java.library.path=/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib 
2011-10-13 14:11:28,440 - INFO [main:[email protected]] - Client environment:java.io.tmpdir=/tmp 
2011-10-13 14:11:28,440 - INFO [main:[email protected]] - Client environment:java.compiler=<NA> 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.name=Linux 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.arch=amd64 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.version=2.6.35.4-rscloud 
2011-10-13 14:11:28,442 - INFO [main:[email protected]] - Client environment:user.name=reach121 
2011-10-13 14:11:28,443 - INFO [main:[email protected]] - Client environment:user.home=/home/reach121 
2011-10-13 14:11:28,443 - INFO [main:[email protected]] - Client environment:user.dir=/home/reach121/basf/zookeeper-3.3.3-cdh3u1 
2011-10-13 14:11:28,446 - INFO [main:[email protected]] - Initiating client connection, connectString=127.0.0.1:2183 sessionTimeout=30000 [email protected] 
Welcome to ZooKeeper! 
2011-10-13 14:11:28,472 - INFO [main-SendThread():[email protected]] - Opening socket connection to server /127.0.0.1:2183 
JLine support is enabled 
2011-10-13 14:11:28,487 - WARN [main-SendThread(localhost:2183):[email protected]] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592) 
     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
[zk: 127.0.0.1:2183(CONNECTING) 0] 2011-10-13 14:11:30,374 - INFO [main-SendThread(localhost:2183):[email protected]] - Opening socket connection to server localhost/127.0.0.1:2183 
2011-10-13 14:11:30,376 - WARN [main-SendThread(localhost:2183):[email protected]] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592) 
     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
+0

vấn đề là tôi chưa tạo tệp myid trong thư mục dữ liệu và không khởi động máy chủ zooketer với & – XMen

+0

Tôi cũng đang gặp phải vấn đề tương tự. Tôi đang sử dụng HBase 0.94.8. Bạn có thể giải thích làm thế nào bạn giải quyết được vấn đề? –

Trả lời

6

Are các máy chủ sắp tới? Không có khả năng đưa ra:

server.1=localhost:2878:3878 
server.2=localhost:2879:3879 
server.3=localhost:2880:3880 

Nếu bạn đang chạy cả ba máy chủ trên cùng một máy chủ họ sẽ cần phải mỗi người đều có một cấu hình khác nhau - đặc biệt là vị trí datadir phải khác, và bạn cần phải đảm bảo rằng mỗi datadir có tệp myid tương ứng với dòng máy chủ (tức là máy chủ. # trong cấu hình).

Thông thường khi bạn muốn chạy ở chế độ phân tán, bạn cần có các máy chủ riêng biệt. Trong trường hợp này, tại sao không chỉ chạy ở chế độ độc lập (mặc định)?

tôi muốn đề nghị bạn đọc thêm trong hướng dẫn quản trị đầu tiên: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html

+2

cách kiểm tra máy chủ đang hoạt động? – XMen

+0

cùng một cấu hình đang hoạt động trên máy chủ khác – XMen

2

tôi đã cùng một vấn đề kết nối từ một mã khách hàng để mapr m3 out of the box

vấn đề là các khách hàng là cố gắng kết nối với M3 zookeeper tại localhost.

/opt/mapr/conf/mapr-clusters.conf trên cụm M3 của tôi đang trỏ đến localhost ... tôi thay đổi nó đến địa chỉ IP của máy M3 và các kết nối từ client làm việc

/opt/mapr/conf/cldb.conf thêm địa chỉ ip thay localhost

và khởi động lại Zookeeper

3

Hãy chắc chắn rằng tất cả các dịch vụ cần thiết đang chạy

Bước 1: Kiểm tra xem chủ sở hữu cơ sở có chạy không

sudo /etc/init.d/hbase-master status 

nếu không, sau đó bắt đầu nó sudo /etc/init.d/hbase-master start

Bước 2: Kiểm tra xem HBase-regionserver đang chạy

sudo /etc/init.d/hbase-regionserver status 

nếu không, sau đó bắt đầu nó sudo /etc/init.d/hbase-regionserver start

Bước 3: Kiểm tra xem Zookeeper -server đang chạy

sudo /etc/init.d/zookeeper-server status 
.210

nếu không, sau đó bắt đầu nó sudo /etc/init.d/zookeeper-server start


hay đơn giản là chạy các lệnh 3 liên tiếp.

sau đó đừng quên kiểm tra tình trạng

sudo /etc/init.d/hbase-master status 
sudo /etc/init.d/hbase-regionserver status 
sudo /etc/init.d/zookeeper-server status 

Bạn có thể thấy rằng Zookeeper vẫn không chạy: sau đó bạn có thể chạy Zookeeper

sudo /usr/lib/zookeeper/bin/zkServer.sh stop 
sudo /usr/lib/zookeeper/bin/zkServer.sh start 

sau một lần nữa kiểm tra trạng thái và đảm bảo trạng thái của nó đang chạy

sudo /etc/init.d/zookeeper-server status 

Điều này sẽ hiệu quả.

Các vấn đề liên quan