一、下载安装java(已有java环境跳过)
安装步骤参考:https://blog.csdn.net/manongxianfeng/article/details/112641235
官网下载:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下载 jdk-8u281-linux-x64.tar.gz
mkdir /usr/java
cp jdk1.8.0_281 /usr/java/jdk1.8.0_281
vim /etc/profile
写入下面的内容
export JAVA_HOME=/usr/java/jdk1.8.0_281
export CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
然后按 Esc,输入 :wq,保存修改并退出。
source /etc/profile
$ java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b13, mixed mode)
到此java安装完成
二、安装kafka
安装版本:
kafka_2.12-1.0.1.tgz
参考:
https://blog.csdn.net/bugzeroman/article/details/104456222
1.解压
a) 解压:tar -zxvf kafka_2.12-1.0.1.tgz
b) 移动到指定目录:mv kafka_2.12-1.0.1 /usr/local/kafka
c) cd /usr/local/kafka
2.配置系统变数量
vim /etc/profile
写入下面的内容
export PATH=export PATH=/usr/local/kafka/bin:$PATH/bin:$PATH
然后按 Esc,输入 :wq,保存修改并退出。
source /etc/profile
3.修改Kafka配置文件
首先创建本地数据存放的目录:
mkdir /home/kafka/kafka_2.12-1.0.1/data
vim config/server.properties
#服务器IP地址,修改为自己的服务器IP
host.name=192.168.200.200
#Kafka的topic内的数据本地保存目录
log.dirs=/home/kafka/kafka_2.12-1.0.1/data
以下使用默认配置即可:
#如果搭建Kafka集群,需要保证唯一
broker.id=0
#端口号、记得开启端口,云服务器要开放安全组
port=9092
#zookeeper地址和端口, Kafka支持内置的Zookeeper和引用外部的Zookeeper
zookeeper.connect=localhost:2181
#topic的默认分区数
num.partitions=1
#Kafka接收的数据保存7天,之后会被删除
log.retention.hours=168
#数据最大为1G,超过需要分块
4.修改Zookeeper配置
首先创建本地数据存放的目录:
mkdir /home/kafka/kafka_2.12-1.0.1/zookeeper
vim config/zookeeper.properties
主要修改如下配置:
#Zookeeper数据本地存储目录
dataDir=/home/kafka/kafka_2.12-1.0.1/zookeeper
以下使用默认配置即可:
# Zookeeper对外提供服务的端口
clientPort=2181
5.启动Zookeeper
启动Kafka服务必须先启动Zookeeper服务,
使用如下命令后台启动自带的Zookeeper:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
6.启动Kafka
注意使用-daemon后台启动Kafka服务:
bin/kafka-server-start.sh -daemon config/server.properties
7.查看进程
看到如下进程,
一个是Kafka,另一个是Zookeeper:
ps aux |grep zookeeper
ps aux |grep kafka
三、验证安装kafka
1.创建一个名为testTopic的主题
kafka-topics.sh --create --topic testTopic --replication-factor 1 --partitions 1 --zookeeper localhost:2181
由于只有一个Kafka服务,
创建主题时指定副本和分区都是1个。
2.查看刚才创建的主题
haima@haima-PC:~/Desktop$ kafka-topics.sh --list --zookeeper localhost:2181
testTopic
3.使用producer生产者发送消息
注意使用上面配置的host.name连接的ip地址 192.168.200.200
而且Kafka服务端口号默认为9092,
否则有可能无法连接成功:
kafka-console-producer.sh --broker-list 192.168.200.200:9092 --sync --topic testTopic
然后输入要发送的消息:hello wrold
4.使用consumer消费者查看刚才发送的消息
kafka-console-consumer.sh --zookeeper 192.168.200.200:2181 --topic testTopic --from-beginning
或者
kafka-console-consumer.sh --bootstrap-server 192.168.200.200:9092 --topic testTopic --from-beginning
Kafka官方推荐使用bootstrap-server方式连接。
5.删除一个Topic
这里先创建一个主题,再删除掉:
kafka-topics.sh --create --topic testDelete --zookeeper localhost:2181 --replication-factor 1 --partitions 1
kafka-topics.sh --delete --topic testDelete --zookeeper localhost:2181
注意修改vim config/server.properties配置文件,
delete.topic.enable设置为true才能真正删除topic:
#是否能够删除topic的开关,默认为false
delete.topic.enable=true
6.Kafka Debug方法
在kafka-run-class.sh增加如下参数:
KAFKA_DEBUG=true
DEBUG_SUSPEND_FLAG="y"
7.清除kafka数据
只要删除上面配置的两个本地存储目录即可:
rm -rf /home/kafka/kafka_2.12-1.0.1/data
rm -rf /home/kafka/kafka_2.12-1.0.1/zookeeper
三、logstash-6-4-0安装
1.下载软件
下载地址:
https://www.elastic.co/cn/downloads/past-releases/logstash-6-4-0
安装参考文档:
https://blog.csdn.net/weixin_33991727/article/details/92698794
mkdir -p /usr/local/logstash
cp logstash-6.4.0.tar.gz /usr/local/logstash/
cd /usr/local/logstash/
tar -zxvf logstash-6.4.0.tar.gz -C /usr/local/logstash/
cd logstash-6.4.0/
2.设置全局变量
vim /etc/profile
写入下面的内容
export LOGSTARSH_HOME=/usr/local/logstash/logstash-6.4.0
export PATH=$PATH:$LOGSTARSH_HOME/bin
然后按 Esc,输入 :wq,保存修改并退出。
source /etc/profile
常用命令
logstash --help
logstash --version
3.修改配置文件
vim config/datapro.conf
写入下面的内容
input{
kafka {
bootstrap_servers => "192.168.200.200:9092" #kafka地址
topics => ["es_rules"] #kafka topics
group_id => "logstash_queries_rules" #kafka group id,如果想要重新读取需要修改次选项
auto_offset_reset => "earliest" #自动将偏移重置为最早的偏移量
type => "es_rules"
}
kafka {
bootstrap_servers => "192.168.200.200:9092" #kafka地址
topics => ["es_queries"] #kafka topics
group_id => "logstash_queries_rules" #kafka group id,如果想要重新读取需要修改次选项
auto_offset_reset => "earliest" #自动将偏移重置为最早的偏移量
type => "es_queries"
}
kafka {
bootstrap_servers => "192.168.200.200:9092" #kafka地址
topics => ["es_country_rules"] #kafka topics
group_id => "logstash_queries_rules" #kafka group id,如果想要重新读取需要修改次选项
auto_offset_reset => "earliest" #自动将偏移重置为最早的偏移量
type => "es_country_rules"
}
kafka {
bootstrap_servers => "192.168.200.200:9092" #kafka地址
topics => ["es_rules"] #kafka topics
group_id => "logstash_queries_rules" #kafka group id,如果想要重新读取需要修改次选项
auto_offset_reset => "earliest" #自动将偏移重置为最早的偏移量
type => "es_es_rules"
}
kafka {
bootstrap_servers => "192.168.200.200:9092" #kafka地址
topics => ["es_rules_delete"] #kafka topics
group_id => "logstash_queries_rules" #kafka group id,如果想要重新读取需要修改次选项
auto_offset_reset => "earliest" #自动将偏移重置为最早的偏移量
type => "es_es_rules_delete"
}
}
filter {
json {
source => "message"
}
mutate {
remove_field => "@timestamp"
remove_field => "message"
remove_field => "@version"
}
date {
match => [ "loginDat", "yyyy-MM-dd HH:mm:ss"]
}
}
output {
if [type] == "es_rules" {
elasticsearch {
hosts => "10.10.11.66:9200" #es地址
index => "rules"
document_type => "rule"
document_id => "%{es_id}"
}
}
else if [type] == "es_queries"{
elasticsearch {
hosts => "10.10.11.66:9200" #es地址
index => "queries"
document_type => "query"
document_id => "%{es_id}"
}
}
else if [type] == "es_country_rules"{
elasticsearch {
hosts => "10.10.11.66:9200"
index => "country_rules" #es地址
document_type => "rule"
document_id => "%{es_id}"
}
}
else if [type] == "es_es_rules" {
elasticsearch {
hosts => "10.10.11.66:9200" #es地址
index => "es_rules"
document_type => "rule"
document_id => "%{es_id}"
}
}
else if [type] == "es_rules_delete"{
elasticsearch{
action => "delete"
hosts => "10.10.11.66:9200" #es地址
index => "es_rules"
document_type => "rule"
document_id => "%{es_id}"
}
}
}
4.启动服务
#控制台启动,且输出日志
logstash -f config/datapro.conf
#后台启动
logstash -f config/datapro.conf &
最后编辑:海马 更新时间:2024-12-22 19:32