一. 安装elasticsearch-7.6.2
1.1 上传解压,配置环境变量
# 上传到/usr/local/soft/目录下
tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz
1.2 修改配置文件elasticsearch.yml
vim conf/elasticsearch.yml
进入 plugins
mkdir ik
上传ik集成包 解压
cd config/
vim IKAnalyzer.cfg.xml
添加字典
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">my.dict</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
# 找到network修改为如下
network.host: 0.0.0.0
discovery.seed_hosts: ["[::1]"]s
bootstrap.system_call_filter: false
node.name: node-2
cluster.initial_master_nodes: ["node-101"]
1.3 创建es启动用户并赋权(es不能使用root启动)
# 创建用户
groupadd es
useradd -g es es
echo "123456"| passwd --stdin es
# 增加权限
chown -R es:es /usr/local/soft/elasticsearch-7.6.2
1.4 centos6.5需要修改的配置
# 1、修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
# 增加配置
* soft nofile 65536
* hard nofile 65536
# 2、修改limits.d目录下的配置文件:
vim /etc/security/limits.d/90-nproc.conf
# 将1024改成4096
* soft nproc 4096
# 3、修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
vim /etc/sysctl.conf
# 增加配置
vm.max_map_count = 262144
# 使配置生效
sysctl -p
1.5 启动es 查看集群状态
后台启动es,不加-d前台启动
elasticsearch -d
查看状态:
curl -XGET http://localhost:9200/_cluster/health?pretty
二.安装kibana 7.6.2
2.1 上传解压,配置环境变量
tar -xvf kibana-7.6.2-linux-x86_64.tar.gz
2.2 修改配置文件
vim conf/kibana.yml
# 增加如下配置
server.host: "0.0.0.0"
i18n.locale: "zh-CN"
增加权限:
chown -R es:es /usr/local/soft/kibana-7.6.2-linux-x86_64
2.3 启动kibana
./bin/kibana
访问页面 :
http://ip:5601
三.安装logstash 7.6.2
3.1 上传解压,配置环境变量
tar -xvf logstash-7.6.2.tar.gz
3.2 编写logstash.conf文件
# 创建文件
cd bin
vim logstash.conf
# 增加如下内容
input {
file {
path =>"/usr/local/soft/hbase-0.98.12.1-hadoop2/logs/hbase-root-regionserver-node2.log"
start_position => beginning
}
}
filter {
grok {
match => {
"message" => "(?m)%{TIMESTAMP_ISO8601:date1} %{WORD:log_type} %{DATA:classPath}:%{DATA:data}"
}
overwrite => ["message"]
}
date {
match => [ "date1" , "YYYY-MM-dd HH:mm:ss,SSS" ]
}
}
output {
elasticsearch {
hosts => ["localhost"]
}
stdout { codec => rubydebug }
}
3.3 启动logstash
# 启动logstash, 指定logstash.conf 配置文件
logstash -f logstash.conf --config.reload.automatic
# 生成一条数据
echo "日志" >> /root/a.log