简介:ES,Kibana,Canal安装及https配置,和Java Api调用,本文为第一章(一篇里面写太多,浏览器都搞崩溃了😅😅😅)
1.下载es,kibana,ik分词器
1.1 es下载地址
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-15-0
1.2 kibana下载地址:
https://www.elastic.co/cn/downloads/past-releases/kibana-8-15-0
1.3 ik分词器下载地址
https://release.infinilabs.com/analysis-ik/stable/
2.安装es
2.1 上传es安装包到文件夹下(我的目录:/mnt/elasticsearch-8.15.0/)
2.2 解压
tar -zxvf elasticsearch-8.15.0-linux-x86_64.tar.gz
2.3 配置SSL(我直接使用https的,比较麻烦,简易安装,可以在网上查找其他教程)
2.3.1 配置证书
# 进入安装目录
cd /mnt/elasticsearch-8.15.0/
# 执行该执行命令,生成证书
./bin/elasticsearch-certutil ca
2.3.2 生成cert p12证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
2.3.3 移动这两个p12证书到es的config目录下
mv elastic-certificates.p12 elastic-stack-ca.p12 config
2.3.4 修改config目录下elasticsearch.yml,放开node和cluster注释改为自己的,并加入ssl认证信息
# 在yml文件最后加上这几条配置
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
2.3.5 在keystore输入账号密码
# 输入第一个指令,会提示
# The elasticsearch keystore does not exist. Do you want to create it? [y/N]y,
# 输入y,之后输入密码,我的是root123
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
# 输入第一个指令,输入密码root123
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
2.3.6 配置https证书
2.3.6.1 输入下面指令
./bin/elasticsearch-certutil http
# 证书文件名我放这里了,下图第4步会需要 elastic-stack-ca.p12
2.3.6.2 解压zip包,可以看到文件结构,里面包含了es的证书和提供给kibana的证书
unzip elasticsearch-ssl-http.zip
2.3.6.3 复制http.p12到config目录下
cp elasticsearch/http.p12 config
2.3.6.4 修改es的yml配置文件,在我们之前的配的transport的下面加上下面两条配置
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: http.p12
2.3.6.5 输入密码到keystore
./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
2.3.7 配置证书到kibana
2.3.7.1 解压kibana安装包
# 解压kibana安装包
tar -zxvf kibana-8.15.0-linux-x86_64.tar.gz
# 复制我们上面生成的elasticsearch-ssl-http.zip解压后的elasticsearch-ca.pem到kibana的config目录下
# 编辑kibana的yml文件
vi kibana-8.15.0/config/kibana.yml
# 加入下面的配置192.168.180.150需要换成你自己的ip
# server.host是为了可以在其他机器上也可以访问192.168.180.150,否则在其他机器无法访问
server.host: "0.0.0.0"
elasticsearch.ssl.certificateAuthorities: /mnt/kibana-8.15.0/config/elasticsearch-ca.pem
elasticsearch.hosts: https://192.168.180.150:9200
# username和password是后面生成的,我在这里先配置了
elasticsearch.username: "kibana_system"
elasticsearch.password: "root123"
2.4 启动es和kibana
2.4.1 先去修改jvm.options里的jvm内存,不然就会像鸡哥一样,再看一眼就会爆炸,windos启动es未修改jvm我64G的内存直接占用42G内存,电脑管家的小火箭都红了,centos也一样,直接内存爆炸
2.4.2 启动es(这里会有很多种报错,我一一列举)
./bin/elasticsearch
2.4.2.1 报错:不能以root用户运行
解决办法:
# 添加es用户,需要进入到es安装目录elasticsearch-8.15.0的上层,不然第三条指令会报错
groupadd es
useradd es -g es -p root123
chown es:es -R elasticsearch-8.15.0
# 切换es用户并运行
su es
./bin/elasticsearch
2.4.2.2 启动成功,宿主机不能访问,修改es的yml配置文件
cluster.initial_master_nodes这个因为我第一次安装时加了,所以这里直接也搞过去了
# 在es的yml中加入下面两条配置
network.host: 192.168.180.150
cluster.initial_master_nodes: ["node-1"]
# 切换回root账号
systemctl daemon-reload
# 切换回es账号重新启动
su es
./bin/elasticsearch
下面两张是启动成功截图,和宿主机访问失败截图
2.4.2.3 报错:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
2.4.2.3.1 编辑vim /etc/security/limits.conf,添加下面代码,es前缀为报错1解决办法里创建的es账户,无需重启centos
es soft nofile 65536
es hard nofile 65536
2.4.2.3.2 修改虚拟内存为262144,无需重启centos
# 可以先查看虚拟内存
cat /proc/sys/vm/max_map_count
# 进入/etc/sysctl.conf追加下面代码
vm.max_map_count=262144
# 切换回root账号执行linux命令刷新配置
su root
sysctl -p
# 再次查看虚拟内存
cat /proc/sys/vm/max_map_count
# 切换回es账号,启动
./bin/elasticsearch
启动成功截图
宿主机访问截图
这里输入账号密码登录,快成功了😎。哎不对,我密码呢?好像没见过???😥哪里有密码,别急,下一步来创建密码😀
2.4.2.4 创建es密码(这一步是我的问题,应该在安装es时配置的,不算报错,但是现在配也不算晚😉),无需重启es
进入es目录,执行下面代码,输入y,输入各种密码,可以看到kibana_system这个账号的密码😜,这个是我们在2.3.7.1步骤在kinban.yml中配置的账号密码,如果你配置的是别的密码,需要去kibana中修改
./bin/elasticsearch-setup-passwords interactive
2.5 至此,es登录成功🎈
3.安装ik分词器
3.1 在es的plugin目录下创建ik文件夹,复制或移动elasticsearch-analysis-ik-8.15.0.zip文件到ik文件夹下并解压
su root
cd /mnt/elasticsearch-8.15.0/plugins && mkdir ik
cp /mnt/elasticsearch-analysis-ik-8.15.0.zip /mnt/elasticsearch-8.15.0/plugins/ik
cd /mnt/elasticsearch-8.15.0/plugins/ik
unzip elasticsearch-analysis-ik-8.15.0.zip
# 删除zip包
rm elasticsearch-analysis-ik-8.15.0.zip
3.2 重启es
ctrl + z停止es
# 切换到es账号
su es
./bin/elasticsearch
4.启动kibana
4.1 元神,启动,啊,又报错了😥
4.1.1 启动
# kibana的启动和配置相对比较简单
cd /mnt/kibana-8.15.0
./bin/kibana
报错截图
解决办法,还是不能以root账号执行的问题,那我们切换到root账号,并给es账号加上kibana文件夹的的权限(如果报错,没有文件夹,记得要在kibana安装目录的上一级执行chown es:es -R kibana-8.15.0)
su root
chown es:es -R kibana-8.15.0
su es
./bin/kibana
启动成功截图
这里有一步登录忘记截图了,输入的账号密码是es的账号密码,在上面配密码的时候我们已经配过了
账号:elastic 密码:root123
4.2 使用
4.2.1 创建索引
4.2.2 查看索引
5. 设置es和kibana开机自启(路径替换为自己的安装路径)
5.1 es
# 创建service文件
vi /etc/systemd/system/elasticsearch.service
# 加入以下代码
[Unit]
Description=Elasticsearch
After=network.target
[Service]
User=es
Group=es
ExecStart=/mnt/elasticsearch-8.15.0/bin/elasticsearch
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
[Install]
WantedBy=multi-user.target
# 刷新配置文件
systemctl daemon-reload
# 设置开机自启动
systemctl enable elasticsearch.service
5.2 kibana
# 创建service文件
vi /etc/systemd/system/kibana.service
# 加入以下代码
[Unit]
Description=Kibana
After=network.target
[Service]
Type=simple
ExecStart=/mnt/kibana-8.15.0/bin/kibana
Restart=on-failure
User=es
Group=es
[Install]
WantedBy=multi-user.target
# 刷新配置文件
systemctl daemon-reload
# 设置开机自启动
systemctl enable kibana.service