1. JAVA 环境安装
#jdk1.8下载
#下载地址
wget
tar -zxvf jdk-8u301-linux-x64.tar.gz
mv jdk-8u301-linux-x64 java
mv java /usr/local/
#环境变量配置
vim /etc/profile
#java
export JAVA_HOME=/usr/local/ java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE _HOME=$JAVA_HOME/jre
#
source /etc/profile
java -version #测试java是否成功
2.elasticsearch 安装
2.1 用户和用户组创建
elasticsearch 默认是非root用户启动我这里添加 elk 用户和用户组 并创建elk的目录
groupadd elk
useradd -m -g elk elk
# elk 安装目录在 /user/local/elk 目录下
mkdir elk
2.2 elasticsearch安装以es基本配置和跨域配置等
es 安装配置请注意磁盘容量 如果剩余量很小会报错,如果启动报错,请查看日志
#下载elasticsearch
wget
tar -zxvf elasticsearch-7.13.0-linux-x86_64.tar.gz
#修改es配置文件
cd /usr/local/elk/elasticsearch/config
vim elasticsearch.yml
http.port: 9200
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
#network.host: 0.0.0.0 #如果允许外网访问这里需要改为0.0.0.0
#添加跨域配置
http. cors .enabled: true
http.cors.allow-origin: "*"
cluster.routing.allocation.disk.threshold_enabled: true
cluster.routing.allocation.disk.watermark.flood_stage: 5gb
cluster.routing.allocation.disk.watermark.low: 30gb
cluster.routing.allocation.disk.watermark.high: 20gb
2.3 安装i k分词器
ik分词器要和 es版本一致
cd /usr/local/elk/elasticsearch/bin
./elasticsearch-plugin install
2.4 es启动
#切换用户启动es
su elk
bin/elasticsearch -d
#测试es是否启动
curl 127.0.0.1:9200
#{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "RzObV5d0Ro-aj5uxOMZE6g",
"version" : {
"number" : "7.13.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "5ca8591c6fcdb1260ce95b08a8e023559635c6f3",
"build_date" : "2021-05-19T22:22:26.081971330Z",
"build_snapshot" : false,
"lucene_version" : "8.8.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
2.5安装 elasticsearch-head
2.1 依赖node环境
这里不做赘述 请自行 百度 安装
2.2 安装elasticsearch-head
git clone
cd elasticsearch-head
npm install
npm audit fix
npm audit fix --force
npm run start
访问地址:
3.kibana 安装
3.1 安装
wget
tar -zxvf kibana-7.13.0-darwin-x86_64.tar.gz
mv kibana-7.13.0-darwin-x86_64 /usr/local/elk/kibana
#汉化
vim /usr/local/elk/kibana/config/kibana.yml
i18n.locale: "zh-CN"
#启动kibana
cd /usr/local/elk/kibana
nohup bin/kibana &
3.2 配置外网可访问
阿里云 等服务器,请确保端口开放
vim /usr/local/elk/kibana/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["#34;]
kibana.index: ".kibana"
4.安装logstash
mysql -connector-java-8.0.26.jar
这里需要主要。需要倒入这个包
#下载地址
#解压后进入目录
#命令行进入
bin/logstash -e "input { stdin {} } output { stdout {} }"
#mysql-connector-java-8.0.26.jar
cd /usr/local/elk/logstash/jars
4.2配置文件处理demo.conf
input {
stdin {
}
jdbc {
#数据库信息配置
jdbc_connection_string => "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_driver_library => "/usr/local/elk/logstash/jars/mysql-connector-java-8.0.26.jar"
jdbc_user => "root"
jdbc_password => "root"
jdbc_paging_enabled => "true"
jdbc_page_size => 10000
jdbc_default_timezone => "Asia/Shanghai"
#执行sql文件位置
statement_filepath => "/usr/local/elk/logstash/config/demo.sql"
schedule => "* * * * *"
lowercase_column_names => "false"
}
}
output {
elasticsearch {
hosts => ["#34;]
index => "index_name"
document_id => "%{infoid}"
#user => "elastic"
#password => "changeme"
}
stdout {
codec => json_lines
}
}
4.3sql处理
这里的sql请根据自己的业务自行编写 使用logstash同步数据到es中
4.4启动logstash
bin/logstash -f config/user.conf
5 注意点:
1. logstash 如果多次启动报错请删除 data目录下的 .lock文件
2. es报错或者卡顿。请注意磁盘大小 和jvm参数设置
3. kibana访问请确定外网端口是否开放
4. logstash 大批量倒入数据请确定添加了 mysql-connector-java-8.0.26.jar
解决es只能查询10000条数据的问题
PUT index_name/_settings?preserve_existing=true
{
"max_result_window": "1000000"
}
GET index_name/_search
{
"query": {
"match_all": {}
},
"track_total_hits":true
}
下一期整理es在php中如何使用
如有错误请及时指出。