рддреАрди-рдиреЛрдб рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░рдХреАрдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЕрдкрд╛рдЪреЗ рдХрд╛рдлреНрдХрд╛ рджрд▓рд╛рд▓

рдЕрдЪреНрдЫрд╛ рджрд┐рди!

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рддреАрди рдЬрд╝реВрдХреЗрд░ рдиреЛрдбреНрд╕ (рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рд╕рдордиреНрд╡рдп рд╕реЗрд╡рд╛) рдХрд╛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ , рдЬрд┐рдирдореЗрдВ рд╕реЗ рджреЛ рдХрд╛рдлреНрдХрд╛ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╣реИрдВ , рдФрд░ рддреАрд╕рд░рд╛ рдкреНрд░рдмрдВрдзрдХ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рдпреЛрдЬрдирд╛ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рдПрдЧреА:

рдЫрд╡рд┐

рдПрдХ рдорд╢реАрди рдкрд░ рд╕рднреА рдШрдЯрдХ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдВрд╕реЛрд▓ рдкреНрд░рдХрд╛рд╢рдХ (рдирд┐рд░реНрдорд╛рддрд╛) рдФрд░ рдЧреНрд░рд╛рд╣рдХ (рдЙрдкрднреЛрдХреНрддрд╛) рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░рдХреАрдкрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛рдлреНрдХрд╛ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк


рдХрд╛рдлреНрдХрд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕ рд╣реИред

рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИрдВ ред

wget http://mirror.linux-ia64.org/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgz
tar -xvzf kafka_2.12-2.4.1.tgz 

рддреАрди рдиреЛрдбреНрд╕ рд╕рд░реНрд╡рд░_1, рд╕рд░реНрд╡рд░_2 рдФрд░ рд╕рд░реНрд╡рд░_3 рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред

mv kafka_2.12-2.4.1 kafka_server_1
cp -r kafka_server_1/ kafka_server_2/
cp -r kafka_server_1/ kafka_server_3/

рдиреЛрдбреНрд╕

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдПрдХ рдХрд╛рдлреНрдХрд╛ рдмреНрд░реЛрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
(рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ kafka_server_1, kafka_server_2 рдФрд░ kafka_server_3 рд╕реЗ рдХреНрд░рдорд╢рдГ)

vim config/server.properties

  • рджрд▓рд╛рд▓ рдЖрдИрдбреА (0, 1, 2 рдХреНрд░рдорд╢рдГ)
  • рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ (9092, 9093, 9094)
  • рдЬрд╝реВрдХрд┐рдкрд░ рдкреЛрд░реНрдЯ (2181, 2182, 2183)
  • рд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ tmp / kafka-log-1, / tmp / kafka-log-2, / tmp / kafka-log-3)

broker.id=0
listeners=PLAINTEXT://:9092
zookeeper.connect=localhost:2181   
log.dirs=/tmp/kafka-logs-1

Znode рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди:

vim config/zookeeper.properties

  • рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ tmp / zookeeper_1, / tmp / zookeeper_2, / tmp / zookeeper_3)
  • рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ (2181, 2182, 2183)
  • рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реАрдорд╛ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛
  • рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ (рдпрд╛рдиреА, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ)

dataDir=/tmp/zookeeper_1
clientPort=2181
maxClientCnxns=60
initLimit=10
syncLimit=5
tickTime=2000
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░рдХреА рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдирд╛, рдиреЛрдб рдЖрдИрдбреА рдХреЛ рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рд┐рдЦрдирд╛:

mkdir -p /tmp/zookeeper_[1..3]
echo "1" >> /tmp/zookeeper_1/myid
echo "2" >> /tmp/zookeeper_2/myid
echo "3" >> /tmp/zookeeper_3/myid

рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВ:

sudo chmod 777 /tmp/zookeeper_1

рдЬрд╝реЗрдб-рдиреЛрдбреНрд╕ рдФрд░ рдмреНрд░реЛрдХрд░реНрд╕ рдЪрд▓рд╛рдирд╛


рдкрд╣рд▓реЗ рджреЛ рдиреЛрдбреНрд╕ (kafka_server_1 /, kafka_server_2 /) рдХреЗ рд▓рд┐рдП, рдЬрд╝реВрдХреЗрдкрд░ рдФрд░ рдХрд╛рдлреНрдХрд╛-рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдЪрд▓рд╛рдПрдВ, рддрд░реНрдХ рд╕рдВрдЧрдд рдХреЙрдиреНрдлрд┐рдЧрд░ рдлрд╛рдЗрд▓ рд╣реИрдВ:

sudo bin/zookeeper-server-start.sh config/zookeeper.properties
sudo bin/kafka-server-start.sh config/server.properties

рддреАрд╕рд░реЗ рдиреЛрдб рдХреЗ рд▓рд┐рдП (kafka_server_3 /) - рдХреЗрд╡рд▓ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХреАрдкрд░ред

рд╕рд░реНрд╡рд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

sudo bin/kafka-server-stop.sh
sudo bin/zookeeper-server-stop.sh

рдПрдХ рдереАрдо рдмрдирд╛рдирд╛, рдХрдВрд╕реЛрд▓ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛


рд╡рд┐рд╖рдп (рд╡рд┐рд╖рдп) - рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдзрд╛рд░рд╛, рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд (рдорд╛рддреНрд░рд╛- the - рдХреБрдВрдЬреА рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЧрдИ рд╣реИ)ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди рдХреЛ рджреЛ рд╕рд░реНрд╡рд░ (--replication-factor) рдкрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред --Bootstrap-server рдХреБрдВрдЬреА рдХреЗ рдмрд╛рдж, рдХреЙрдорд╛ рджреНрд╡рд╛рд░рд╛ рджрд▓рд╛рдП рдЧрдП рдХрд╛рдлреНрдХрд╛ рджрд▓рд╛рд▓реЛрдВ рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред Thetopic рд╕реНрд╡рд┐рдЪ рд╡рд┐рд╖рдп рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

sudo bin/kafka-topics.sh --create --bootstrap-server localhost:9092,localhost:9093 --replication-factor 2 --partitions 2 --topic TestTopic

рдкреЛрд░реНрдЯ рдкрд░ рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕реВрдЪреА рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрдорд╛рдВрдб рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

sudo bin/kafka-topics.sh --list --zookeeper localhost:2181           
sudo bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic TestTopic

рд▓реАрдбрд░ - рд╡рд┐рднрд╛рдЬрди рдХреЗ рдореБрдЦреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд░, рдкреНрд░рддрд┐рдХреГрддрд┐ - рд╕рд░реНрд╡рд░ рдЬрд┐рд╕ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реИ, ISR - рд╕рд░реНрд╡рд░ рдЬреЛ рдиреЗрддрд╛ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдиреЗрддрд╛рдУрдВ рдХреА рднреВрдорд┐рдХрд╛ рдкрд░ рд▓реЗрддреЗ рд╣реИрдВред

рд╣рдо рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдбреНрдпреВрд╕рд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХрдВрдЬрд╝реНрдпреВрдорд░ рдХреЛ рдЙрдкрдпреБрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрд╕реЛрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:

sudo bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic TestTopic
sudo bin/kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093 --from-beginning --topic TestTopic

рдпрд╣ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдирд┐рд░рдВрддрд░ рдкреНрд░рд╕рд╛рд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджрд▓рд╛рд▓ рджреВрд╕рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдЬреБрдХреНрд╡рд┐рдЯрд░ рдФрд░ рдХрд╛рдлреНрдХрд╛ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдВ


рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк systemctl рдореЗрдВ рд╕реЗрд╡рд╛рдПрдБ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ: zookeeper_1.service, zookeeper_2.service, zookeeper_3.service, kafka_1.service, kafka_2.serviceред

рд╣рдо рдлрд╝рд╛рдЗрд▓ /etc/systemd/system/zookeeper_1.service (рдЖрд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рд╣реЛрдо / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрджрд▓реЗрдВ) рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
User=user
ExecStart=home/user/kafka_server_1/bin/zookeeper-server-start.sh /home/user/kafka_server_1/config/zookeeper.properties
ExecStop=/home/user/kafka_server_1/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП zookeeper_2.service рдФрд░ zookeeper_3.service рд╕рдорд╛рди рд╣реИред

рдлрд╝рд╛рдЗрд▓ /etc/systemd/system/kafka_1.service:
[Unit]
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
User=user
ExecStart=/bin/sh -c '/home/user/kafka_server_1/bin/kafka-server-start.sh /home/user/kafka_server_1/config/server.properties > /tmp/kafka-logs-1 2>&1'
ExecStop=/home/user/kafka_server_1/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

kafka_2.service рд╕рдорд╛рди рд╣реИред

рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕рдХреНрд░рд┐рдпрдг рдФрд░ рд╕рддреНрдпрд╛рдкрди

systemctl daemon-reload
systemctl enable zookeeper_1.service #  
systemctl start zookeeper_1.service
sudo journalctl -u zookeeper_1.service #   
systemctl stop zookeeper_1.service

рд╡рд╣реА zookeeper_2.service, zookeeper_3.service, kafka_1.service, kafka_1.service рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

All Articles