替代ELK:ClickHouse+Kafka+FileBeat才是最绝的( 二 )


transaction.state.log.min.isr=3
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
zookeeper.connection.timeout.ms=30000
group.initial.rebalance.delay.ms=0
后台常驻进程启动kafka
nohup/usr/kafka/kafka_2.12-3.2.0/bin/kafka-server-start.sh/usr/kafka/kafka_2.12-3.2.0/config/server.properties>/usr/kafka/logs/kafka.log>&1&
/usr/kafka/kafka_2.12-3.2.0/bin/kafka-server-stop.sh
$KAFKA_HOME/bin/kafka-topics.sh--list--bootstrap-serverip:9092
$KAFKA_HOME/bin/kafka-console-consumer.sh--bootstrap-serverip:9092--topictest--from-beginning
$KAFKA_HOME/bin/kafka-topics.sh--create--bootstrap-serverip:9092--replication-factor2--partitions3--topicxxx_data
3、FileBeat部署
sudorpm--importhttps://packages.elastic.co/GPG-KEY-elasticsearch
Createafilewitha.repoextension(forexample,elastic.repo)inyour/etc/yum.repos.d/directoryandaddthefollowinglines:
在/etc/yum.repos.d/目录下创建elastic.repo
[elastic-8.x]
name=Elasticrepositoryfor8.xpackages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
yuminstallfilebeat
systemctlenablefilebeat
chkconfig--addfilebeat
FileBeat配置文件说明 , 坑点1(需设置keys_under_root:true) 。 如果不设置kafka的消息字段如下:
替代ELK:ClickHouse+Kafka+FileBeat才是最绝的
文章图片
文件目录:/etc/filebeat/filebeat.yml
filebeat.inputs:
-type:log
enabled:true
paths:
-/root/logs/xxx/inner/*.log
json:
如果不设置该索性 , 所有的数据都存储在message里面 , 这样设置以后数据会平铺 。
keys_under_root:true
output.kafka:
hosts:["kafka1:9092","kafka2:9092","kafka3:9092"]
topic:'xxx_data_clickhouse'
partition.round_robin:
reachable_only:false
required_acks:1
compression:gzip
processors:
剔除filebeat无效的字段数据
-drop_fields:
fields:["input","agent","ecs","log","metadata","timestamp"]
ignore_missing:false
nohup./filebeat-e-c/etc/filebeat/filebeat.yml>/user/filebeat/filebeat.log&
输出到filebeat.log文件中 , 方便排查
4、clickhouse部署
替代ELK:ClickHouse+Kafka+FileBeat才是最绝的
文章图片
检查当前CPU是否支持SSE4.2 , 如果不支持 , 需要通过源代码编译构建
替代ELK:ClickHouse+Kafka+FileBeat才是最绝的】grep-qsse4_2/proc/cpuinfo&&echo"SSE4.2supported"||echo"SSE4.2notsupported"
返回"SSE4.2supported"表示支持 , 返回"SSE4.2notsupported"表示不支持
创建数据保存目录 , 将它创建到大容量磁盘挂载的路径
mkdir-p/data/clickhouse
修改/etc/hosts文件 , 添加clickhouse节点
举例:
10.190.85.92bigdata-clickhouse-01
10.190.85.93bigdata-clickhouse-02
服务器性能参数设置:
cpu频率调节 , 将CPU频率固定工作在其支持的最高运行频率上 , 而不动态调节 , 性能最好
echo'performance'|tee/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
内存调节 , 不要禁用overcommit
echo0|tee/proc/sys/vm/overcommit_memory
始终禁用透明大页(transparenthugepages) 。 它会干扰内存分配器 , 从而导致显着的性能下降
echo'never'|tee/sys/kernel/mm/transparent_hugepage/enabled
首先 , 需要添加官方存储库:
yuminstallyum-utils
rpm--import
yum-config-manager--add-repo
查看clickhouse可安装的版本:
yumlist|grepclickhouse
运行安装命令:
yum-yinstallclickhouse-serverclickhouse-client