Cp-ansible: confluent.variables_handlers рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЕрдкреНрд░реИрд▓ 2020  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: confluentinc/cp-ansible

рдореИрдВ рдЗрд╕ рд░реЗрдкреЛ рдХреА 5.4.1-рдкреЛрд╕реНрдЯ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд┐рд▓рд╛ рд╣реБрдЖ рдХрд╛рдлреНрдХрд╛ рдФрд░ рдЬрд╝реВрдХреАрдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
confluent.variables_handlers рдХреЛ confluent.zookeeper рдФрд░ confluent.kafka рднреВрдорд┐рдХрд╛рдУрдВ рдореЗрдВ рдЖрд╢реНрд░рд┐рдд рднреВрдорд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИред рдпрд╣ рдУрд╡рд░рд░рд╛рдЗрдб confluent.zookeeper / рдЪреВрдХ / main.yaml рдореЗрдВ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рд╕рдВрдЪрд╛рд▓рдХ рдЪрд░, рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ kafka_broker рдореЗрдВ confluent.kafka /defaults/main.yamlред рдЬрдм рдореИрдВ рдХрд╛рдлреНрдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

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

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ cp-ansible рдЪрд▓рд╛рддреЗ рд╕рдордп рдЖрдкрдХреА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ cp-ansible рдХреА рдЬрдбрд╝ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ hash_behaviour=merge рд╕рд╛рде ansible.cfg рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ, рдЪрд░реЛрдВ рдХрд╛ рд╕реНрдерд╛рди рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реЛрдЧрд╛ рддреЛ рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реВрдБрдЧрд╛

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ cp-ansible рдЪрд▓рд╛рддреЗ рд╕рдордп рдЖрдкрдХреА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ cp-ansible рдХреА рдЬрдбрд╝ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ hash_behaviour=merge рд╕рд╛рде ansible.cfg рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ, рдЪрд░реЛрдВ рдХрд╛ рд╕реНрдерд╛рди рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реЛрдЧрд╛ рддреЛ рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реВрдБрдЧрд╛

рдореИрдВрдиреЗ рд╡рд╣ рдХреЛрд╢рд┐рд╢ рдХреАред рдЕрдм рдЬрдм рдореИрдВ рд╡рд╣реА рдкреНрд▓реЗрдмреБрдХ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ

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

рд╣рдореНрдо рдЕрдЬреАрдм, рдХреНрдпрд╛ рдЖрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

git status
git branch
cat hosts.yml

рдпрд╛ рдЬреЛ рднреА рдЖрдкрдХреА рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИ

рдХреБрдВрдЖред рдореБрдЭреЗ рдпрд╣ рдЗрд╕ host.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 рдХреЛ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдореЗрдВ рдЧреНрд░реБрдк

рд╣рд╛рдБ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ! рдореИрдВрдиреЗ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рд╣реИрд╢_рдорд░реНрдЬрд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реИ cp-ansible рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!

рдПрдХ рдФрд░ рдмрд╛рдд- рдореБрдЭреЗ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрд╕реНрдЯрдирд╛рдо рд╕рддреНрдпрд╛рдкрди рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдореИрдВ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдлреНрдХрд╛ рд╡реАрдПрдо рдХреЛ рдЕрдкрдиреА рд╕реВрдЪреА рдореЗрдВ 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 рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ ansible рдХреЗ рд▓рд┐рдП рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдБред рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИрдВред

рдмрд╕ рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ - @sandeeprapido - рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ kafka_broker рдореЗрдВ рдирд╛рдо рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдорджрдж рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ?

рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдбреАрдмрдЧ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдХрд╣реАрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛

- debug: var=kafka_broker

рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╣реИрд╢_рдорд░реНрдЬрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ 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] рдмрджрд▓ рджрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдХрд╕реНрдЯрдо рд╕рдореВрд╣ рдирд╛рдо рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реАред
рдФрд░ рд╣рд╛рдВ, рд╣реИрд╢_рдмрд┐рд╣реЗрд╡рд┐рдпрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рдЙрд╕ рдореВрд▓ рдмрдЧ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реА рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рд╛ рдерд╛ред

рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

chuck-confluent picture chuck-confluent  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Fobhep picture Fobhep  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Fobhep picture Fobhep  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Fobhep picture Fobhep  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Fobhep picture Fobhep  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ