title: Elasticsearch Won't Start when binding to anything but localhost (node validation exception when binding to eth0)
body: <p>I am VERY new to the elasticsearch game. I am even quite new to running JAVA things on my Ubuntu 14.04 install. My background is almost entirely JS stack based.</p>
  
  <p>With that out of the way, I have ran through a tutorial for installing elasticsearch. I have managed to get it running on my cheapo digitalocean droplet by modifying how much memory it is assigned on start. Great!</p>
  
  <p>I can access it fine if I am in the terminal on the actual host, using <code>http://localhost:9200/</code> for example.</p>
  
  <p>However, I want to expose this as an endpoint. So according to documentation all over the net, I simply bing <code>netowrk.bind</code> to <code>0.0.0.0</code>.</p>
  
  <p>However when I save the config file and <code>sudo service elasticsearch restart</code> it tells me it has started up. Shortly after it crashes and closes.</p>
  
  <p>Upon closer inspection of the logs, it seems that because I am binding to a <code>non-loopback</code> network (aka eth0) it runs some bootstrap checks which then FAIL because I haven't got the minimum memory assigned to it.</p>
  
  <p>Why will it let me bind it to <em>local</em> or localhost, and run the application but not allow me to bind to an outward facing network?</p>
  
  <pre><code>[2016-12-21T10:18:59,888][INFO ][o.e.b.BootstrapCheck     ] [honey-pot-1] 
  bound or publishing to a non-loopback or non-link-local address,
  enforcing bootstrap checks
  [2016-12-21T10:18:59,903][ERROR][o.e.b.Bootstrap          ] [honey-pot-1]
  node validation exception
  bootstrap checks failed
  max number of threads [1822] for user [elasticsearch] is too low, 
  increase to at least [2048]
  max virtual memory areas vm.max_map_count [100000] is too low,
  increase to at least [262144]
  [2016-12-21T10:18:59,928][INFO ][o.e.n.Node               ] [honey-pot-1] 
  stopping ...
  </code></pre>