2012-04-17 12 views
13

Tôi mới đến HBaseHadoop. Tôi đã hoàn toàn thiết lập HBase và bắt đầu hoàn hảo. Bây giờ khi tôi cố gắng kết nối từ p1 tới HBase (trong đó thiết lập HBase là trên p2) bằng cách sử dụng một máy khách Java, sau đó nó đang ném một ngoại lệ lạ.kết nối hbase bị từ chối

12/04/17 14:36:37 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.15.20:2181 sessionTimeout=180000 watcher=hconnection 
12/04/17 14:36:38 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.15.20:2181 
12/04/17 14:36:38 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:39 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:39 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:41 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:41 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:43 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:43 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:44 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:44 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:45 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:45 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:47 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:47 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:48 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:48 WARN zookeeper.ClientCnxn: 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:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:49 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:49 INFO zookeeper.ZooKeeper: Session: 0x0 closed 
org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information. 
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:155) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1002) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:304) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:295) 
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:157) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:90) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1258) 
    at HBaseDemo.main(HBaseDemo.java:55) 
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase 
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:90) 
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:42) 
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:809) 
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:837) 
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.createAndFailSilent(ZKUtil.java:903) 
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:133) 
    ... 7 more 
12/04/17 14:36:49 INFO zookeeper.ClientCnxn: EventThread shut down 
Execution script exiting 

/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.name=xyz 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.home=/home/xyz 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.dir=/opt/xyz/hbase-sample 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.15.169:2181 sessionTimeout=180000 watcher=hconnection 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.15.169:2181 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Socket connection established to hbase.xyz.com/192.168.15.169:2181, initiating session 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Session establishment complete on server hbase.xyz.com/192.168.15.169:2181, sessionid = 0x136c00d59ac0009, negotiated timeout = 180000 
12/04/17 17:41:36 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 1 failed; no more retrying. 
java.net.ConnectException: Connection refused 
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:604) 
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:328) 
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883) 
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:750) 
at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257) 
at $Proxy4.getProtocolVersion(Unknown Source) 
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419) 
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:393) 
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444) 
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:360) 
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94) 
at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1258) 
at HBaseDemo.main(HBaseDemo.java:55) 
HBase is not running! 
Execution script exiting 
+2

Mặc dù tôi thường muốn biết thêm thông tin, thay vì ít hơn, tôi tự hỏi bạn có thể in ít hơn một chút về tuyên bố lỗi này không. Nó lặp lại rất nhiều và kết thúc lên trông giống như một WALLOFTEXT hơn bất cứ điều gì khác. Có lẽ nó không quan trọng. – theJollySin

+0

thanks for reply.Now tôi đã đăng đầu ra hoàn chỉnh xin vui lòng kiểm tra – khan

Trả lời

5

Tôi đã tìm thấy giải pháp.

Bằng cách chỉ cần xóa localhost mục nhập từ số /etc/hosts của tôi. Bây giờ mục nhập cục bộ của tôi giống như 192.169.19.50 [đây là IP cơ sở của tôi] = localhost thay vì 127.0.0.1 localhost.

+0

khan - tôi có lỗi này khi tôi đang chạy hbase, hadoop, nutch trên cùng một máy chủ trong chế độ giả. Tôi có cần chỉnh sửa tệp/etc/hosts của mình không? – sunskin

+4

Một giải pháp đáng ngờ. Bạn có thể nên sửa đổi tài sản hbase.zookeeper.quorum hoặc ở phía máy khách hoặc phía máy chủ. Đề xuất của – user1455836

+0

@ user1455836 và xóa bộ nhớ cache DNS và khởi động lại (mê tín thuần túy?), Đã làm việc cho tôi. Đối với máy Mac của tôi, tôi đã thêm mục nhập cho 'hbase.zookeeper.quorum' vào'/usr/local/Cellar/hbase/1.0.1/libexec/conf/hbase-site.xml' với giá trị là ' .local' . Zookeeper bây giờ là sống lại với tất cả các phước lành của nó, vinh quang và thân thiện với người dùng. –

4

Câu trả lời được chấp nhận ở đây có thể hiệu quả, nhưng chỉ là tác dụng phụ.

Vấn đề là HBase đang mở cổng nghe trên máy chủ cục bộ (tức là trên vòng lặp) thay vì trên giao diện mặt đối diện. Việc loại bỏ mục nhập localhost trong/etc/hosts buộc HBase phải liên kết với giao diện bên ngoài - nhưng chỉ vì nó không thể tìm thấy localhost. Điều này có khả năng trở thành một vấn đề khi một số daemon muốn hợp pháp lắng nghe hoặc kết nối với localhost (thông qua lo) một mình.

Bạn có thể kiểm tra xem bạn có vấn đề này hay không bằng cách sử dụng telnet để kết nối với cổng 60000 qua máy chủ cục bộ hoặc IP được gán cho máy. Có khả năng bạn sẽ có thể kết nối thông qua localhost (vì đó là nơi HBase bị ràng buộc) chứ không phải IP.

Tốt hơn để sử dụng tên máy của bạn trong thỏa thuận HBase của bạn.

+0

Khi cấu hình một cluster để đặt thuộc tính "hbase.master" trong HBase-site.xml với hostname hoặc IP của bạn, ví dụ: 'đang hbase.master 192.168.1.111:16000 ' – lourencoccc

3

Giả sử rằng bạn đã cấu hình tức thời cho HBase của bạn, hãy đặt chủ cơ sở hbase, số hiệu nhóm sở thú và cha mẹ znode. Kinda như thế này-

import org.apache.hadoop.hbase.HBaseConfiguration; 

public class CLASS_NAME{ 
    Configuration configuration = new HBaseConfiguration.Create(); 
    configuration.set(hbase master, ""); 
    configuration.set(zookeeper quorum, ""); 
    configuration.set(znode parent, ""); 
}