I'll try to look further into it... Thanks for the help! 

On 2017-09-13 14:18, Matt Foley wrote:

> Interesting, I had previously found that many (but not all) ES params are 
> extensively processed by code fairly deep in the guts of ES itself (unrelated 
> to Metron's use of it), to allow this kind of flexibility. 
> 
> Thanks very much for sharing your results, Mike.  Looks like we'll continue 
> with the release. 
> 
> Laurens, I hope you can find what's going on, on your system.  I would 
> suggest that, if it isn't being written through to the yml file, it seems to 
> be an Ambari or install issue rather than an ES issue per se. 
> 
> Thanks, 
> 
> --Matt 
> 
> FROM: Michael Miklavcic <[email protected]>
> DATE: Wednesday, September 13, 2017 at 2:08 PM
> TO: Matt Foley <[email protected]>
> CC: Laurens Vets <[email protected]>, "[email protected]" 
> <[email protected]>
> SUBJECT: Re: Elasticsearch masters_also_are_datanodes doesn't work. 
> 
> Here's what I found. Data is flowing into ES indexes. I can change the 
> "masters_also_are_datanodes" property and it is reflected in the node.data 
> property in elasticsearch.yml. 
> 
> Here's my search for this property in the source code. It is properly being 
> used int the ES mpack scripts afaik. 
> 
> Targets 
> 
> Occurrences of 'masters_also_are_datanodes' in Directory 
> devprojects/metron/metron-deployment 
> 
> Found Occurrences  (6 usages found) 
> 
> Unclassified occurrence  (5 usages found) 
> 
> metron-deployment  (2 usages found) 
> 
> metron-deployment/other-examples/manual-install  (1 usage found) 
> 
> Manual_Install_CentOS6.md  (1 usage found) 
> 
> 810 "masters_also_are_datanodes" to "true" 
> 
> metron-deployment/roles/ambari_config/vars  (1 usage found) 
> 
> single_node_vm.yml  (1 usage found) 
> 
> 104 masters_also_are_datanodes: "1" 
> 
> metron_mpack  (3 usages found) 
> 
> common-services.ELASTICSEARCH.2.3.3.configuration  (1 usage found) 
> 
> elastic-site.xml  (1 usage found) 
> 
> 30 <name>masters_also_are_datanodes</name> 
> 
> common-services.ELASTICSEARCH.2.3.3.package.scripts  (1 usage found) 
> 
> params.py  (1 usage found) 
> 
> 26 masters_also_are_datanodes = 
> config['configurations']['elastic-site']['masters_also_are_datanodes'] 
> 
> common-services.ELASTICSEARCH.2.3.3.package.templates  (1 usage found) 
> 
> elasticsearch.master.yaml.j2  (1 usage found) 
> 
> 36   DATA: {{ MASTERS_ALSO_ARE_DATANODES }} 
> 
> Usage in string constants  (1 usage found) 
> 
> metron_mpack  (1 usage found) 
> 
> common-services.ELASTICSEARCH.2.3.3.package.scripts  (1 usage found) 
> 
> params.py  (1 usage found) 
> 
> 26 MASTERS_ALSO_ARE_DATANODES = 
> CONFIG['CONFIGURATIONS']['ELASTIC-SITE']['MASTERS_ALSO_ARE_DATANODES'] 
> 
> It should be noted that regardless of the ES documentation, this seems to 
> work with a variety of values including "true" (with quotes) and 1 (without 
> quotes). When I set the value to garbage through Ambari, I see this in 
> /var/log/elasticsearch/metron.log 
> 
> java.lang.IllegalArgumentException: value cannot be parsed to boolean [ 
> TRUE/1/ON/YES OR FALSE/0/OFF/NO ] 
> 
> at org.elasticsearch.common.Booleans.parseBooleanExact(Booleans.java:97) 
> 
> at 
> org.elasticsearch.cluster.node.DiscoveryNode.dataNode(DiscoveryNode.java:256) 
> 
> at 
> org.elasticsearch.cluster.node.DiscoveryNodes$Builder.build(DiscoveryNodes.java:659)
>  
> 
> at 
> org.elasticsearch.cluster.ClusterState$Builder.nodes(ClusterState.java:571) 
> 
> at 
> org.elasticsearch.cluster.service.InternalClusterService.doStart(InternalClusterService.java:205)
>  
> 
> at 
> org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68)
>  
> 
> at org.elasticsearch.node.Node.start(Node.java:279) 
> 
> at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:206) 
> 
> at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:272) 
> 
> at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
> 
> Apparently, even yes/no will work! I tried it, and can confirm they work with 
> quotes. But surprisingly, this does NOT work if you pass true/false or yes/no 
> without quotes. In summary, here are the supported values: 
> 
> * 1
> * 0
> * "true"
> * "false"
> * "yes"
> * "no"
> 
> Mike 
> 
> On Wed, Sep 13, 2017 at 2:17 PM, Matt Foley <[email protected]> wrote: 
> 
> Sorry, you've beat me. 
> 
> Mike, what have you found in full-dev?  Does ES work correctly there? 
> 
> FROM: Laurens Vets <[email protected]>
> DATE: Wednesday, September 13, 2017 at 1:14 PM
> TO: Matt Foley <[email protected]>
> CC: "[email protected]" <[email protected]>, Michael Miklavcic 
> <[email protected]>
> 
> SUBJECT: Re: Elasticsearch masters_also_are_datanodes doesn't work. 
> 
> Yes, I'm saving the changes. The orange bar pops up saying I have to restart 
> elasticsearch, which I do. I'm logged in with the admin user, it has 
> privileges to do everything else. I'm using a bare metal install via Ambari. 
> Everything else seems to work through Ambari except this :) 
> 
> On 2017-09-13 12:04, Matt Foley wrote: 
> 
> That it doesn't work in Ambari, at least to the point of writing thru to the 
> config file (whether or not it actually works with ES), is quite mystifying.  
> Silly question, but, are you pressing the "Save" button after changing the 
> field?  Are you perhaps not logged into Ambari with an ambari user id that 
> has privs to change this config?  Did you use non-default user configuration 
> with Ambari, and if so are you running with an admin-priv ambari account? 
> 
> FROM: Laurens Vets <[email protected]>
> DATE: Tuesday, September 12, 2017 at 8:32 PM
> TO: "[email protected]" <[email protected]>
> CC: Michael Miklavcic <[email protected]>, Matt Foley 
> <[email protected]>
> SUBJECT: Re: Elasticsearch masters_also_are_datanodes doesn't work. 
> 
> See inline. 
> 
> Now, Laurens, two question for you:   First, please confirm: Are you setting 
> the value of masters_also_are_datanodes via the masters_also_are_datanodes 
> field in the Ambari configuration GUI?  Or directly editing files? 
> 
> I'm using Ambari to edit the configuration. However, I have to manually edit 
> the file locally as the Ambari configuration doesn't work. 
> 
> Second, do you set it at the initial install time, or afterward?  I'm pretty 
> sure it needs to be set at initial install time, before you ever launch the 
> Elasticsearch nodes.  I'm dubious about whether an Elasticsearch master can 
> learn to be a datanode if it first wakes up and configures itself to not be 
> one.  But I'm not an Elasticsearch expert, so if someone else knows 
> different, please say so. 
> 
> In this case, I forgot to set it initially, so I tried to change it 
> afterwards to no avail. 
> 
> Hope this helps more than obfuscates. 
> 
> --Matt 
> 
> FROM: Michael Miklavcic <[email protected]>
> DATE: Tuesday, September 12, 2017 at 4:54 PM
> TO: "[email protected]" <[email protected]>
> CC: Matt Foley <[email protected]>
> SUBJECT: Re: Elasticsearch masters_also_are_datanodes doesn't work. 
> 
> At the very least, the value provided by default seems to have changed to a 
> "1" instead of "true" without the tooltip having been updated to match.
> 
> ERROR! FILENAME NOT SPECIFIED. 
> 
> On Tue, Sep 12, 2017 at 4:00 PM, Michael Miklavcic 
> <[email protected]> wrote: 
> 
> I think this is our default setup for full dev. It's only a 1-node VM, so I'm 
> pretty sure that it would not work otherwise. I'm spinning up full dev now 
> and will look into it also. 
> 
> On Tue, Sep 12, 2017 at 3:04 PM, Laurens Vets <[email protected]> wrote: 
> 
> https://issues.apache.org/jira/browse/METRON-1181
> 
> I'll also spin up a full-dev environment and see what happens there.
> 
> On 2017-09-10 21:50, Matt Foley wrote: 
> 
> Laurens, please open a jira.  Altho it may seem obvious, please
> include full repro.
> This may be a showstopper, as it presumably (?) prevents ES from
> working on a single-node deployment?
> 
> On 9/10/17, 4:01 PM, "Laurens Vets" <[email protected]> wrote:
> 
> Another issue I noticed. Setting "masters_also_are_datanodes" in Ambari
> to "true" does not work.
> The settings in /etc/elasticsearch/elasticsearch.yml will always be
> false when restarting elasticsearch...

Reply via email to