Repository: bigtop Updated Branches: refs/heads/master 7e4607009 -> 64965ff4e
BIGTOP-2555: hadoop charms should use bind-host overrides (closes #153) Signed-off-by: Kevin W Monroe <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/64965ff4 Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/64965ff4 Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/64965ff4 Branch: refs/heads/master Commit: 64965ff4eb00c347ca9ee7e3ec327c92f4d8d8a5 Parents: 7e46070 Author: Kevin W Monroe <[email protected]> Authored: Mon Oct 17 20:43:58 2016 +0000 Committer: Kevin W Monroe <[email protected]> Committed: Tue Oct 25 17:51:10 2016 -0500 ---------------------------------------------------------------------- .../hadoop/layer-hadoop-namenode/reactive/namenode.py | 13 ++++--------- .../reactive/resourcemanager.py | 12 ++++++++++++ 2 files changed, 16 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/64965ff4/bigtop-packages/src/charm/hadoop/layer-hadoop-namenode/reactive/namenode.py ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/charm/hadoop/layer-hadoop-namenode/reactive/namenode.py b/bigtop-packages/src/charm/hadoop/layer-hadoop-namenode/reactive/namenode.py index c8a71da..b18bd60 100644 --- a/bigtop-packages/src/charm/hadoop/layer-hadoop-namenode/reactive/namenode.py +++ b/bigtop-packages/src/charm/hadoop/layer-hadoop-namenode/reactive/namenode.py @@ -20,7 +20,6 @@ from charms.layer.apache_bigtop_base import ( ) from charmhelpers.core import hookenv, host from jujubigdata import utils -from path import Path ############################################################################### @@ -62,9 +61,13 @@ def install_namenode(): 'namenode', 'mapred-app', ], + # NB: We want the NN to listen on all interfaces, so bind to 0.0.0.0. overrides={ 'hadoop::common_hdfs::hadoop_namenode_port': hdfs_port, + 'hadoop::common_hdfs::hadoop_namenode_bind_host': '0.0.0.0', 'hadoop::common_hdfs::hadoop_namenode_http_port': webhdfs_port, + 'hadoop::common_hdfs::hadoop_namenode_http_bind_host': '0.0.0.0', + 'hadoop::common_hdfs::hadoop_namenode_https_bind_host': '0.0.0.0', } ) bigtop.trigger_puppet() @@ -75,14 +78,6 @@ def install_namenode(): # requirement. utils.initialize_kv_host() - # make our namenode listen on all interfaces - hdfs_site = Path('/etc/hadoop/conf/hdfs-site.xml') - with utils.xmlpropmap_edit_in_place(hdfs_site) as props: - props['dfs.namenode.rpc-bind-host'] = '0.0.0.0' - props['dfs.namenode.servicerpc-bind-host'] = '0.0.0.0' - props['dfs.namenode.http-bind-host'] = '0.0.0.0' - props['dfs.namenode.https-bind-host'] = '0.0.0.0' - # We need to create the 'mapred' user/group since we are not installing # hadoop-mapreduce. This is needed so the namenode can access yarn # job history files in hdfs. Also add our ubuntu user to the hadoop http://git-wip-us.apache.org/repos/asf/bigtop/blob/64965ff4/bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py b/bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py index 3f3e9ae..61c7a3b 100644 --- a/bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py +++ b/bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py @@ -72,6 +72,8 @@ def install_resourcemanager(namenode): rm_http = get_layer_opts().port('rm_webapp_http') jh_ipc = get_layer_opts().port('jobhistory') jh_http = get_layer_opts().port('jh_webapp_http') + hdfs_port = namenode.port() + webhdfs_port = namenode.webhdfs_port() bigtop = Bigtop() bigtop.render_site_yaml( @@ -82,11 +84,21 @@ def install_resourcemanager(namenode): roles=[ 'resourcemanager', ], + # NB: When we colocate the NN and RM, the RM will run puppet apply + # last. To ensure we don't lose any hdfs-site.xml data set by the + # NN, override common_hdfs properties again here. overrides={ 'hadoop::common_yarn::hadoop_rm_port': rm_ipc, 'hadoop::common_yarn::hadoop_rm_webapp_port': rm_http, + 'hadoop::common_yarn::hadoop_rm_bind_host': '0.0.0.0', + 'hadoop::common_mapred_app::mapreduce_jobhistory_host': '0.0.0.0', 'hadoop::common_mapred_app::mapreduce_jobhistory_port': jh_ipc, 'hadoop::common_mapred_app::mapreduce_jobhistory_webapp_port': jh_http, + 'hadoop::common_hdfs::hadoop_namenode_port': hdfs_port, + 'hadoop::common_hdfs::hadoop_namenode_bind_host': '0.0.0.0', + 'hadoop::common_hdfs::hadoop_namenode_http_port': webhdfs_port, + 'hadoop::common_hdfs::hadoop_namenode_http_bind_host': '0.0.0.0', + 'hadoop::common_hdfs::hadoop_namenode_https_bind_host': '0.0.0.0', } ) bigtop.trigger_puppet()
