You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Cass Costello <ca...@gmail.com> on 2008/02/03 09:49:57 UTC

Confusing connection issue with client

Hey all,
I'm just starting with both Hadoop and HBase.  I've created a 3-node cluster
- 1 master and 2 slaves.  I've had some fun in the shell, where everything
works as expected, and look forward to wrapping my head around the java
client interface.  Using the wiki FAQ as a guide, I wrote my first unit
test, but it's throwing an exception I can't explain:

08/02/03 00:12:46 INFO hbase.HConnectionManager$TableServers: Attempt 0 of 5
failed with <org.apache.hadoop.ipc.RemoteException: java.io.IOException:
Unknown protocol to name node: org.apache.hadoop.hbase.HMasterInterface

at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:79)

at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[
Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)

at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown
Source)

at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)

at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)


My hbase-site.xml and unit test source are below.  I haven't altered
hbase-default.  I feel like I must be missing something obvious. Any ideas?



public void testJustGettingStarted() throws Exception {

Configuration conf = new HBaseConfiguration();

 HBaseAdmin admin = new HBaseAdmin(conf);

HTableDescriptor[] tables = admin.listTables();

 for ( HTableDescriptor table : tables ) {

LOG.info( table.getName() );

}

 HTable newA = new HTable(conf, new Text("test") );

Text row = new Text("testRow");

// Now fetch the content just added

byte data[] = newA.get(row, new Text("test:test") );

 LOG.info( data );

}



<?xml version="1.0"?>

<configuration>

  <property>

    <name>hbase.master</name>

    <value>blc-1300-07.dev:51515</value>

    <description>The host and port that the Hbase master runs at.

    </description>

  </property>

</configuration>

Re: Confusing connection issue with client

Posted by Cass Costello <ca...@gmail.com>.
Update:  I grabbed 0.16.1, deployed everything as it had been before and the
unit test now runs perfectly.  Thanks again, Jean-Daniel.  Now for the real
fun...

On Feb 3, 2008 9:55 AM, Jean-Daniel Cryans <jd...@gmail.com> wrote:

> No problem, I ran into the same kind of problem lately but using the
> latest
> code available and it was something like my port wasn't open but, as it
> was
> running inside a VMware  (I don't want to mess with my 12 nodes cluster
> too
> much), I resorted to running the code inside the vm.
>
> But for your case, I would first suggest using the latest code on your
> cluster and remote client because 0.15.x isn't really supported for HBase
> (read http://wiki.apache.org/hadoop/Hbase/Plan-0.17). I may also suggest
> using the all new HBase email list :
> hbase-user-subscribe@hadoop.apache.org
>
> Not sure if it will fix your problem, just a guess ;)
>
> jdcryans
>
> 2008/2/3, Cass Costello <ca...@gmail.com>:
> >
> > Thanks for the quick reply, Jean-Daniel.
> > I'm running the test remotely from the cluster.  I used the 0.15.3release
> > for all the machines in the cluster and but built the local code from
> > branch-0.15.  To be safe, I just reran the test using jars from the
> > 0.15.3download but received the same error.
> >
> >
> > On Feb 3, 2008 7:04 AM, Jean-Daniel Cryans <jd...@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > I guess you're using the SVN version. Are you running your test on the
> > > master node or remotely?
> > >
> > > jdcryans
> > >
> > > 2008/2/3, Cass Costello <ca...@gmail.com>:
> > > >
> > > > Hey all,
> > > > I'm just starting with both Hadoop and HBase.  I've created a 3-node
> > > > cluster
> > > > - 1 master and 2 slaves.  I've had some fun in the shell, where
> > > everything
> > > > works as expected, and look forward to wrapping my head around the
> > java
> > > > client interface.  Using the wiki FAQ as a guide, I wrote my first
> > unit
> > > > test, but it's throwing an exception I can't explain:
> > > >
> > > > 08/02/03 00:12:46 INFO hbase.HConnectionManager$TableServers:Attempt
> > 0
> > > of
> > > > 5
> > > > failed with <org.apache.hadoop.ipc.RemoteException:
> > java.io.IOException:
> > > > Unknown protocol to name node:
> > org.apache.hadoop.hbase.HMasterInterface
> > > >
> > > > at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java
> :79)
> > > >
> > > > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(
> Ljava.lang.Object
> > ;[
> > > > Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
> > > >
> > > > at java.lang.reflect.Method.invoke(Ljava.lang.Object;[
> > Ljava.lang.Object
> > > > ;I)Ljava.lang.Object;(Unknown
> > > > Source)
> > > >
> > > > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)
> > > >
> > > > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)
> > > >
> > > >
> > > > My hbase-site.xml and unit test source are below.  I haven't altered
> > > > hbase-default.  I feel like I must be missing something obvious. Any
> > > > ideas?
> > > >
> > > >
> > > >
> > > > public void testJustGettingStarted() throws Exception {
> > > >
> > > > Configuration conf = new HBaseConfiguration();
> > > >
> > > > HBaseAdmin admin = new HBaseAdmin(conf);
> > > >
> > > > HTableDescriptor[] tables = admin.listTables();
> > > >
> > > > for ( HTableDescriptor table : tables ) {
> > > >
> > > > LOG.info( table.getName() );
> > > >
> > > > }
> > > >
> > > > HTable newA = new HTable(conf, new Text("test") );
> > > >
> > > > Text row = new Text("testRow");
> > > >
> > > > // Now fetch the content just added
> > > >
> > > > byte data[] = newA.get(row, new Text("test:test") );
> > > >
> > > > LOG.info( data );
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > > <?xml version="1.0"?>
> > > >
> > > > <configuration>
> > > >
> > > >   <property>
> > > >
> > > >     <name>hbase.master</name>
> > > >
> > > >     <value>blc-1300-07.dev:51515</value>
> > > >
> > > >     <description>The host and port that the Hbase master runs at.
> > > >
> > > >     </description>
> > > >
> > > >   </property>
> > > >
> > > > </configuration>
> > > >
> > >
> >
> >
> >
> > --
> > Lego timeline:
> >
> http://cache.gizmodo.com/assets/resources/2008/01/lego-brick4-timeline.jpg
> >
>



-- 
Lego timeline:
http://cache.gizmodo.com/assets/resources/2008/01/lego-brick4-timeline.jpg

Re: Confusing connection issue with client

Posted by Jean-Daniel Cryans <jd...@gmail.com>.
No problem, I ran into the same kind of problem lately but using the latest
code available and it was something like my port wasn't open but, as it was
running inside a VMware  (I don't want to mess with my 12 nodes cluster too
much), I resorted to running the code inside the vm.

But for your case, I would first suggest using the latest code on your
cluster and remote client because 0.15.x isn't really supported for HBase
(read http://wiki.apache.org/hadoop/Hbase/Plan-0.17). I may also suggest
using the all new HBase email list :
hbase-user-subscribe@hadoop.apache.org

Not sure if it will fix your problem, just a guess ;)

jdcryans

2008/2/3, Cass Costello <ca...@gmail.com>:
>
> Thanks for the quick reply, Jean-Daniel.
> I'm running the test remotely from the cluster.  I used the 0.15.3 release
> for all the machines in the cluster and but built the local code from
> branch-0.15.  To be safe, I just reran the test using jars from the
> 0.15.3download but received the same error.
>
>
> On Feb 3, 2008 7:04 AM, Jean-Daniel Cryans <jd...@gmail.com> wrote:
>
> > Hi,
> >
> > I guess you're using the SVN version. Are you running your test on the
> > master node or remotely?
> >
> > jdcryans
> >
> > 2008/2/3, Cass Costello <ca...@gmail.com>:
> > >
> > > Hey all,
> > > I'm just starting with both Hadoop and HBase.  I've created a 3-node
> > > cluster
> > > - 1 master and 2 slaves.  I've had some fun in the shell, where
> > everything
> > > works as expected, and look forward to wrapping my head around the
> java
> > > client interface.  Using the wiki FAQ as a guide, I wrote my first
> unit
> > > test, but it's throwing an exception I can't explain:
> > >
> > > 08/02/03 00:12:46 INFO hbase.HConnectionManager$TableServers: Attempt
> 0
> > of
> > > 5
> > > failed with <org.apache.hadoop.ipc.RemoteException:
> java.io.IOException:
> > > Unknown protocol to name node:
> org.apache.hadoop.hbase.HMasterInterface
> > >
> > > at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:79)
> > >
> > > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object
> ;[
> > > Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
> > >
> > > at java.lang.reflect.Method.invoke(Ljava.lang.Object;[
> Ljava.lang.Object
> > > ;I)Ljava.lang.Object;(Unknown
> > > Source)
> > >
> > > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)
> > >
> > > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)
> > >
> > >
> > > My hbase-site.xml and unit test source are below.  I haven't altered
> > > hbase-default.  I feel like I must be missing something obvious. Any
> > > ideas?
> > >
> > >
> > >
> > > public void testJustGettingStarted() throws Exception {
> > >
> > > Configuration conf = new HBaseConfiguration();
> > >
> > > HBaseAdmin admin = new HBaseAdmin(conf);
> > >
> > > HTableDescriptor[] tables = admin.listTables();
> > >
> > > for ( HTableDescriptor table : tables ) {
> > >
> > > LOG.info( table.getName() );
> > >
> > > }
> > >
> > > HTable newA = new HTable(conf, new Text("test") );
> > >
> > > Text row = new Text("testRow");
> > >
> > > // Now fetch the content just added
> > >
> > > byte data[] = newA.get(row, new Text("test:test") );
> > >
> > > LOG.info( data );
> > >
> > > }
> > >
> > >
> > >
> > > <?xml version="1.0"?>
> > >
> > > <configuration>
> > >
> > >   <property>
> > >
> > >     <name>hbase.master</name>
> > >
> > >     <value>blc-1300-07.dev:51515</value>
> > >
> > >     <description>The host and port that the Hbase master runs at.
> > >
> > >     </description>
> > >
> > >   </property>
> > >
> > > </configuration>
> > >
> >
>
>
>
> --
> Lego timeline:
> http://cache.gizmodo.com/assets/resources/2008/01/lego-brick4-timeline.jpg
>

Re: Confusing connection issue with client

Posted by Cass Costello <ca...@gmail.com>.
Thanks for the quick reply, Jean-Daniel.
I'm running the test remotely from the cluster.  I used the 0.15.3 release
for all the machines in the cluster and but built the local code from
branch-0.15.  To be safe, I just reran the test using jars from the
0.15.3download but received the same error.


On Feb 3, 2008 7:04 AM, Jean-Daniel Cryans <jd...@gmail.com> wrote:

> Hi,
>
> I guess you're using the SVN version. Are you running your test on the
> master node or remotely?
>
> jdcryans
>
> 2008/2/3, Cass Costello <ca...@gmail.com>:
> >
> > Hey all,
> > I'm just starting with both Hadoop and HBase.  I've created a 3-node
> > cluster
> > - 1 master and 2 slaves.  I've had some fun in the shell, where
> everything
> > works as expected, and look forward to wrapping my head around the java
> > client interface.  Using the wiki FAQ as a guide, I wrote my first unit
> > test, but it's throwing an exception I can't explain:
> >
> > 08/02/03 00:12:46 INFO hbase.HConnectionManager$TableServers: Attempt 0
> of
> > 5
> > failed with <org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> > Unknown protocol to name node: org.apache.hadoop.hbase.HMasterInterface
> >
> > at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:79)
> >
> > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[
> > Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
> >
> > at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object
> > ;I)Ljava.lang.Object;(Unknown
> > Source)
> >
> > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)
> >
> > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)
> >
> >
> > My hbase-site.xml and unit test source are below.  I haven't altered
> > hbase-default.  I feel like I must be missing something obvious. Any
> > ideas?
> >
> >
> >
> > public void testJustGettingStarted() throws Exception {
> >
> > Configuration conf = new HBaseConfiguration();
> >
> > HBaseAdmin admin = new HBaseAdmin(conf);
> >
> > HTableDescriptor[] tables = admin.listTables();
> >
> > for ( HTableDescriptor table : tables ) {
> >
> > LOG.info( table.getName() );
> >
> > }
> >
> > HTable newA = new HTable(conf, new Text("test") );
> >
> > Text row = new Text("testRow");
> >
> > // Now fetch the content just added
> >
> > byte data[] = newA.get(row, new Text("test:test") );
> >
> > LOG.info( data );
> >
> > }
> >
> >
> >
> > <?xml version="1.0"?>
> >
> > <configuration>
> >
> >   <property>
> >
> >     <name>hbase.master</name>
> >
> >     <value>blc-1300-07.dev:51515</value>
> >
> >     <description>The host and port that the Hbase master runs at.
> >
> >     </description>
> >
> >   </property>
> >
> > </configuration>
> >
>



-- 
Lego timeline:
http://cache.gizmodo.com/assets/resources/2008/01/lego-brick4-timeline.jpg

Re: Confusing connection issue with client

Posted by Jean-Daniel Cryans <jd...@gmail.com>.
Hi,

I guess you're using the SVN version. Are you running your test on the
master node or remotely?

jdcryans

2008/2/3, Cass Costello <ca...@gmail.com>:
>
> Hey all,
> I'm just starting with both Hadoop and HBase.  I've created a 3-node
> cluster
> - 1 master and 2 slaves.  I've had some fun in the shell, where everything
> works as expected, and look forward to wrapping my head around the java
> client interface.  Using the wiki FAQ as a guide, I wrote my first unit
> test, but it's throwing an exception I can't explain:
>
> 08/02/03 00:12:46 INFO hbase.HConnectionManager$TableServers: Attempt 0 of
> 5
> failed with <org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> Unknown protocol to name node: org.apache.hadoop.hbase.HMasterInterface
>
> at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:79)
>
> at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[
> Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
>
> at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object
> ;I)Ljava.lang.Object;(Unknown
> Source)
>
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)
>
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)
>
>
> My hbase-site.xml and unit test source are below.  I haven't altered
> hbase-default.  I feel like I must be missing something obvious. Any
> ideas?
>
>
>
> public void testJustGettingStarted() throws Exception {
>
> Configuration conf = new HBaseConfiguration();
>
> HBaseAdmin admin = new HBaseAdmin(conf);
>
> HTableDescriptor[] tables = admin.listTables();
>
> for ( HTableDescriptor table : tables ) {
>
> LOG.info( table.getName() );
>
> }
>
> HTable newA = new HTable(conf, new Text("test") );
>
> Text row = new Text("testRow");
>
> // Now fetch the content just added
>
> byte data[] = newA.get(row, new Text("test:test") );
>
> LOG.info( data );
>
> }
>
>
>
> <?xml version="1.0"?>
>
> <configuration>
>
>   <property>
>
>     <name>hbase.master</name>
>
>     <value>blc-1300-07.dev:51515</value>
>
>     <description>The host and port that the Hbase master runs at.
>
>     </description>
>
>   </property>
>
> </configuration>
>