{"id":20031330,"url":"https://github.com/goldstrike77/ansible-role-linux-zookeeper","last_synced_at":"2026-04-24T11:33:28.145Z","repository":{"id":130074064,"uuid":"226841599","full_name":"goldstrike77/ansible-role-linux-zookeeper","owner":"goldstrike77","description":"Ansible role for install and configure Zookeeper on linux operating system.","archived":false,"fork":false,"pushed_at":"2021-09-03T07:13:26.000Z","size":2583,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T17:47:50.641Z","etag":null,"topics":["ansible","ansible-role","zookeeper"],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goldstrike77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-09T10:10:07.000Z","updated_at":"2021-09-03T07:13:29.000Z","dependencies_parsed_at":"2023-04-30T19:01:34.093Z","dependency_job_id":null,"html_url":"https://github.com/goldstrike77/ansible-role-linux-zookeeper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldstrike77%2Fansible-role-linux-zookeeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldstrike77%2Fansible-role-linux-zookeeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldstrike77%2Fansible-role-linux-zookeeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldstrike77%2Fansible-role-linux-zookeeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goldstrike77","download_url":"https://codeload.github.com/goldstrike77/ansible-role-linux-zookeeper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241462112,"owners_count":19966815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-role","zookeeper"],"created_at":"2024-11-13T09:32:29.469Z","updated_at":"2026-04-24T11:33:23.123Z","avatar_url":"https://github.com/goldstrike77.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/badge/Ansible-zookeeper-green.svg?logo=angular\u0026style=for-the-badge)\n\n\u003e__Please note that the original design goal of this role was more concerned with the initial installation and bootstrapping environment, which currently does not involve performing continuous maintenance, and therefore are only suitable for testing and development purposes,  should not be used in production environments.__\n\n\u003e__请注意，此角色的最初设计目标更关注初始安装和引导环境，目前不涉及执行连续维护，因此仅适用于测试和开发目的，不应在生产环境中使用。__\n___\n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/goldstrike77/goldstrike77.github.io/master/img/logo/logo_zookeeper.png\" align=\"right\" /\u003e\u003c/p\u003e\n\n__Table of Contents__\n\n- [Overview](#overview)\n- [Requirements](#requirements)\n  * [Operating systems](#operating-systems)\n  * [Zookeeper Versions](#zookeeper-versions)\n- [ Role variables](#Role-variables)\n  * [Main Configuration](#Main-parameters)\n  * [Other Configuration](#Other-parameters)\n- [Dependencies](#dependencies)\n- [Example Playbook](#example-playbook)\n  * [Hosts inventory file](#Hosts-inventory-file)\n  * [Vars in role configuration](#vars-in-role-configuration)\n  * [Combination of group vars and playbook](#combination-of-group-vars-and-playbook)\n- [License](#license)\n- [Author Information](#author-information)\n- [Donations](#Donations)\n\n## Overview\nZooKeeper is a distributed, open-source coordination service for distributed applications. It exposes a simple set of primitives that distributed applications can build upon to implement higher-level services for synchronization, configuration maintenance, and groups and naming. It is designed to be easy to program to and uses a data model styled after the familiar directory tree structure of file systems.\n\n## Requirements\n### Operating systems\nThis Ansible role installs apache Zookeeper on linux operating system, including establishing a filesystem structure and server configuration with some common operational features, Will works on the following operating systems:\n\n  * CentOS 7\n\n### Zookeeper versions\n\nThe following list of supported the zookeeper releases:\n\n* Apache Zookeeper 3.5.8\n\n## Role variables\n### Main parameters #\nThere are some variables in defaults/main.yml which can (Or needs to) be overridden:\n\n##### General parameters\n* `zoo_version`: Specify the Zookeeper version.\n* `zoo_cluster`: Cluster name of servers that implements distribution performance.\n* `zoo_path`: Specify the Zookeeper working directory.\n* `zoo_java_home`: Environment variable to point to an installed JDK.\n\n##### JVM memory Variables\n* `zoo_jvm_xmx`: Size of the heap in MB.\n\n##### ACL Variables\n* `zoo_enable_auth`: Whether enable quorum authentication using SASL.\n* `zoo_user_super_passwd`: Administrator priviledges user password.\n* `zoo_user_client_arg`: Client authentication information.\n\n##### Listen port\n* `zoo_port.admin`: The port the embedded Jetty server listens on.\n* `zoo_port.client`: Client Port.\n* `zoo_port.jmx`: Prometheus jmx_exporter listens.\n* `zoo_port.leader`: Leader communication.\n* `zoo_port.election`: Leader election.\n\n##### System Variables\n* `zoo_arg.admin_enableServer`: Whether enable the Admin Server.\n* `zoo_arg.admin_commandURL`: The URL for listing and issuing commands relative to the root URL.\n* `zoo_arg.connections`: The maximum number of client connections.\n* `zoo_arg.user`: Zookeeper running user.\n* `zoo_arg.ulimit_nofile`: The number of files launched by systemd.\n* `zoo_arg.ulimit_nproc`: The number of processes launched by systemd.\n\n##### Service Mesh\n* `environments`: Define the service environment.\n* `datacenter`: Define the DataCenter.\n* `domain`: Define the Domain.\n* `tags`: Define the service custom label.\n* `exporter_is_install`: Whether to install prometheus exporter.\n* `consul_public_register`: Whether register a exporter service with public consul client.\n* `consul_public_exporter_token`: Public Consul client ACL token.\n* `consul_public_http_prot`: The consul Hypertext Transfer Protocol.\n* `consul_public_clients`: List of public consul clients.\n* `consul_public_http_port`: The consul HTTP API port.\n\n### Other parameters\nThere are some variables in vars/main.yml:\n\n## Dependencies\nThere are no dependencies on other roles.\n\n## Example\n\n### Hosts inventory file\nSee tests/inventory for an example.\n\n    node01 ansible_host='192.168.1.10' zoo_version='3.5.8'\n\n### Vars in role configuration\nIncluding an example of how to use your role for instance, with variables passed in as parameters) is always nice for users too:\n\n```yaml\n- hosts: all\n  roles:\n     - role: ansible-role-linux-zookeeper\n       zoo_version: '3.5.8'\n```\n\n### Combination of group vars and playbook\nYou can also use the group_vars or the host_vars files for setting the variables needed for this role. File you should change: group_vars/all or host_vars/`group_name`.\n\n```yaml\nzoo_version: '3.5.8'\nzoo_cluster: 'zk-cluster01'\nzoo_path: '/data'\nzoo_java_home: '/usr/lib/jvm/java'\nzoo_jvm_xmx: '2048'\nzoo_enable_auth: true\nzoo_user_super_passwd: 'changeme'\nzoo_user_client_arg:\n  - user: 'kafka'\n    passwd: 'changeme'\nzoo_port:\n  admin: '18080'\n  client: '2181'\n  leader: '2888'\n  election: '3888'\n  jmx: '9405'\nzoo_arg:\n  admin_enableServer: true\n  admin_commandURL: '/commands'\n  connections: '1000'\n  user: 'zookeeper'\n  ulimit_nofile: '10240'\n  ulimit_nproc: '10240'\nenvironments: 'prd'\ndatacenter: 'dc01'\ndomain: 'local'\ncustomer: 'demo'\ntags:\n  subscription: 'default'\n  owner: 'nobody'\n  department: 'Infrastructure'\n  organization: 'The Company'\n  region: 'China'\nexporter_is_install: false\nconsul_public_register: false\nconsul_public_exporter_token: '00000000-0000-0000-0000-000000000000'\nconsul_public_http_prot: 'https'\nconsul_public_http_port: '8500'\nconsul_public_clients:\n  - '127.0.0.1'\n```\n\n## License\n\n![](https://img.shields.io/badge/MIT-purple.svg?style=for-the-badge)\n\n## Author Information\nPlease send your suggestions to make this role better.\n\n## Donations\nPlease donate to the following monero address.\n\n    46CHVMbb6wQV2PJYEbahb353SYGqXhcdFQVEWdCnHb6JaR5125h3kNQ6bcqLye5G7UF7qz6xL9qHLDSAY3baagfmLZABz75\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldstrike77%2Fansible-role-linux-zookeeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoldstrike77%2Fansible-role-linux-zookeeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldstrike77%2Fansible-role-linux-zookeeper/lists"}