Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced config #137

Merged
merged 4 commits into from
Jun 17, 2021
Merged

Advanced config #137

merged 4 commits into from
Jun 17, 2021

Conversation

mmergo-cd
Copy link
Collaborator

@mmergo-cd mmergo-cd commented Jun 17, 2021

W tej chwili można odpalić Kouncila na dwa sposoby:

  1. Po staremu, podając bootstrapServers
  2. Dostarczając plik z konfiguracją

bootstrapServers wygląda jak wcześniej, czyli oddzielona przecinkiem lista, np odpalajać spring boota bezpośrednio z kodów

mvn spring-boot:run -Dspring-boot.run.arguments="--bootstrapServers=uber.poczta:9092,kouncil.consdata.local:8001"

plik z konfiguracją odpalając kody bezpośrednio ze spring boota można dostarczyć tak

mvn spring-boot:run -Dspring-boot.run.arguments="--spring.config.name=kouncil --spring.config.additional-location=./"

Pod podaną ścieżką musi wtedy istnieć plik kouncil.yaml (względnie kouncil.properties)

Przykładowy i działający plik z konfiguracją wygląda tak:

kouncil:
  clusters:
    - name: uber
      brokers:
        - host: uber.poczta.consdata.local
          port: 9092
          jmxPort: 5088
        - host: uber.poczta.consdata.local
          port: 9093
          jmxPort: 5089
        - host: uber.poczta.consdata.local
          port: 9094
          jmxPort: 5090
    - name: kouncil
      brokers:
        - host: kouncil.consdata.local
          port: 8001
        - host: kouncil.consdata.local
          port: 8002
    - name: local
      brokers:
        - host: 172.19.132.145
          port: 9092
          jmxPort: 8011
          jmxUser: admin
          jmxPassword: q1w2e3r4

Jak to odpalić z dockera?

wersja z bootstrapServers działa tak samo jak wcześniej:

docker run -p 8080:8080 -e bootstrapServers="172.19.123.3:9092" consdata/kouncil:latest

a żeby dostarczyć plik konfiguracyjny, wystarczy podmontować z zewnątrz katalog, w którym będzie siedział kouncil.yaml:

docker run -p 8080:8080 -v /home/users/mmergo/Kouncil/kafka/config/:/config/ consdata/kouncil:latest

Co można zrobić w pliku konfiguracyjnym?

przede wszystkim, na poziomie konkretnego brokera można podać trzy rzeczy:

  1. jmxPort
  2. jmxUser
  3. jmxPassword

są chyba self-explanatory ;)

Natomiast, każdą z tych trzech rzeczy można też podać na poziomie clustra, i zostanie wtedy automagicznie przepropagowana na brokery w klastrze. Załóżmy, że klaster ma wszędzie te same jmxUser i jmxPassword, ale różne porty:

kouncil:
  clusters:
    - name: uber
      jmxUser: user
      jmxPassword: password
      brokers:
        - host: uber.poczta.consdata.local
          port: 9092
          jmxPort: 5088
        - host: uber.poczta.consdata.local
          port: 9093
          jmxPort: 5089
        - host: uber.poczta.consdata.local
          port: 9094
          jmxPort: 5090

W tej wersji user i hasło spropagują się na brokery

@mmergo-cd mmergo-cd requested a review from ynleborg June 17, 2021 11:23
@mmergo-cd mmergo-cd merged commit 971fe86 into master Jun 17, 2021
@ynleborg ynleborg deleted the advanced_config branch June 21, 2021 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants