Cp-ansible: الغرض من دور Confluent.variables_handlers

تم إنشاؤها على ٧ أبريل ٢٠٢٠  ·  9تعليقات  ·  مصدر: confluentinc/cp-ansible

أحاول تثبيت Kafka و zookeeper المتكدسين باستخدام فرع آخر 5.4.1 من هذا الريبو.
ما هو الغرض من استخدام confluent.variables_handlers كدور تابع في أدوار confluent.zookeeper و confluent.kafka. هذا يتجاوز متغير zookeeper في confluent.zookeeper / defaults / main.yaml ، وبالمثل kafka_broker في confluent.kafka /defaults/main.yaml. أحصل على هذا الخطأ عندما أقوم بتثبيت kafka.

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

التعليق الأكثر فائدة

يجب أن تدمج القواميس بالفعل ، تأكد من أن الدليل الحالي عند تشغيل cp-ansible هو جذر cp-ansible نفسه. سيكسبك هذا ملف ansible.cfg بـ hash_behaviour=merge

أعترف أن موقع المتغيرات محير ، وآمل أن أحسنه عندما يكون لدي الوقت

ال 9 كومينتر

يجب أن تدمج القواميس بالفعل ، تأكد من أن الدليل الحالي عند تشغيل cp-ansible هو جذر cp-ansible نفسه. سيكسبك هذا ملف ansible.cfg بـ hash_behaviour=merge

أعترف أن موقع المتغيرات محير ، وآمل أن أحسنه عندما يكون لدي الوقت

حاولت ذلك. الآن عندما أدير نفس قواعد اللعبة التي أحصل عليها

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

حسنًا ، هل يمكنك تقديم:

git status
git branch
cat hosts.yml

أو أيا كان اسم ملف الجرد الخاص بك

حسنا. لقد حصلت عليه بالعمل مع هذا hosts.yml

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:

قبل ذلك ، أضفت kafka_broker كجزء من متغيرات المجموعة في المخزون الديناميكي. كان بطريقة ما لا يعمل. أنا أتحقق من ذلك. شكرا للمساعدة السريعة.

يا هذا يبدو جيدا! لم أجرب قوائم الجرد الديناميكية ، ولكن طالما تم تمكين hash_merging ، يجب أن يعمل cp-ansible!

شيء آخر - لقد واجهت مشاكل في التحقق من اسم المضيف باستخدام عناوين IP ، لذلك إذا كنت تسير في اتجاه تشغيل التشفير ، فمن المحتمل أن أستخدم أسماء المضيف

لقد جمعت أجهزة Kafka الافتراضية الخاصة بي على أنها kafka_hosts في مخزوني ، لذا فإن تغيير قيم المضيفين في all.yaml يبدو هكذا.

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

ومتغيرات المجموعة المحددة تحت دليل الجرد مثل هذا.

# 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  

هذا يحترم جميع المتغيرات باستثناء الخرائط مثل kafka_broker. يعطيني الخطأ

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

هل يجب علي دائمًا تسمية المجموعة باسم kafka_broker ؟

آسف ، أنا مبتدئ في الجوهر. ربما أفتقد بعض الأساسيات.

مررت للتو بنفس الشيء هنا

هل مازلت بحاجة للمساعدة في هذا؟

يمكنك إضافة مهام التصحيح في التعليمات البرمجية لمعرفة ما تم تعيين المتغيرات الخاصة بك عليه. أود أن أضيف هذا في مكان ما

- debug: var=kafka_broker

تأكد أيضًا من استخدام hash_merging مع ملفك ansible.cfg

كنت بحاجة إلى تسمية المجموعة المضيفة بشيء مختلف عن kafka_broker. لذلك قمت بإجراء تغيير في قواعد اللعبة. أضفت متغيرًا kafka_broker_host_group يحمل اسم المجموعة المضيفة.
وقم بإجراء تغييرات على ملفات الأدوار مثل أدناه.
bootstrap.servers={% for host in groups['kafka_broker'] %} بتغييره إلى bootstrap.servers={% for host in groups[kafka_broker_host_group] . ساعدني هذا في الحصول على أسماء مجموعة مخصصة.
ونعم ، لقد ساعدني تعيين hash_behaviour للدمج في حل الخطأ الأصلي الذي فتحت هذه المشكلة من أجله.

شكرا للمساعدة :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات