Kafta는 Kafka 클러스터를 관리하기 위한 최신 비JVM 명령줄입니다.
4825 단어 gomicroservicesproductivitykafka
Kafta는 개발자를 위해 개발자에 의해 만들어졌습니다. 우리는 apache-kafka에서 제공하는 bash를 사용하여 kafka 클러스터를 유지 관리하는 고통을 느끼고 있으며 혼란스럽고 경험이 비참합니다. 카프카의 채택을 촉진하기 위해 카프타가 탄생하기 시작했습니다. Kafta는 설치하기 쉽고 구성하기 쉽고 사용하기 쉬운 golang 프로젝트입니다.
개요
Kafta는 명령, 인수 및 플래그의 구조를 기반으로 합니다. Kafta는 항상 한 번에 하나의 클러스터에서 상호 작용할 것입니다. 그 이유는 kafka에 대한 대부분의 명령줄과 마찬가지로 각 명령에 어떤 클러스터가 있는지 전달할 필요가 없기 때문입니다.
존재하는 모든 명령을 보려면 다음을 실행하십시오.
$ kafta
Usage:
kafta [command]
Available Commands:
broker broker management
cluster cluster management
completion Output shell completion code
config Modify config files
console Console management
consumer Consumer group management
help Help about any command
schema Schema Registry management
topic Topics management
version Print the kafta version
Flags:
--context string The name of the kafkaconfig context to use
-d, --debug Debug mode
-h, --help help for kafta
--kafkaconfig string Path to the kafkaconfig file to
Use "kafta [command] --help" for more information about a command.
모든 옵션이 동일한 명령과 관련되어 있는지 확인하려면 다음을 실행하십시오.
$ kafta topic
Topics management
Usage:
kafta topic [command]
Available Commands:
create Create topics
delete Delete topics
describe Describe a topic
list List topics
간단한 명령
Kafta는 다른 cli와 매우 유사하며 "이 명령의 구문이 무엇인지"를 생각하지 않도록 만들어졌습니다. 좋은 예는 주제를 만드는 것입니다. 매우 간단합니다. 이 명령을 실행하십시오.
$ kafta topic create my-topic --rf 3 --partitions 10
Topic created
그게 다야! 주제가 생성되었습니다.
파티션과 리플리케이션 팩터에 대한 기본값이 있기 때문에 RF나 파티션을 지정하지 않고만 사용할 수 있습니다. 주제는 RF=3 및 파티션=10으로 생성됩니다. 예시:
$ kafta topic create my-topic
Topic created
설치 중
go get을 사용하여 최신 버전을 설치합니다. 이 명령은 라이브러리 및 해당 종속성과 함께 Kafta 실행 파일을 설치합니다.
이동 < 1.18:
go get -u github.com/electric-saw/kafta
이동 >= 1.18: go install github.com/electric-saw/kafta/cmd/kafta@latest
원하는 경우 바이너리만 download 컴퓨터에서 원하는 위치에서 실행할 수 있습니다.
컨텍스트 및 구성
Kafta는
~/.kafta/config
에 구성 파일을 생성합니다. 이 yaml은 kafka 다중 클러스터를 지원하고 매번 모든 주소를 전달하지 않도록 하는 데 사용됩니다.Kafta의 각 클러스터는 컨텍스트라고 합니다. Kafta의 제안은 단순한 Kafka 관리자 이상이 되어 스키마 레지스트리 관리, 연결 및 Kafka 환경의 다른 부분을 생각하는 것입니다. 우리는 이 그룹을 컨텍스트라고 합니다.
새 컨텍스트를 설정하려면 Kafta를 통해 새 구성을 만들고 정보를 제공해야 합니다. 걱정하지 마세요. 모두 터미널에 있으므로 XML을 편집할 필요가 없습니다.\o/
예를 따르십시오.
$ kafta config set-context production
Bootstrap servers: b-1.mydomain:9092,b-2.mydomain:9092,b-3.mydomain:9092
Schema registry: https://schema-registry.com
Use SASL: y
SASL Algorithm: sha512
User: myuser
✔ Password: ******
컨텍스트를 나열하려면 다음을 실행하십시오.
$ kafta config get-contexts
+---------------+---------------------------+-----------------------------+------+---------+
| NAME | CLUSTER | SCHEMA REGISTRY | KSQL | CURRENT |
+---------------+---------------------------+-----------------------------+------+---------+
| dev | b-1.mydomain:9092 | https://schema-registry.com | | true |
| production | b-3.productiondomain:9092 | https://schema-registry.com | | false |
+---------------+---------------------------+-----------------------------+------+---------+
이 부분이 카프타의 차별점입니다. 클러스터가 많은 환경을 위해 설계되었으며 한 클러스터에서 다른 클러스터로 쉽게 이동할 수 있어야 합니다. 현재 클러스터를 변경하려면 다음을 실행합니다.
$ kafta config use-context production
Switched to context "production".
기타 명령
Kafta에는 여러 명령이 있으며 프로젝트의 README 에서 예제를 찾을 수 있습니다. 다음과 같은 몇 가지 명령이 있습니다.
기부금
Kafta는 매우 새롭고 많은 것을 변경하고 만들 수 있는 많은 기회가 있습니다. 기능을 만드는 데 관심이 있는 경우 새 문제를 열고 대화를 시작하세요. 그럴 시간이 없다면 프로젝트를 공유하고 마음에 든다면 별표를 클릭하세요 ;)
Reference
이 문제에 관하여(Kafta는 Kafka 클러스터를 관리하기 위한 최신 비JVM 명령줄입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lucasviecelli/kafta-is-a-modern-non-jvm-command-line-for-managing-kafka-clusters-12hh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)