[
https://issues.apache.org/jira/browse/AMBARI-12763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zachary Blanco updated AMBARI-12763:
------------------------------------
Description:
In the Apache Knox service screen > configuration > advanced topology the
templating/macros used does automatically add multiple namenode URLs if WebHDFS
HA is enabled.
We should changed the template from
<url>http://{{namenode_host}:{{namenode_port}}webhdfs</url>
to something that's simple like:
{{webhdfs_service_urls}}
This will automatically add URLs if there are multiple namenodes - thus
allowing one less step for setting up HA for WebHDFS in Knox
So for example, if we have a cluster running in HA mode, previously the old
templating feature would have looked something like this:
{code:xml}
<service>
<role>WEBHDFS</role>
<url>http://{{namenode_host}}:{{namenode_port}}/webhdfs</url>
</service>
{code}
and written the following the disk for the WebHDFS service:
{code:xml}
<service>
<role>WEBHDFS</role>
<url>http://namenode_host_1:namenode_port/webhdfs</url>
</service>
{code}
Even though the cluster is running in HA mode, only 1 url would have been
written. Now with this new feature we could replace the old
{code:xml}http://{{namenode_host}}:{{namenode_port}}/webhdfs{code} with
{code:xml}{{webhdfs_service_urls}}{code} and the urls for each server running
namenode would be put into their place. Thus making the XML written to disk the
following:
{code:xml}
<service>
<role>WEBHDFS</role>
<url>http:{namenode_host_1}:{namenode_port}webhdfs</url>
<url>http:{namenode_host_2}:{namenode_port}webhdfs</url>
<url>http:{namenode_host_3}:{namenode_port}webhdfs</url>
</service>
{code}
was:
In the Apache Knox service screen > configuration > advanced topology the
templating/macros used does automatically add multiple namenode URLs if WebHDFS
HA is enabled.
We should changed the template from
<url>http://{{namenode_host}:{{namenode_port}}webhdfs</url>
to something that's simple like:
{{webhdfs_service_urls}}
This will automatically add URLs if there are multiple namenodes - thus
allowing one less step for setting up HA for WebHDFS in Knox
So for example, if we have a cluster running in HA mode, previously the old
templating feature would have written the following the disk for the WebHDFS
service:
{code:xml}
<service>
<role>WEBHDFS</role>
<url>http://{namenode_host_1}:{namenode_port}/webhdfs</url>
</service>
{code}
Even though the cluster is running in HA mode, only 1 url would have been
written. Now with this new feature we could replace the old
{{namenode_host}}:{{namenode_port}} with the urls for each server running
namenode. Thus making the XML written to disk the following:
{code:xml}
<service>
<role>WEBHDFS</role>
<url>http:{namenode_host_1}:{namenode_port}webhdfs</url>
<url>http:{namenode_host_2}:{namenode_port}webhdfs</url>
<url>http:{namenode_host_3}:{namenode_port}webhdfs</url>
</service>
{code}
> Adding Support for WebHDFS HA mode in Knox Configuration
> --------------------------------------------------------
>
> Key: AMBARI-12763
> URL: https://issues.apache.org/jira/browse/AMBARI-12763
> Project: Ambari
> Issue Type: Improvement
> Components: ambari-server
> Affects Versions: 2.1.0
> Reporter: Zachary Blanco
> Assignee: Zachary Blanco
> Fix For: 2.2.0
>
> Attachments: AMBARI-12763.patch
>
>
> In the Apache Knox service screen > configuration > advanced topology the
> templating/macros used does automatically add multiple namenode URLs if
> WebHDFS HA is enabled.
> We should changed the template from
> <url>http://{{namenode_host}:{{namenode_port}}webhdfs</url>
> to something that's simple like:
> {{webhdfs_service_urls}}
> This will automatically add URLs if there are multiple namenodes - thus
> allowing one less step for setting up HA for WebHDFS in Knox
> So for example, if we have a cluster running in HA mode, previously the old
> templating feature would have looked something like this:
> {code:xml}
> <service>
> <role>WEBHDFS</role>
> <url>http://{{namenode_host}}:{{namenode_port}}/webhdfs</url>
> </service>
> {code}
> and written the following the disk for the WebHDFS service:
> {code:xml}
> <service>
> <role>WEBHDFS</role>
> <url>http://namenode_host_1:namenode_port/webhdfs</url>
> </service>
> {code}
> Even though the cluster is running in HA mode, only 1 url would have been
> written. Now with this new feature we could replace the old
> {code:xml}http://{{namenode_host}}:{{namenode_port}}/webhdfs{code} with
> {code:xml}{{webhdfs_service_urls}}{code} and the urls for each server running
> namenode would be put into their place. Thus making the XML written to disk
> the following:
> {code:xml}
> <service>
> <role>WEBHDFS</role>
> <url>http:{namenode_host_1}:{namenode_port}webhdfs</url>
> <url>http:{namenode_host_2}:{namenode_port}webhdfs</url>
> <url>http:{namenode_host_3}:{namenode_port}webhdfs</url>
> </service>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)