1. Go 설치
- Burrow를 설치하기 위해서는 Go를 설치해야 합니다. 링크를 참조해주세요.
- [Linux] 리눅스 구글 Go 언어 설치 (Go Programming Language)
2. git 설치
- OS에 맞게 yum이나 apt를 이용하여 git을 설치합니다.
[RedHat, CentOS]
# yum install git
# git --version
git version 1.8.3.1
[Ubuntu]
# apt install git
# git --version
git version 1.8.3.1
3. git clone
- git 소스를 받습니다.
- https://github.com/linkedin/Burrow
# git clone https://github.com/linkedin/Burrow.git
Cloning into 'Burrow'...
remote: Enumerating objects: 2422, done.
remote: Counting objects: 100% (180/180), done.
remote: Compressing objects: 100% (132/132), done.
remote: Total 2422 (delta 91), reused 98 (delta 48), pack-reused 2242
Receiving objects: 100% (2422/2422), 855.27 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1588/1588), done.
4. Build and Install
Go를 이용해 빌드하고 설치합니다.
[주요 명령어]
# go mod tidy
package 파일 안에 있는 go.mod 파일을 확인하여 필요 없는 의존성은 제거하고,
필요한 의존성은 추가합니다. (의존성 해결)
# go install
package 파일 안에 있는 main.go 파일을 확인하여 package를 컴파일하여 설치합니다.
1. 해당 디렉토리 접근 후 파일 확인
# cd Burrow/
# ll
합계 152
-rw-r--r--. 1 root root 9349 1월 25 15:33 CHANGELOG.md
-rw-r--r--. 1 root root 449 1월 25 15:33 Dockerfile
-rw-r--r--. 1 root root 171 1월 25 15:33 Dockerfile.gorelease
-rw-r--r--. 1 root root 11358 1월 25 15:33 LICENSE
-rw-r--r--. 1 root root 634 1월 25 15:33 Makefile
-rw-r--r--. 1 root root 1593 1월 25 15:33 NOTICE
-rw-r--r--. 1 root root 3694 1월 25 15:33 README.md
drwxr-xr-x. 2 root root 200 1월 25 15:53 config
drwxr-xr-x. 4 root root 166 1월 25 15:33 core
-rw-r--r--. 1 root root 598 1월 25 15:33 docker-compose.yml
drwxr-xr-x. 2 root root 25 1월 25 15:33 docker-config
-rw-r--r--. 1 root root 2988 1월 25 15:33 go.mod
-rw-r--r--. 1 root root 89982 1월 25 15:33 go.sum
-rw-r--r--. 1 root root 4336 1월 25 15:33 main.go
-rw-r--r--. 1 root root 655 1월 25 15:33 main_test.go
2. 의존성 문제 해결
# go mod tidy
3. 설치
go install
5. 설정
- 실행 전 설정파일 수정을 해야 합니다
- 로컬 테스트용으로 설정을 합니다. 아래의 내용을 참고해주세요.
- 자세한 설정내용은 아래의 링크를 활용해주세요.
- https://github.com/linkedin/Burrow/wiki/Configuration
# vi Burrow/config/burrow.toml
[general]
pidfile="burrow.pid"
stdout-logfile="burrow.out"
[logging]
filename="logs/burrow.log"
level="info"
maxsize=100
maxbackups=30
maxage=10
use-localtime=false
use-compression=true
[zookeeper]
servers=["localhost:2181"]
timeout=6
root-path="/burrow"
[client-profile.test]
client-id="burrow-test"
kafka-version="3.0.0"
[cluster.test]
class-name="kafka"
servers=["localhost:9092"]
client-profile="test"
topic-refresh=120
offset-refresh=30
groups-reaper-refresh=0
[consumer.test]
class-name="kafka"
cluster="test"
servers=["localhost:9092"]
client-profile="test"
group-denylist="^(console-consumer-|python-kafka-consumer-|quick-).*$"
group-allowlist=""
[httpserver.default]
address=":8000"
[storage.default]
class-name="inmemory"
workers=20
intervals=15
expire-group=604800
min-distance=1
6. 실행
[포그라운드 실행]
# $GOPATH/bin/Burrow --config-dir=/root/Burrow/config
[백그라운드 실행]
# nohup $GOPATH/bin/Burrow --config-dir=/root/Burrow/config 1> /dev/null 2>&1 &
[포트 확인]
# netstat -ntap | grep LISTEN | grep 8000 | grep -v grep
tcp6 0 0 :::8000 :::* LISTEN 18082/Burrow
7. 확인
- REST API 형태로 사용할 수 있다.
- https://github.com/linkedin/Burrow/wiki/HTTP-Endpoint
[jq 설치]
json 결과를 확인하기 쉽게 출력해주는 도구입니다. 필수는 아닙니다.
# yum install epel-release
# yum install jq
[CURL을 이용하여 테스트]
[카프카 상태 확인]
# curl -X GET localhost:8000/burrow/admin
GOOD
[정보 확인]
# curl -X GET localhost:8000/v3/kafka | jq
{
"error": false,
"message": "cluster list returned",
"clusters": [
"test"
],
"request": {
"url": "/v3/kafka",
"host": "localhost.localdomain"
}
}
[특정 클러스터 상세확인]
# curl -X GET localhost:8000/v3/kafka/test | jq
{
"error": false,
"message": "cluster module detail returned",
"module": {
"class-name": "kafka",
"servers": [
"localhost:9092"
],
"client-profile": {
"name": "test",
"client-id": "burrow-test",
"kafka-version": "3.0.0",
"tls": null,
"sasl": null
},
"topic-refresh": 120,
"offset-refresh": 30
},
"request": {
"url": "/v3/kafka/test",
"host": "localhost.localdomain"
}
}
'Backend > Kafka' 카테고리의 다른 글
[Kafka] 기본 카프카 명령어 (command-line tool) (0) | 2022.01.13 |
---|---|
[Spring for Apache Kafka] Consumer Mysql Insert (0) | 2022.01.11 |
[Spring for Apache Kafka] Error while fetching metadata with correlation id (0) | 2022.01.10 |
[Spring for Apache Kafka] Apache Kafka Producer (0) | 2022.01.09 |
[Kafka] Linux Kafka 설치 (Apache Kafka 3.0.0) (0) | 2022.01.08 |