2012-07-25 16 views
5

Hola Estoy usando hBase en modo completamente distribuido y estoy tratando de conectar Hbase usando un código java y crear una tabla. Me sale un error No se está conectando a hbase. He comprobado todos los procesos que están funcionando bien: - namenode, datanode, nodemanager, resource manager, hbase master, hbase regionservers, zookeeper.Error HBase: No es un host: par de puertos

error

starting... 
getting config... 
12/07/25 18:48:31 WARN hbase.HBaseConfiguration: instantiating HBaseConfiguration() is deprecated. Please use HBaseConfiguration#create() to construct a plain Configuration 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.3.2-1031432, built on 11/05/2010 05:32 GMT 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:host.name=aniket 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.version=1.7.0_05 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Oracle Corporation 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.home=/usr/java/jdk1.7.0_05/jre 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.class.path=/root/workspace/HBaseTesting/bin:/usr/lib/hadoop-0.20-mapreduce/hadoop-core.jar:/usr/lib/hadoop/hadoop-common.jar:/root/Downloads/google-collect-1.0-rc1/google-collect-1.0-rc1.jar:/root/Downloads/hbase-0.90.5/hbase-0.90.5.jar:/root/Downloads/hbase-0.90.5/lib/activation-1.1.jar:/root/Downloads/hbase-0.90.5/lib/asm-3.1.jar:/root/Downloads/hbase-0.90.5/lib/avro-1.3.3.jar:/root/Downloads/hbase-0.90.5/lib/commons-cli-1.2.jar:/root/Downloads/hbase-0.90.5/lib/commons-codec-1.4.jar:/root/Downloads/hbase-0.90.5/lib/commons-el-1.0.jar:/root/Downloads/hbase-0.90.5/lib/commons-httpclient-3.1.jar:/root/Downloads/hbase-0.90.5/lib/commons-lang-2.5.jar:/root/Downloads/hbase-0.90.5/lib/commons-logging-1.1.1.jar:/root/Downloads/hbase-0.90.5/lib/commons-net-1.4.1.jar:/root/Downloads/hbase-0.90.5/lib/core-3.1.1.jar:/root/Downloads/hbase-0.90.5/lib/guava-r06.jar:/root/Downloads/hbase-0.90.5/lib/hadoop-core-0.20-append-r1056497.jar:/root/Downloads/hbase-0.90.5/lib/jackson-core-asl-1.5.5.jar:/root/Downloads/hbase-0.90.5/lib/jackson-jaxrs-1.5.5.jar:/root/Downloads/hbase-0.90.5/lib/jackson-mapper-asl-1.4.2.jar:/root/Downloads/hbase-0.90.5/lib/jackson-xc-1.5.5.jar:/root/Downloads/hbase-0.90.5/lib/jasper-compiler-5.5.23.jar:/root/Downloads/hbase-0.90.5/lib/jasper-runtime-5.5.23.jar:/root/Downloads/hbase-0.90.5/lib/jaxb-api-2.1.jar:/root/Downloads/hbase-0.90.5/lib/jaxb-impl-2.1.12.jar:/root/Downloads/hbase-0.90.5/lib/jersey-core-1.4.jar:/root/Downloads/hbase-0.90.5/lib/jersey-json-1.4.jar:/root/Downloads/hbase-0.90.5/lib/jersey-server-1.4.jar:/root/Downloads/hbase-0.90.5/lib/jettison-1.1.jar:/root/Downloads/hbase-0.90.5/lib/jetty-6.1.26.jar:/root/Downloads/hbase-0.90.5/lib/jetty-util-6.1.26.jar:/root/Downloads/hbase-0.90.5/lib/jruby-complete-1.6.0.jar:/root/Downloads/hbase-0.90.5/lib/jsp-2.1-6.1.14.jar:/root/Downloads/hbase-0.90.5/lib/jsp-api-2.1-6.1.14.jar:/root/Downloads/hbase-0.90.5/lib/jsr311-api-1.1.1.jar:/root/Downloads/hbase-0.90.5/lib/log4j-1.2.16.jar:/root/Downloads/hbase-0.90.5/lib/protobuf-java-2.3.0.jar:/root/Downloads/hbase-0.90.5/lib/servlet-api-2.5-6.1.14.jar:/root/Downloads/hbase-0.90.5/lib/slf4j-api-1.5.8.jar:/root/Downloads/hbase-0.90.5/lib/slf4j-log4j12-1.5.8.jar:/root/Downloads/hbase-0.90.5/lib/stax-api-1.0.1.jar:/root/Downloads/hbase-0.90.5/lib/thrift-0.2.0.jar:/root/Downloads/hbase-0.90.5/lib/xmlenc-0.52.jar:/root/Downloads/hbase-0.90.5/lib/zookeeper-3.3.2.jar:/root/Downloads/hbql-0.90.0.1/hbql-0.90.0.1.jar 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA> 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:os.arch=amd64 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:os.version=2.6.18-274.el5xen 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:user.name=root 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:user.home=/root 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Client environment:user.dir=/root/workspace/HBaseTesting 
12/07/25 18:48:32 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.1.88:2181 sessionTimeout=180000 watcher=hconnection 
12/07/25 18:48:32 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.1.88:2181 
12/07/25 18:48:32 INFO zookeeper.ClientCnxn: Socket connection established to aniket/192.168.1.88:2181, initiating session 
12/07/25 18:48:32 INFO zookeeper.ClientCnxn: Session establishment complete on server aniket/192.168.1.88:2181, sessionid = 0x138bf7676070043, negotiated timeout = 40000 
Exception in thread "main" java.lang.IllegalArgumentException: Not a host:port pair: � 
at org.apache.hadoop.hbase.HServerAddress.<init>(HServerAddress.java:60) 
    at org.apache.hadoop.hbase.MasterAddressTracker.getMasterAddress(MasterAddressTracker.java:63) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:561) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:99) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1320) 
    at HBaseCreateTable.main(HBaseCreateTable.java:38) 

fragmento de código

Configuration config=HBaseConfiguration.create(); 
config.set("hbase.zookeeper.quorum", "192.168.1.88"); 
config.set("hbase.zookeeper.property.clientPort","2181"); 
config.set("hbase.master", "192.168.1.88:60000"); 
HTableDescriptor ht = new HTableDescriptor("abc"); 
ht.addFamily(new HColumnDescriptor("number")); // from and to 
HBaseAdmin hba = new HBaseAdmin(conf); 
hba.createTable(ht); 

Respuesta

9

que he visto "no es un host: par de puerto" cuando se utiliza 0.90.2 cliente para hablar con 0,92 servidor. ¿Puedes verificar que las versiones de HBase de tu cliente y servidor son las mismas, y qué son?

+0

Sí, pasó lo mismo cuando accidentalmente usé 0.94 para conectarme a 0.98. – haridsv

0

i faced same problem, try :

Change your build path jar/wars that you are using, make compatible with Hbase server version.. use same version of Hbase server and jars you used for coding. Ex:if you are using Hbase 0.90.2 server use same version of jars available.

0

Check this out

si intenta comunicarse entre 0.90.x cliente y el servidor hbase hbase 0.92.x, se ha pasado esta clase de problemas.

si alguien conoce este problema en detalle, por favor coméntelo sobre los motivos.

+0

Mejor debería [hacer una nueva pregunta] (http://stackoverflow.com/questions/ask) en su lugar. – j0k

0

Además de lo que ha dicho walter. No es solo por esta versión específica lo que ha mencionado '0.90.2', de hecho obtendrá esta excepción siempre que su desajuste entre la versión de API de cliente & API de servidor.

Como yo tengo la misma excepción: -

"Excepción en el hilo "" java.lang.IllegalArgumentException: No es un anfitrión: par de puertos: pBuf" principal

cuando yo estaba usando API cliente de 0.94 y API de servidor de versión 0.98.

Cuestiones relacionadas