This could help you: https://pypi.python.org/pypi/PyHDFS/0.1.0

Thanks,
Sandeep
ᐧ

On Wed, May 4, 2016 at 2:40 PM, Brahma Reddy Battula <
brahmareddy.batt...@huawei.com> wrote:

> 1. Have a list of namenodes, built from configurations.
> 2. Execute the op on each namenode until its success.
> 3. Have the successfull namenode url as active namenode, and use the same
> for next operations.
> 4. Whenever a StandByException or some network exception (other than
> remote exceptions) occurs, then repeat #2 and #3, starting from the next
> namenode url in the list.
>
>
>
>
>
> --Brahma Reddy Battula
>
>
>
> *From:* Cecile, Adam [mailto:adam.cec...@hitec.lu]
> *Sent:* 04 May 2016 16:26
> *To:* Sandeep Nemuri
> *Cc:* user@hadoop.apache.org
> *Subject:* RE: NameNode HA from a client perspective
>
>
>
> Hello,
>
>
>
> I'm not sure to understand your answer, may I add a little piece of code:
>
>
>
> *def* *_build_hdfs_url*(self, hdfs_path, hdfs_operation, 
> opt_query_param_tuples*=*[]):
>
>         """
>
>         :type hdfs_path: str
>
>         :type hdfs_operation: str
>
>         """
>
>         *if* *not* hdfs_path*.*startswith("/"):
>
>             *raise* WebHdfsException("The web hdfs path must start with / but 
> found " *+* hdfs_path, None, None)
>
>
>
>         url *=* 'http://' *+* self*.*host *+* ':' *+* str(self*.*port) *+* 
> '/webhdfs/v1' *+* hdfs_path *+* '?user.name=' *+* self*.*user *+* '&op=' *+* 
> hdfs_operation
>
>         len_param *=* len(opt_query_param_tuples)
>
>         *for* index *in* range(len_param):
>
>             key_value *=* opt_query_param_tuples[index]
>
>             url *+=* "&{}={}"*.*format(key_value[0], str(key_value[1]))
>
>         *return* url
>
>
>
> Here is a plain python standard distribution function extracted from an
> app: the problem here is "self.host", it has to be IP address ou DNS name
> of the NameNode, however I'd like to turn this into something dynamic
> resolving to the current active master.
>
>
>
> Regards, Adam.
>
>
> ------------------------------
>
> *De :* Sandeep Nemuri <nhsande...@gmail.com>
> *Envoyé :* mercredi 4 mai 2016 09:15
> *À :* Cecile, Adam
> *Cc :* user@hadoop.apache.org
> *Objet :* Re: NameNode HA from a client perspective
>
>
>
> I think you can simply use the nameservice (dfs.nameservices) which is
> defined in hdfs-site.xml
>
> The hdfs client should be able to resolve the current active namenode and
> get the necessary information.
>
>
>
> Thanks,
>
> Sandeep Nemuri
>
> ᐧ
>
>
>
> On Wed, May 4, 2016 at 12:04 PM, Cecile, Adam <adam.cec...@hitec.lu>
> wrote:
>
> Hello All,
>
>
> I'd like to have a piece of advice regarding how my HDFS clients should
> handle the NameNode high availability feature.
> I have a complete setup running with ZKFC and I can see one active and one
> standby NameNode. When I kill the active one, the standy gets active and
> when the original one get back online it turns into a standby node, perfect.
>
> However I'm not sure how my client apps should handle this, a couple of
> ideas:
> * Handle the bad HTTP code from standby node to switch to the other one
> * Integrate Zookeeper client to query for the current active node
> * Hack something like a shared-ip linked to the active node
>
> Then I'll have to handle a switch that may occurs during the execution of
> a client app: should I just crash and rely on the cluster to restart the
> job.
>
>
> Thanks in advance,
>
> Best regards from Luxembourg.​
>
>
>
>
>
> --
>
> *  Regards*
>
> *  Sandeep Nemuri*
>



-- 
*  Regards*
*  Sandeep Nemuri*

Reply via email to