trato de escribir algunos datos a hbase con un programa clienteAcceso a HBase se ejecuta en VM con un cliente en el sistema host
HBase @ Hadoop se ejecuta en una máquina virtual preconfigurada de Cloudera @ ubuntu.
El cliente se ejecuta en el sistema que aloja la máquina virtual y ejecuta el cliente directamente en las máquinas virtuales.
Así que ahora quiero utilizar el cliente fuera de la máquina virtual para acceder a los servidores en la máquina virtual
estoy usando NAT. Para acceder a los servidores como HBase Maestro, HUE..running en la máquina virtual He configurado el reenvío de puertos en la caja virtual:
Así que puede llegar a los sitios de visión general de la HBase Maestro, HUE ..
para ejecutar el cliente en contra de los servidores en la máquina virtual creé hbase-site.xml con contenido:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>9997</value>
</property>
<property>
<name>hbase.master</name>
<value>localhost:9999</value>
</property>
</configuration>
así que esperaba que el reenvío funciona:
el mensaje de error s en el registro cuando se ejecuta el cliente se ve así:
11/09/07 17:48:00 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
11/09/07 17:48:00 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181
11/09/07 17:48:01 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
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)
11/09/07 17:48:01 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181
11/09/07 17:48:01 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.SocketException: Address family not supported by protocol family: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:500)
at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1050)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1077)
11/09/07 17:48:03 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181
11/09/07 17:48:04 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
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)
11/09/07 17:48:04 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181
11/09/07 17:48:04 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.SocketException: Address family not supported by protocol family: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:500)
at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1050)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1077)
11/09/07 17:48:05 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181
Un registro de conexión correcta (cuando se ejecuta el cliente directamente en la máquina virtual) que parece:
11/09/07 09:05:29 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
11/09/07 09:05:29 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181
11/09/07 09:05:29 INFO zookeeper.ClientCnxn: Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session
11/09/07 09:05:29 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x132449d36df0006, negotiated timeout = 40000
Así que sólo veo ahora en el registro la línea antes de que el primer problema que la conexión URL no es correcto ya que el puerto se envía correctamente, pero el IP sigue siendo localhost y no 10.0.2.15 como se configura en la configuración de reenvío de puertos:
Opening socket connection to server localhost/127.0.0.1:2181
Sólo
sugerencia que encontré es deshabilitar IPV6 -> está deshabilitado en el host (win7) y vm (Ubuntu) y verificar el puerto -> se reenviaron correctamente
¿Alguien tiene una idea?
Su puerto parece mal a mí. Su registro dice localhost: 2181 aunque configuró 9997. Intenté la misma configuración en mi clúster de Virtual Box y funciona bien. En realidad, no tienes que configurar otros puertos, permanece igual en tu VM. => Sin confusión :) Si este no fue el problema, podría reenviar el puerto 22 y abrir una conexión SSH mediante masilla y tunelizar sus puertos. –