Zookeeper+kafka 3 노드 클러스터 배포 안내서

4854 단어

Zookeeper+kafka 3 노드 클러스터 배포 안내서


이 소프트웨어 버전은 jdk-8,zookeeper-3.4.14,kafka-2.3, 네트워크 환경: 아리운 내망 & 외망(인터넷)
서버 이름
kafka 네트워킹 IP:PORT
kafka 외부 네트워크 IP:PORT
zookeeper 네트워킹 IP: PORT
KAFKA01
192.168.1.157:9092
116.151.157.185:19092
192.168.1.157:2181
KAFKA02
192.168.1.158:9092
116.151.157.185:29092
192.168.1.157:2181
KAFKA03
192.168.3.159:9092
116.151.157.185:39092
192.168.1.157:2181
상기 외부 네트워크 주소는 각자의 내부 네트워크 주소를 SLB에서 단독으로 감청하여 #### 업데이트 및 설치 시스템 소프트웨어yumupdate-yyum-y install epel-release make gcc gcc-c+curl wget git zip unzip xzvim perl sysstat lsof lvm2

jdk8 설치


jdk 다운로드
wget http://61.160.245.8:6001/jdk-8u102-linux-x64.tgz
tar zxf jdk-8u102-linux-x64.tgz

압축을 풀고 디렉터리/usr/java/아래로 이동
mv jdk1.8.0_102/ /usr/local/java

JDK 환경 변수 구성
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

hosts 수정
192.168.1.157   KAFKA01    KAFKA01
192.168.1.158   KAFKA02     KAFKA02
192.168.3.159   KAFKA03     KAFKA03

zookeeper 설치


zookeeper 다운로드
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

새 디렉토리 및 설치
mkdir /opt/bigdata
tar -zxvf  zookeeper-3.4.14.tar.gz  -C /opt/bigdata

프로필 복사
cd /opt/bigdata/zookeeper-3.4.14/
cp conf/zoo_sample.cfg  conf/zoo.cfg

프로필 zoo를 수정합니다.cfg는 다음과 같습니다.
dataDir=/opt/bigdata/data/zookeeper/zkdata
dataLogDir=/opt/bigdata/data/zookeeper/zkdatalog
server.1=KAFKA01:2888:3888
server.2=KAFKA02:2888:3888
server.3=KAFKA03:2888:3888

myid 파일 만들기
mkdir -vp /opt/bigdata/data/zookeeper/zkdata
echo x > /opt/bigdata/data/zookeeper/zkdata/myid

참고: x는 호스트의 번호를 나타냅니다. 반복할 수 없습니다.
구성 환경 변수 (호스트마다 구성해야 함)
vim /etc/profile
#set java environment   , append
export ZOOKEEPER_HOME=/opt/bigdata/zookeeper-3.4.14
export PATH=$ZOOKEEPER_HOME/bin:$PATH

구성 적용
. /etc/profile

서비스 시작
cd /opt/bigdata/zookeeper-3.4.14
bin/zkServer.sh start

상태 보기
bin/zkServer.sh status

주의:zk집단은 일반적으로 하나의leader, 여러 개의follower만 있고 주인은 클라이언트의 읽기와 쓰기 요청에 응답하며 동기화 데이터에서 주인이 끊으면follower에서 투표하여leader를 선출합니다.
클라이언트 연결
zkCli.sh

설치 구성 kafka


스트레스 해소 kafka 다운로드
wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz
tar -zxvf kafka_2.11-2.3.0.tgz
mv kafka_2.11-2.3.0 /opt/kafka

서버를 수정합니다.properties
broker.id=1 ### broker.id , 1 、2、3
delete.topic.enable=true ### , topic, 
listeners=PLAINTEXT://kafka IP:PORT ### 
advertised.listeners=PLAINTEXT://kafka IP:PORT  # 
log.dirs=/opt/kafka-logs
zookeeper.connect=KAFKA01:2181,KAFKA02:2181,KAFKA03:2181
# , log.retention.hours=168  :
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880

검증


사고방식: 다음과 같은 몇 가지kafka 지령을 제시한다.하나의 topic을 만들고 하나의 노드는 생산자로, 두 노드는 소비자로서 각각 데이터를 수신할 수 있는지를 보고 검증한다.
부팅
cd /opt/kafka
bin/kafka-server-start.sh -daemon config/server.properties &

topic 만들기 및 보기
bin/kafka-topics.sh -list -zookeeper  KAFKA01:2181
bin/kafka-topics.sh --create --zookeeper  KAFKA01:2181 --replication-factor 1 --partitions 1  --topic myTopic # 
bin/kafka-topics.sh --create --zookeeper  KAFKA01:2181 --replication-factor 3 --partitions 3  --topic myTopic # 

생산자를 개척하다
bin/kafka-console-producer.sh --broker-list KAFKA01:9092 --topic myTopic

소비자를 열다
bin/kafka-console-consumer.sh --bootstrap-server KAFKA01:9092 --topic myTopic --from-beginning 
bin/kafka-console-consumer.sh --bootstrap-server KAFKA02:9092 --topic myTopic --from-beginning 
bin/kafka-console-consumer.sh --bootstrap-server KAFKA03:9092 --topic myTopic --from-beginning 
 
bin/kafka-console-consumer.sh --bootstrap-server 116.151.157.185:19092 --topic myTopic --from-beginning

추가 kafka 명령


topic 세부 정보 보기
bin/kafka-topics.sh -zookeeper PORTAL-KAFKA02:2181 --describe --topic myTopic

토픽에 대한 던전 추가
bin/kafka-reassign-partitions.sh --zookeeper PORTAL-KAFKA01:2181 --reassignment-json-file  json/partitions-to-move.json -execute

토픽 삭제
bin/kafka-topics.sh --zookeeper PORTAL-KAFKA01:2181 --delete --topic  myTopic

kafka 닫기
bin/kafka-server-stop.sh

좋은 웹페이지 즐겨찾기