ELK6xKafka 安装配置文档 V10文档格式.docx
- 文档编号:427968
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:43
- 大小:544.99KB
ELK6xKafka 安装配置文档 V10文档格式.docx
《ELK6xKafka 安装配置文档 V10文档格式.docx》由会员分享,可在线阅读,更多相关《ELK6xKafka 安装配置文档 V10文档格式.docx(43页珍藏版)》请在冰点文库上搜索。
Logstash和kibana为单独部署;
角色
IP
Hostname
kafka/zookeeper
192.168.222.211
kafka1
192.168.222.212
kafka2
192.168.222.213
kafka3
elasticsearch
192.168.222.214
esnode1
192.168.222.215
esnode2
192.168.222.216
esnode3
logstash/filebeat
192.168.222.217
logstash1
kibana
192.168.222.218
kibana1
2.环境准备
2.1.基础配置配置
根据环境描述修改配置主机ip
修改hostname
hostnamectlset-hostnameesnodeX
修改hosts配置
vi/etc/hosts
192.168.222.211kafka1
192.168.222.212kafka2
192.168.222.213kafka3
192.168.222.214esnode1
192.168.222.215esnode2
192.168.222.216esnode3
192.168.222.217logstash1
192.168.222.218kibana1
2.2.修改系统配置
需要在ES节点上配置即可
vi/etc/security/limits.conf
在末尾加入
*softcore102400
*hardcore102400
*hardnofile655360
*softnofile655360
*hardnproc32768
*softnproc32768
*softmemlockunlimited
*hardmemlockunlimited
vi/etc/security/limits.d/90-nproc.conf(Linux7为20-nproc.conf)
*softnproc4096
rootsoftnprocunlimited
调整虚拟内存&
最大并发连接
vi/etc/sysctl.conf
vm.max_map_count=655360
vm.swappiness=0
修改完成后sysctl-p使配置生效
2.3.安装jdk
在所有节点安装jdk
mkdir/usr/local/java
cd/root/
tarzxfjdk-8u131-linux-x64.tar.gz-C/usr/local/java/
确认java版本
ls/usr/local/java/
jdk1.8.0_131
vi/etc/profile
...
exportJAVA_HOME=/usr/local/java/jdk1.8.0_131/
exportPATH=$PATH:
$JAVA_HOME/bin
source/etc/profile
java-version
javaversion"
1.8.0_131"
Java(TM)SERuntimeEnvironment(build1.8.0_131-b11)
JavaHotSpot(TM)64-BitServerVM(build25.131-b11,mixedmode)
3.安装配置kafka集群
由于zookeeper集群要求节点数>
=3,所以安装kafka必须要3台以上。
3.1.安装配置zookeeper
在kafka1、kafka2、kafka3节点上操作。
3.1.1.创建zookeeper数据目录
mkdir-p/data/zookeeper
3.1.2.解压安装zookeeper
tarzxfzookeeper-3.4.14.tar.gz-C/opt/
cd/opt/zookeeper-3.4.14/conf/
3.1.3.配置zookeeper
cpzoo_sample.cfgzoo.cfg
vizoo.cfg
#修改dataDir配置、添加server信息
dataDir=/data/zookeeper
server.1=kafka1:
2888:
3888
server.2=kafka2:
server.3=kafka3:
tickTime:
这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。
2888端口:
表示的是这个服务器与集群中的Leader服务器交换信息的端口;
3888端口:
表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
#指定zookeeperID(不能与其他节点相同,kafka1:
1、kafka2:
2、kafka3:
3)
[root@kafka1conf]#vi/data/zookeeper/myid
1
[root@kafka2conf]#vi/data/zookeeper/myid
2
[root@kafka3conf]#vi/data/zookeeper/myid
3
3.1.4.启动zookeeper
#启动zookeeper
配置完成后,在三个节点startzookeeper
/opt/zookeeper-3.4.14/bin/zkServer.shstart
#停止zookeeper
/opt/zookeeper-3.4.14/bin/zkServer.shstop
3.1.5.查看zookeeper状态
#需要在kafka启动后查询
[root@kafka1~]#/opt/zookeeper-3.4.14/bin/zkServer.shstatus
ZooKeeperJMXenabledbydefault
Usingconfig:
/opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode:
follower
[root@kafka2~]#/opt/zookeeper-3.4.14/bin/zkServer.shstatus
[root@kafka3~]#/opt/zookeeper-3.4.14/bin/zkServer.shstatus
leader
#日志和pid位于dataDir目录下
[root@kafka1zookeeper]#ls/data/zookeeper/
myidversion-2zookeeper.outzookeeper_server.pid
3.2.安装配置kafka
3.2.1.创建kafka目录
mkdir-p/data/kafka
3.2.2.解压安装kafka
tarzxfkafka_2.12-2.3.0.tgz-C/opt/
cd/opt/kafka_2.12-2.3.0/config
3.2.3.配置kafka
#修改以下三项
#kafka1
viserver.properties
broker.id=0
listeners=PLAINTEXT:
//192.168.222.211:
9092
zookeeper.connect=kafka1:
2181,kafka2:
2181,kafka3:
2181
#kafka2
broker.id=1
//192.168.222.212:
#kafka3
broker.id=2
//192.168.222.213:
3.2.4.启动kafka
#启动kafka
#kafka1/kafka2/kafka3
cd/opt/kafka_2.12-2.3.0/
nohupbin/kafka-server-start.shconfig/server.properties&
#如果使用kafka-manager监控,需要开启JMX,否则会有以下报错:
java.lang.IllegalArgumentException:
requirementfailed:
Nojmxportbutjmxpollingenabled!
#启动kafka服务时指定JMX_PORT值:
JMX_PORT=9999nohupbin/kafka-server-start.shconfig/server.properties&
#停止kafka
ps-elf|grepkafka
kill-9pid
3.2.5.查看kafka状态
cd/opt/kafka_2.12-2.3.0/logs/
tailfserver.log
[2019-09-0509:
17:
14,646]INFO[ProducerIdManager0]:
AcquirednewproducerIdblock(brokerId:
0,blockStartProducerId:
0,blockEndProducerId:
999)bywritingtoZkwithpathversion1(kafka.coordinator.transaction.ProducerIdManager)
14,691]INFO[TransactionCoordinatorid=0]Startingup.(kafka.coordinator.transaction.TransactionCoordinator)
14,693]INFO[TransactionCoordinatorid=0]Startupcomplete.(kafka.coordinator.transaction.TransactionCoordinator)
14,699]INFO[TransactionMarkerChannelManager0]:
Starting(kafka.coordinator.transaction.TransactionMarkerChannelManager)
14,791]INFO[/config/changes-event-process-thread]:
Starting(mon.ZkNodeChangeNotificationListener$ChangeEventProcessThread)
14,831]INFO[SocketServerbrokerId=0]Starteddata-planeprocessorsfor1acceptors(work.SocketServer)
14,845]INFOKafkaversion:
2.3.0(mon.utils.AppInfoParser)
14,845]INFOKafkacommitId:
fc1aaa116b661c8a(mon.utils.AppInfoParser)
14,845]INFOKafkastartTimeMs:
1567646234832(mon.utils.AppInfoParser)
14,851]INFO[KafkaServerid=0]started(kafka.server.KafkaServer)
3.2.6.测试kafka
#创建topic(kafka3:
2181)
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh--create--zookeeperkafka3:
2181--replication-factor3--partitions1--topictest-topic
Createdtopictest-topic.
#查看topic
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh--describe--zookeeperkafka3:
2181--topictest-topic
Topic:
test-topicPartitionCount:
1ReplicationFactor:
3Configs:
Topic:
test-topicPartition:
0Leader:
2Replicas:
2,1,0Isr:
2,1,0
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh--describe--zookeeperkafka1:
kafka_2.12-2.3.0]#/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh--describe--zookeeperkafka2:
3.2.7.使用kafka收发消息
#发送消息
运行producer并在控制台中输一些消息,这些消息将被发送到服务端:
/opt/kafka_2.12-2.3.0/bin/kafka-console-producer.sh--broker-listkafka3:
9092--topictest-topic
>
thisistest!
#启动consumer
Kafka也有一个命令行consumer可以读取消息并输出到标准输出:
/opt/kafka_2.12-2.3.0/bin/kafka-console-consumer.sh--bootstrap-serverkafka2:
9092--topictest-topic--from-beginning
#遇到过以下错误,因为配置文件里指定的是主机名esnode3,所以这里需要使用主机名或者IP地址。
[root@kafka3kafka_2.12-2.3.0]#bin/kafka-console-producer.sh--broker-listlocalhost:
9092--topictest-topic
[2019-09-0414:
32:
57,034]WARN[ProducerclientId=console-producer]Connectiontonode-1(localhost/127.0.0.1:
9092)couldnotbeestablished.Brokermaynotbeavailable.(org.apache.kafka.clients.NetworkClient)
3.2.8.Kafka相关命令
#列出所有topic
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh--list--zookeeperkafka3:
#查看topic信息
2181--topicsystem-secure
#查看topic(system-secure)里的内容。
--from-beginning是从最开始到结尾
9092--topicsystem-secure--from-beginning
3.3.配置kafka相关服务开机自启动
在RHEL7以前的版本可将脚本加入rc.local开机自启动,但是RHEL7以后的版本默认不启用rc.local,推荐使用systemd配置。
#THISFILEISADDEDFORCOMPATIBILITYPURPOSES
#
#Itishighlyadvisabletocreateownsystemdservicesorudevrules
#torunscriptsduringbootinsteadofusingthisfile.
#Incontrasttopreviousversionsduetoparallelexecutionduringboot
#thisscriptwillNOTberunafterallotherservices.
#Pleasenotethatyoumustrun'
chmod+x/etc/rc.d/rc.local'
toensure
#thatthisscriptwillbeexecutedduringboot.
3.3.1.加入rc.local
vi/etc/rc.local
#在末尾加入以下信息
#zookeeper
cd/opt/zookeeper-3.4.14/bin/
./zkServer.shstart
#kafka
#kafka-manager
cd/kafka-manager-2.0.0.2/
nohupbin/kafka-manager-Dconfig.file=conf/application.conf-Dhttp.port=8088>
kafka-manager.log2>
&
1&
#kafka-offset-console
cd/opt/kafka-offset-console/
nohupjava-cpKafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar\
com.quantifind.kafka.offsetapp.OffsetGetterWeb\
--offsetStoragekafka\
--kafkaBrokerskafka1:
9092,kafka2:
9092,kafka3:
9092\
--kafkaSecurityProtocolPLAINTEXT\
--zkkafka1:
2181\
--port8787\
--refresh10.seconds\
--retain2.days\
--dbNameoffsetapp_kafka>
KafkaOffsetMonitor.log2>
#end
3.3.2.使用systemd配置
3.3.2.1.Zookeeper
#配置zookeeper的systemd脚本
vi/usr/lib/systemd/system/zookeeperd.service
[Unit]
Description=TheZookeeperServer
[Service]
Type=forking
Environment="
JAVA_HOME=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ELK6xKafka 安装配置文档 V10 安装 配置 文档