Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> hbase 0.96 stop master receive ERROR ipc.RPC: RPC.stopProxy called on non proxy.


Copy link to this message
-
RE: hbase 0.96 stop master receive ERROR ipc.RPC: RPC.stopProxy called on non proxy.
@Ted.

After looking back to the previous email/thread, I actually forgot to mention that I'm using HA namenode with QJM...
I'm feeling bad for assuming that you already know about my environment, sorry.

Best regards,
Henry

-----Original Message-----
From: MA11 YTHung1
Sent: Tuesday, November 26, 2013 9:13 AM
To: [EMAIL PROTECTED]
Subject: RE: hbase 0.96 stop master receive ERROR ipc.RPC: RPC.stopProxy called on non proxy.

@Ted
Yes, I use the hadoop-hdfs-2.2.0.jar.

BTW, how do you certain that the namenode class is ClientNamenodeProtocolTranslatorPB?

>From the NameNodeProxies, I can only assume the ClientNamenodeProtocolTranslatorPB is used only when connecting to single hadoop namenode.

  public static <T> ProxyAndInfo<T> createNonHAProxy(
      Configuration conf, InetSocketAddress nnAddr, Class<T> xface,
      UserGroupInformation ugi, boolean withRetries) throws IOException {
    Text dtService = SecurityUtil.buildTokenService(nnAddr);

    T proxy;
    if (xface == ClientProtocol.class) {
      proxy = (T) createNNProxyWithClientProtocol(nnAddr, conf, ugi,
          withRetries);
But I'm using HA configuration using QJM, so the my guess is the createProxy will go to the HA case because I provide failoverProxyProviderClass with "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider".

  public static <T> ProxyAndInfo<T> createProxy(Configuration conf,
      URI nameNodeUri, Class<T> xface) throws IOException {
    Class<FailoverProxyProvider<T>> failoverProxyProviderClass         getFailoverProxyProviderClass(conf, nameNodeUri, xface);

    if (failoverProxyProviderClass == null) {
      // Non-HA case
      return createNonHAProxy(conf, NameNode.getAddress(nameNodeUri), xface,
          UserGroupInformation.getCurrentUser(), true);
    } else {
      // HA case
      FailoverProxyProvider<T> failoverProxyProvider = NameNodeProxies
          .createFailoverProxyProvider(conf, failoverProxyProviderClass, xface,
              nameNodeUri);
      Conf config = new Conf(conf);
      T proxy = (T) RetryProxy.create(xface, failoverProxyProvider, RetryPolicies
          .failoverOnNetworkException(RetryPolicies.TRY_ONCE_THEN_FAIL,
              config.maxFailoverAttempts, config.failoverSleepBaseMillis,
              config.failoverSleepMaxMillis));

      Text dtService = HAUtil.buildTokenServiceForLogicalUri(nameNodeUri);
      return new ProxyAndInfo<T>(proxy, dtService);
    }
  }

Here is the snippet of my hdfs-site.xml:

  <property>
    <name>dfs.nameservices</name>
    <value>hadoopdev</value>
  </property>
  <property>
    <name>dfs.ha.namenodes.hadoopdev</name>
    <value>nn1,nn2</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.hadoopdev.nn1</name>
    <value>fphd9.ctpilot1.com:9000</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.hadoopdev.nn1</name>
    <value>fphd9.ctpilot1.com:50070</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.hadoopdev.nn2</name>
    <value>fphd10.ctpilot1.com:9000</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.hadoopdev.nn2</name>
    <value>fphd10.ctpilot1.com:50070</value>
  </property>
  <property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://fphd8.ctpilot1.com:8485;fphd9.ctpilot1.com:8485;fphd10.ctpilot1.com:8485/hadoopdev</value>
  </property>
  <property>
    <name>dfs.client.failover.proxy.provider.hadoopdev</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  </property>
  <property>
    <name>dfs.ha.fencing.methods</name>
    <value>shell(/bin/true)</value>
  </property>
  <property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/data/hadoop/hadoop-data-2/journal</value>
  </property>
  <property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>ha.zookeeper.quorum</name>
    <value>fphd1.ctpilot1.com:2222</value>
  </property>

From: Ted Yu [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, November 26, 2013 1:56 AM
To: [EMAIL PROTECTED]
Subject: Re: hbase 0.96 stop master receive ERROR ipc.RPC: RPC.stopProxy called on non proxy.

Here is the caller to createReorderingProxy():

      ClientProtocol cp1 = createReorderingProxy(namenode, lrb, conf);

where namenode
is org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB :

public class ClientNamenodeProtocolTranslatorPB implements

    ProtocolMetaInterface, ClientProtocol, Closeable, ProtocolTranslator {

In createReorderingProxy() :

            new Class[]{ClientProtocol.class, Closeable.class},

We ask for Closeable interface.
Did the error persist after you replaced with the hadoop-hdfs-2.2.0.jar ?
Meaning, did you start HBase using the new hadoop jars ?

Cheers
On Mon, Nov 25, 2013 at 1:04 PM, Henry Hung <[EMAIL PROTECTED]> wrote:
The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Winbond is strictly prohibited; and any information in this email irrelevant to the official business of Winbond shall be deemed as neither given nor endorsed by Winbond.

The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immedia