Cp-ansible: Tujuan peran confluent.variables_handlers

Dibuat pada 7 Apr 2020  ·  9Komentar  ·  Sumber: confluentinc/cp-ansible

Saya mencoba menginstal Kafka dan zookeeper yang konfluen menggunakan cabang 5.4.1-post dari repo ini.
Apa tujuan menggunakan confluent.variables_handlers sebagai peran dependen dalam peran confluent.zookeeper dan confluent.kafka. Ini menimpa variabel zookeeper di confluent.zookeeper/defaults/main.yaml, begitu pula kafka_broker di confluent.kafka /defaults/main.yaml. Saya mendapatkan kesalahan ini ketika saya menginstal kafka.

TASK [confluent.kafka_broker : Set Permissions on Data Dirs] ********
 FAILED! => {"msg": "'dict object' has no attribute 'datadir'"}
help wanted

Komentar yang paling membantu

Itu benar-benar harus menggabungkan kamus, pastikan direktori Anda saat ini saat menjalankan cp-ansible adalah root dari cp-ansible itu sendiri. Ini akan memberi Anda file ansible.cfg dengan hash_behaviour=merge

Saya akui, lokasi variabel membingungkan, dan saya berharap untuk memperbaikinya ketika saya punya waktu

Semua 9 komentar

Itu benar-benar harus menggabungkan kamus, pastikan direktori Anda saat ini saat menjalankan cp-ansible adalah root dari cp-ansible itu sendiri. Ini akan memberi Anda file ansible.cfg dengan hash_behaviour=merge

Saya akui, lokasi variabel membingungkan, dan saya berharap untuk memperbaikinya ketika saya punya waktu

Saya mencoba itu. Sekarang ketika saya menjalankan buku pedoman yang sama saya dapatkan

TASK [confluent.kafka_broker : Set Permissions on Data Dirs] ******
 {"msg": "'dict object' has no attribute 'kafka_broker'"}

Hmm aneh, bisakah Anda memberikan:

git status
git branch
cat hosts.yml

atau apa pun nama file inventaris Anda

Sehat. Saya membuatnya bekerja dengan hosts.yml ini

all:
  vars:
    ssl_enabled: false
    ssl_mutual_auth_enabled: false
    sasl_protocol: none
    kafka_broker_configure_additional_brokers: false

kafka_broker:
  vars:
    kafka_broker:
      datadir:
        - /var/lib/kafka/my-data
  hosts:
    172.XX.YY.20:

    172.XX.YY.18:

    172.XX.YY.19:

Sebelum ini, saya menambahkan kafka_broker sebagai bagian dari grup vars dalam inventaris dinamis. Itu entah bagaimana tidak bekerja. Saya sedang memeriksa itu. Terima kasih atas bantuan yang cepat.

Ya itu terlihat bagus! Saya belum mencoba inventaris dinamis, tetapi selama hash_merging diaktifkan, cp-ansible seharusnya berfungsi!

Hal lain- Saya memiliki masalah dengan validasi nama host menggunakan alamat IP, jadi jika Anda ingin mengaktifkan enkripsi, saya mungkin akan menggunakan nama host

Saya telah mengelompokkan VM Kafka saya sebagai kafka_hosts di inventaris saya, jadi mengubah nilai host di all.yaml terlihat seperti ini.

- name: Kafka Broker Provisioning
  # hosts: kafka_broker
  hosts: kafka_hosts

dan variabel grup yang ditentukan di bawah direktori inventaris seperti ini.

# File kafka_hosts.yaml
---
ssl_enabled: false
ssl_mutual_auth_enabled: false
sasl_protocol: none
kafka_broker_configure_additional_brokers: false
confluent_server_enabled: false

kafka_broker_service_environment_overrides:
  KAFKA_HEAP_OPTS: "-Xms1g -Xmx1g -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80"

kafka_broker:
  datadir:
    - /var/lib/kafka/
  auto.create.topics.enable: true
  properties:
    num.partitions: 20
    log.flush.interval.messages: 10000
    log.flush.interval.ms: 1000
    zookeeper.connection.timeout.ms: 6000
    offsets.topic.replication.factor: 2
    min.insync.replicas: 2
    default.replication.factor: 3  

Ini menghormati semua variabel kecuali peta seperti kafka_broker. Ini memberi saya kesalahan

 FAILED! => {"msg": "'dict object' has no attribute 'kafka_broker'"}

Haruskah saya selalu menamai grup sebagai kafka_broker ?

Maaf, saya seorang pemula untuk ansible. Mungkin saya kehilangan beberapa dasar.

Baru saja mengalami hal yang sama di sini - @sandeeprapido - Anda perlu memberi namespace host Anda ke kafka_broker agar ini berfungsi.

Apakah Anda masih membutuhkan bantuan dalam hal ini?

Anda dapat menambahkan tugas debug dalam kode untuk melihat seperti apa vars Anda disetel. Saya akan menambahkan ini di suatu tempat

- debug: var=kafka_broker

Konfirmasikan juga hash_merging sedang digunakan dengan ansible.cfg Anda

Saya perlu memberi nama grup Host sebagai sesuatu yang berbeda dari kafka_broker. Jadi saya membuat perubahan dalam buku pedoman. Saya menambahkan variabel kafka_broker_host_group yang menyimpan nama grup host.
Dan membuat perubahan pada file peran seperti di bawah ini.
bootstrap.servers={% for host in groups['kafka_broker'] %} mengubahnya menjadi bootstrap.servers={% for host in groups[kafka_broker_host_group] . Ini membantu saya untuk memiliki nama grup khusus.
Dan ya, pengaturan hash_behaviour untuk digabungkan membantu saya menyelesaikan bug asli yang saya buka masalah ini.

Terima kasih untuk bantuannya :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Fobhep picture Fobhep  ·  7Komentar

LGouellec picture LGouellec  ·  4Komentar

chuck-confluent picture chuck-confluent  ·  5Komentar

OneCricketeer picture OneCricketeer  ·  7Komentar

luizm picture luizm  ·  18Komentar