You could still use Harsh's solution programatically, or maybe an easier way is to use HAUtil.getAddressOfActive() [1] for that? Ideally we should not need to query ZK directly.
[1] https://github.com/c9n/hadoop/blob/master/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/HAUtil.java#L341 Em sex, 14 de set de 2018 às 09:00, Francisco de Freitas <[email protected]> escreveu: > > Hi Harsh, thanks for your message. > > The thing is that I need to find that out via API programatically so that's > why I gave the zkCli command as an example. I'm using this Go Lib > (github.com/samuel/go-zookeeper/zk) and I get the same result. > > On Fri, 14 Sep 2018 at 02:22 Harsh J <[email protected]> wrote: >> >> The value you are looking at directly in ZooKeeper is in a >> serialized/encoded form. Those are not separator characters but more >> likely an encoded integer binary value that your terminal is >> interpreting as a printable character. >> >> The standard way to find the active NameNode is to use the 'hdfs >> haadmin -getAllServiceState' command: >> >> [hdfs@host ~]# hdfs haadmin -getAllServiceState >> host1.com:8022 standby >> host2.com:8022 active >> >> You can then extract out just the active NameNode hostname: >> >> [hdfs@host ~]# hdfs haadmin -getAllServiceState | grep active | awk >> -F: '{ print $1; }' >> host1.com >> On Thu, Sep 13, 2018 at 9:39 PM Francisco de Freitas >> <[email protected]> wrote: >> > >> > When querying different HDFS clusters I get different separators (don't >> > really know if they're actually separators). >> > >> > From zkCli.sh on different clusters, running the following I get: >> > >> > cmd: get /hadoop-ha/clusterX/ActiveBreadCrumb >> > >> > Cluster1 (comma): >> > cluster1active-nn1,active-nn1.example.com �>(�> >> > >> > Cluster2 (single double quote): >> > cluster2active-nn2"active-nn2.example.com �>(�> >> > >> > Cluster3 (dollar sign): >> > cluster3active-nn3$active-nn3.example.com �>(�> >> > >> > How can I effectively write a generic code deployed on different HDFS >> > clusters to effectively find out which is the active NN from querying ZK? >> > >> > Or am I doing something wrong? Is the behavior above expected? >> >> >> >> -- >> Harsh J --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
