blob: 01670957380aff8458a3974c03d96f11ef6656c2 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/markdown/metron-deployment/development/index.md at 2019-05-14
| Rendered using Apache Maven Fluido Skin 1.7
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20190514" />
<meta http-equiv="Content-Language" content="en" />
<title>Metron &#x2013; Metron Development Environments</title>
<link rel="stylesheet" href="../../css/apache-maven-fluido-1.7.min.css" />
<link rel="stylesheet" href="../../css/site.css" />
<link rel="stylesheet" href="../../css/print.css" media="print" />
<script type="text/javascript" src="../../js/apache-maven-fluido-1.7.min.js"></script>
<script type="text/javascript">
$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );
</script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<div id="banner">
<div class="pull-left"><a href="http://metron.apache.org/" id="bannerLeft"><img src="../../images/metron-logo.png" alt="Apache Metron" width="148px" height="48px"/></a></div>
<div class="pull-right"></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
<li class=""><a href="http://metron.apache.org/" class="externalLink" title="Metron">Metron</a><span class="divider">/</span></li>
<li class=""><a href="../../index.html" title="Documentation">Documentation</a><span class="divider">/</span></li>
<li class="active ">Metron Development Environments</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2019-05-14</li>
<li id="projectVersion" class="pull-right">Version: 0.7.1</li>
</ul>
</div>
<div class="row-fluid">
<div id="leftColumn" class="span2">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">User Documentation</li>
<li><a href="../../index.html" title="Metron"><span class="icon-chevron-down"></span>Metron</a>
<ul class="nav nav-list">
<li><a href="../../CONTRIBUTING.html" title="CONTRIBUTING"><span class="none"></span>CONTRIBUTING</a></li>
<li><a href="../../Upgrading.html" title="Upgrading"><span class="none"></span>Upgrading</a></li>
<li><a href="../../metron-analytics/index.html" title="Analytics"><span class="icon-chevron-right"></span>Analytics</a></li>
<li><a href="../../metron-contrib/metron-docker/index.html" title="Docker"><span class="none"></span>Docker</a></li>
<li><a href="../../metron-contrib/metron-performance/index.html" title="Performance"><span class="none"></span>Performance</a></li>
<li><a href="../../metron-deployment/index.html" title="Deployment"><span class="icon-chevron-down"></span>Deployment</a>
<ul class="nav nav-list">
<li><a href="../../metron-deployment/Kerberos-ambari-setup.html" title="Kerberos-ambari-setup"><span class="none"></span>Kerberos-ambari-setup</a></li>
<li><a href="../../metron-deployment/Kerberos-manual-setup.html" title="Kerberos-manual-setup"><span class="none"></span>Kerberos-manual-setup</a></li>
<li><a href="../../metron-deployment/amazon-ec2/index.html" title="Amazon-ec2"><span class="none"></span>Amazon-ec2</a></li>
<li><a href="../../metron-deployment/ansible/index.html" title="Ansible"><span class="icon-chevron-right"></span>Ansible</a></li>
<li class="active"><a href="#"><span class="icon-chevron-down"></span>Development</a>
<ul class="nav nav-list">
<li><a href="../../metron-deployment/development/centos6/index.html" title="Centos6"><span class="none"></span>Centos6</a></li>
<li><a href="../../metron-deployment/development/fastcapa/index.html" title="Fastcapa"><span class="none"></span>Fastcapa</a></li>
<li><a href="../../metron-deployment/development/ubuntu14/index.html" title="Ubuntu14"><span class="none"></span>Ubuntu14</a></li>
</ul>
</li>
<li><a href="../../metron-deployment/other-examples/index.html" title="Other-examples"><span class="icon-chevron-right"></span>Other-examples</a></li>
<li><a href="../../metron-deployment/packaging/ambari/index.html" title="Ambari"><span class="icon-chevron-right"></span>Ambari</a></li>
<li><a href="../../metron-deployment/packaging/docker/ansible-docker/index.html" title="Ansible-docker"><span class="none"></span>Ansible-docker</a></li>
<li><a href="../../metron-deployment/packaging/docker/deb-docker/index.html" title="Deb-docker"><span class="none"></span>Deb-docker</a></li>
<li><a href="../../metron-deployment/packaging/docker/rpm-docker/index.html" title="Rpm-docker"><span class="none"></span>Rpm-docker</a></li>
<li><a href="../../metron-deployment/packaging/packer-build/index.html" title="Packer-build"><span class="none"></span>Packer-build</a></li>
</ul>
</li>
<li><a href="../../metron-interface/index.html" title="Interface"><span class="icon-chevron-right"></span>Interface</a></li>
<li><a href="../../metron-platform/index.html" title="Platform"><span class="icon-chevron-right"></span>Platform</a></li>
<li><a href="../../metron-sensors/index.html" title="Sensors"><span class="icon-chevron-right"></span>Sensors</a></li>
<li><a href="../../metron-stellar/stellar-3rd-party-example/index.html" title="Stellar-3rd-party-example"><span class="none"></span>Stellar-3rd-party-example</a></li>
<li><a href="../../metron-stellar/stellar-common/index.html" title="Stellar-common"><span class="icon-chevron-right"></span>Stellar-common</a></li>
<li><a href="../../metron-stellar/stellar-zeppelin/index.html" title="Stellar-zeppelin"><span class="none"></span>Stellar-zeppelin</a></li>
<li><a href="../../use-cases/index.html" title="Use-cases"><span class="icon-chevron-right"></span>Use-cases</a></li>
</ul>
</li>
</ul>
<hr />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /></a>
</div>
</div>
</div>
<div id="bodyColumn" class="span10" >
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1>Metron Development Environments</h1>
<p><a name="Metron_Development_Environments"></a></p>
<p>This directory contains environments useful for Metron developers. These environments are not intended for proof-of-concept, testing, or production use. These are extremely resource constrained and cannot support anything beyond the most basic work loads.</p>
<ul>
<li>Metron running on CentOS 6</li>
<li>Metron running on Ubuntu 14</li>
<li>Fastcapa</li>
</ul>
<div class="section">
<h2><a name="Vagrant_Cachier_recommendations"></a>Vagrant Cachier recommendations</h2>
<p>The development boxes are designed to be spun up and destroyed on a regular basis as part of the development cycle. In order to avoid the overhead of re-downloading many of the heavy platform dependencies, Vagrant can use the <a class="externalLink" href="http://fgrehm.viewdocs.io/vagrant-cachier/">vagrant-cachier</a> plugin to store package caches between builds. If the plugin has been installed to your vagrant it will be used, and packages will be cached in ~/.vagrant/cache.</p></div>
<div class="section">
<h2><a name="Knox_Demo_LDAP"></a>Knox Demo LDAP</h2>
<p>The development environment can be set up to authenticate against Knox&#x2019;s demo LDAP.</p>
<p>A couple notes</p>
<ul>
<li>A custom LDIF file is used to setup users. This is to get the roles and passwords setup correctly.</li>
<li>The demo LDAP uses plaintext passwords with no encryption prefix (e.g. {SSHA}).</li>
<li>You may need or want to shut down any or all of the topologies. This is optional, but clears some room</li>
</ul>
<p>To setup this up, start full dev.</p>
<ul>
<li>
<p>In Ambari, add the Knox service (Actions -&gt; +Add Service). Accept all defaults and let it install. The configs that will be set how we need by default are:</p>
<ul>
<li>LDAP URL = <a class="externalLink" href="ldap://localhost:33389">ldap://localhost:33389</a></li>
<li>User dn pattern = uid={0},ou=people,dc=hadoop,dc=apache,dc=org</li>
<li>LDAP user searchbase = ou=people,dc=hadoop,dc=apache,dc=org</li>
<li>Group Search Base = ou=groups,dc=hadoop,dc=apache,dc=org</li>
<li>Group Search Filter = member={0}</li>
<li>User Base DN = uid=admin,ou=people,dc=hadoop,dc=apache,dc=org</li>
<li>User Search Filter is empty</li>
<li>User password attribute = userPassword</li>
<li>LDAP group role attribute = cn</li>
<li>Bind User = uid=admin,ou=people,dc=hadoop,dc=apache,dc=org</li>
<li>LDAP Truststore is empty</li>
<li>LDAP Truststore Password is empty</li>
</ul>
</li>
<li>
<p>In the Knox configuration, go to &#x201c;Advanced users-ldif&#x201d;. We have a custom ldif file &#x201c;knox-demo-ldap.ldif&#x201d; in &#x201c;metron-deployment/development&#x201d; that contains a customized variant of the users and groups defined here. Replace the default ldif configuration with the contents of &#x201c;knox-demo-ldap.ldif&#x201d;</p>
</li>
<li>Start the Demo LDAP (In Knox, &quot;Service Actions -&gt; Start Demo LDAP)</li>
<li>In Metron&#x2019;s configs, we&#x2019;re going to make two changes
<ul>
<li>Set &#x201c;LDAP Enabled&#x201d; to &#x201c;On&#x201d;</li>
<li>In Security, set &#x201c;Bind user password&#x201d; to match the admin user&#x2019;s password from the ldif file (admin-password).</li>
</ul>
</li>
<li>Restart the REST application</li>
</ul>
<p>Now, when you go to Swagger or the UIs, you should be able to give a user and password. &#x201c;admin&#x201d; will have the roles ROLE_ADMIN and ROLE_USER, which can be verified via the &#x201c;/whoami/roles&#x201d; endpoint in Swagger. Similarly, there is a user &#x201c;sam&#x201d; that only has ROLE_USER. A third user, &#x201c;tom&#x201d; has neither role.</p></div>
</div>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
© 2015-2016 The Apache Software Foundation. Apache Metron, Metron, Apache, the Apache feather logo,
and the Apache Metron project logo are trademarks of The Apache Software Foundation.
</div>
</div>
</footer>
</body>
</html>