A feature rich tool to manage BigData applications. It supports following:
- Abstraction over Hadoop clusters from different distributions
- Intermediate application format with parametrized environment properties
- Cluster agnostic application deployment
- Application visual/text editing
- Application import/export in unified format
- Application execution and monitoring on cluster
- LDAP based user authentication
- Role based user authorization
- Kerberos service layer authentication
- Integration with Hortonworks and Cloudera
Prerequisites
JDK 8.x
Maven 3.5.0 +
Node.js 6.11.5 +
Docker 17.06.1-ce +
Zinc Server 0.3.5 (optional, significantly improves compilation time)
Build
mvn clean install -Pfrontend,backend,docker
Docker
To create and run new docker container:
bin/start.sh
To terminate all docker containers based on HW image:
bin/stop.sh
Optional environment variables:
HW_IMAGE_NAME - HW image name, default - "dataplatform/hw"
HW_IMAGE_VERSION - HW image version. default - current project version in POM file
HW_PORT - Web application port, default - 8080
HW_HOME - HW home directory, default - "~/.hw"
Mounted dirs:
$HW_HOME/db - Embedded DB files
$HW_HOME/repository - Internal tenant repository files
$HW_HOME/conf - Configuration files
$HW_HOME/keys - Access key files
$HW_HOME/logs - Application log files
$HW_HOME/tomcat-logs - Servlet container log files
Maven
Used in development mode with embedded Jetty server:
cd hw-web
mvn jetty:run
Note in this case default home directory will be used ~/.hw.
MySQL/MariaDB should be installed manually and configured in $HW_HOME/conf/application.conf
Mandatory properties:
plugin.dir=[project.dir]/hw/plugins
hw.ldap - External LDAP configuration. Refer to "Configuration" section.
Configuration
Configuration files in $HW_HOME/conf folder:
appication.conf - Application configuration file
krb5.conf - Kerberos client configuration
logback.xml - HW logging configuration
In case running docker container default configuration files automatically added to $HW_HOME/conf folder.
Mandatory properties in appication.conf:
hw.ldap.host=[host]
hw.ldap.port=[port]
hw.ldap.ssl.enabled=[true/false]
hw.ldap.user.name=[user]
hw.ldap.user.password=[password]
hw.ldap.user.base.dn=[dc=xyz,dc=com]
hw.ldap.user.attribute=[uid]
Mandatory properties in krb5.conf in case of kerberized cluster:
[libdefaults]
[domain_realm]
[realms]
http://[host]:[port]/hw/