hortonworks / ansible-hortonworks

Ansible playbooks for deploying Hortonworks Data Platform and DataFlow using Ambari Blueprints
Apache License 2.0
248 stars 253 forks source link

RANGER_ADMIN backend DB #48

Closed waltari2001 closed 6 years ago

waltari2001 commented 6 years ago

Hi,

Is the database property (which defaults to embedded) apply to both Ambari and Apache Ranger? I am trying to install RANGER_ADMIN/RANGER_KMS_SERVER on a host but backed with MySQL (installed/configured by this playbook), and leave Ambari backed with the default (embedded) database.

Also, what would be the easy way to add RANGER to the stack after Ambari had been deployed with embedded DB?

Thanks!

Sadek

alexandruanghel commented 6 years ago

Hi,

For simplicity reasons, the database property applies to all components, ambari, hive, ranger, etc. The embedded option means that Ansible will let Ambari install and prepare the default database for each component, just like it would do when you install HDP manually without preparing any DB in advance. That means Postgres for Ambari, mysql for hive, derby for oozie and so on.

Ranger is the only component that doesn't have a "default" database in Ambari, for example, if you add Ranger manually via the Ambari UI, you will need to at least install the database beforehand and give the root user to Ambari. And these playbooks try to emulate this behaviour.

To answer your question, since Ambari's default database is postgres, you can change the database property to postgres and Ansible's idempotency will mean it won't do anything for the Ambari database.

On the other hand, if you just ran the playbooks so you have an Ambari install with no cluster and no config, you can simply switch the database option to mysql if you want to use it. The playbooks will reconfigure Ambari to use MySQL and install a cluster with all components backed by MySQL.

waltari2001 commented 6 years ago

@alexandruanghel Very helpful explanation ! Switching value to mysql fixed it for me. One last thing, if I want to custom Ranger (default) properties. Should this be done in blueprint_dynamic.j2 ?

alexandruanghel commented 6 years ago

Yes, blueprint_dynamic.j2 contains the minimum necessary configs to have a cluster install with the NEVER_APPLY config recommendation strategy.

If you want to add other custom properties, change this file or create your own blueprint_dynamic_custom.j2 and reference it via the blueprint_file variable.

waltari2001 commented 6 years ago

Thanks !