一、ELK下载(版本要一致)
点击下面即可跳转到官网下载,下载版本要一致,Head插件直接下载zip包就行了,我这里选择的7.6.1,jdk1.8
- Elasticsearch
- Head插件
- IK分词器
- Kibana
- 百度云盘 提取码:ds0i
在服务器上创建elk目录并上传刚下载的压缩包 ,我将其放在了 usr/local/elk 下
二、安装
1.安装Elasticsearch
cd /usr/local/elk/elasticsearch-7.6.1/bin
./elasticsearch #启动
会出现以下错误
elasticsearch为了安全性,是不能用root用户启动的。
解决启动错误问题
jvm.options 文件在安装目录下的 config 文件夹下
vim /usr/local/elk/elasticsearch-7.6.1/config/jvm.options
-XX:+UseConcMarkSweepGC 改为 -XX:+UseG1GC
# 创建es账户
adduser hyb
# 修改密码
passwd hyb #输入的密码会提示不能少于8个字符,并且不能太过简单(eg:123qwe.lxw)
chown -R hyb /usr/local/elk #给es用户elasticsearch目录的授权
su hyb #切换用户
curl 127.0.0.1:9200
远程连接
vim /usr/local/elk/elasticsearch-7.6.1/config/elasticsearch.yml
开启跨域支持 在文件开头追加
http.cors.enabled: true
http.cors.allow-origin: "*"
中间修改部分
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
http.host: 0.0.0.0
network.host: 0.0.0.0
discovery.seed_hosts: ["0.0.0.0", "[::1]"]
http.port: 9200
vim /etc/sysctl.conf
添加以下内容
vm.max_map_count=655360
执行
sysctl -p
防火墙
firewall-cmd --zone=public --add-port=9200/tcp --permanent #开放9200端口
firewall-cmd --zone=public --add-port=9300/tcp --permanent #开放9300端口
firewall-cmd --reload #刷新防火墙
2.安装head插件
cd /usr/local/
wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.gz
tar xzvf node-v12.13.1-linux-x64.tar.gz
ln -s /usr/local/node/bin/node /usr/local/bin/node
ln -s /usr/local/node/bin/npm /usr/local/bin/npm
npm install -g cnpm --registry=https://registry.npm.taobao.org #安装cnpm
ln -s /usr/local/node/bin/cnpm /usr/local/bin/cnpm
cd /usr/local/elk/elasticsearch-head-master
npm install
安装过程中出现的问题
使用 cnpm install 安装
-
npm 命令启动
npm run start
-
grunt 命令 启动
-
配置环境变量
su root #root用户下执行 vi /etc/profile
在文件末尾添加以下内容
export NODE_HOME=/usr/local/node export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules
保存退出,执行命令
source /etc/profile
-
安装grunt
cd /usr/local/elk/elasticsearch-head-master #进入elasticsearch-head 目录 npm install -g grunt-cli
修改 Gruntfile.js 配置。
vi Gruntfile.js
启动
grunt server
-
-
后台启动
grunt server &
输入exit退出shell,如果直接关闭窗口head进程就会终止
此时关闭窗口,head进程不会被终止
-
放行9100端口
阿里云配置安全规则
宝塔
浏览器访问 ip:9100
3.使用IK分词器
elasticsearch的插件都是放在 plugins 下,只需要吧已下载好IK插件解压到此目录就可以了
unzip /usr/local/elk/elasticsearch-analysis-ik-7.6.1.zip -d /usr/local/elk/elasticsearch-7.6.1/plugins/ik/
#解压到所指定的文件夹下,如果文件夹不存在,会创建该文件夹。
cd /usr/local/elk/elasticsearch-7.6.1/plugins/ik/config
touch ext.dic #自定义扩展词库
touch stop.dic #自定义停用词库
vim IKAnalyzer.cfg.xml
- 使用多个词库用 ; 隔开
- 词库开头第一行不要写东西,有可能第一行不被扫描,一个小bug,不知道解决了没有,避免错误,不要写
重新启动elasticsearch
4.安装Kibana
cd /usr/local/elk
tar xzvf kibana-7.6.1-linux-x86_64.tar.gz
-
修改 kibana.yml 文件
vim /usr/local/elk/kibana-7.6.1-linux-x86_64/config/kibana.yml #修改添加以下配置 server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://*.*.*.*:9200"] kibana.index: ".kibana" i18n.locale: "zh-CN"
cd /usr/local/elk/kibana-7.6.1-linux-x86_64/bin
./kibana #正常启动
三、Elasticsearch集群搭建
参考我这篇文章:Centos8搭建Elasticsearch集群(单台服务器)