Looking at https://github.com/elastic/ansible-elasticsearch I am trying to install elastic search.
I have run command
ansible-galaxy install elastic.elasticsearch
Now I have the following file, I added the two parameters es_api_basic_auth_username and es_api_basic_auth_password and now trying to run the playbook.
[siddis14@adwnode1 ~]$ cat elastic.yml
- name: Elasticsearch with custom configuration
hosts: localhost
roles:
- role: elastic.elasticsearch
vars:
es_instance_name: "node1"
es_data_dirs:
- "/opt/elasticsearch/data"
es_log_dir: "/opt/elasticsearch/logs"
es_config:
node.name: "node1"
cluster.name: "custom-cluster"
discovery.zen.ping.unicast.hosts: "localhost:9301"
http.port: 9201
transport.tcp.port: 9301
node.data: false
node.master: true
bootstrap.memory_lock: true
es_scripts: false
es_templates: false
es_version_lock: false
es_heap_size: 1g
es_start_service: false
es_plugins_reinstall: false
es_api_port: 9201
es_plugins:
- plugin: ingest-geoip
proxy_host: proxy.example.com
proxy_port: 8080
es_api_basic_auth_username: elastic
es_api_basic_auth_password: elastic
when I run this I get stuck on a task error. I dont know what to do at this point
TASK [elastic.elasticsearch : RedHat - Ensure Java is installed] *********************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "The Python 2 bindings for rpm are needed for this module. If you require Python 3 support use the dnf Ansible module instead.. The Python 2 yum module is needed for this module. If you require Python 3 support use the dnf Ansible module instead."}
to retry, use: --limit @/home/siddis14/elastic.retry
PLAY RECAP ***************************************************************************************************************************************************************************
localhost : ok=14 changed=0 unreachable=0 failed=1
I was able to get further in the installation by adding hosts: es_master
Now I am getting a weird path error for java during check which doesnt make sense
TASK [elastic.elasticsearch : correct java version selected] *************************************************************************************************************************
fatal: [adwnode1.pfizer.com]: FAILED! => {"changed": false, "msg": "Specified path /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64/jre/bin/java\n/usr/lib/jvm/java-1.8.0-oracle-1.8.0.131-1jpp.1.el7_3.x86_64/jre/bin/java does not exist"}
to retry, use: --limit @/home/siddis14/elastic.retry
PLAY RECAP ***************************************************************************************************************************************************************************
adwnode1.pfizer.com : ok=16 changed=0 unreachable=0 failed=1
Looking at the path I have these files installed via rpms
[siddis14@adwnode1 ~]$ ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64/jre/bin/java
-rwxr-xr-x 1 root root 7336 Apr 13 2017 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64/jre/bin/java
[siddis14@adwnode1 ~]$ ls -l /usr/lib/jvm/java-1.8.0-oracle-1.8.0.131-1jpp.1.el7_3.x86_64/jre/bin/java
-rwxr-xr-x 1 root root 7734 Apr 6 2017 /usr/lib/jvm/java-1.8.0-oracle-1.8.0.131-1jpp.1.el7_3.x86_64/jre/bin/java
These are the rpms installed in my system
[siddis14@adwnode1 ~]$ rpm -qa | grep java-1.8.0
java-1.8.0-openjdk-devel-1.8.0.131-2.b11.el7_3.x86_64
java-1.8.0-oracle-javafx-1.8.0.131-1jpp.1.el7_3.x86_64
java-1.8.0-openjdk-headless-1.8.0.131-2.b11.el7_3.x86_64
java-1.8.0-oracle-1.8.0.131-1jpp.1.el7_3.x86_64
java-1.8.0-oracle-src-1.8.0.131-1jpp.1.el7_3.x86_64
java-1.8.0-oracle-devel-1.8.0.131-1jpp.1.el7_3.x86_64
java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64
Hi @Shahzeb_Siddiqui
Looks like you ran into a genuine bug with the ansible playbook which I have fixed in Only use the first found java version if there are multiple installed by Crazybus · Pull Request #493 · elastic/ansible-elasticsearch · GitHub. Thanks for finding and reporting it!
Since it looks like you already have java installed on this machine I think you might want to be disabling the java install from this role. You can do this by setting es_java_install: false
Taken from the additional configuration section in the readme.
es_java_install If set to false, Java will not be installed. (true (default) or false)