国内镜像 -提高下载速度
https://mirrors.huaweicloud.com/elasticsearch/6.8.5/
https://mirrors.huaweicloud.com/kibana/6.8.5/
Elasticsearch安装配置
安装好JDK,配置好环境变量
解压 得到文件夹 elasticsearch-7.6.2
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
解压 得到文件夹 logstash-7.6.2
tar -zxvf logstash-7.6.2.tar.gz
创建es用户组
groupadd esgroup
创建es用户组下的用户并配置密码
useradd esuser -g esgroup -p 123456
给es 目录赋予用户所有权
chown -R esuser:esgroup ./elasticsearch-7.6.2
切换用户
su esuser
切换到es配置文件目录
cd ./elasticsearch-7.6.2/config
编辑es配置文件 加入以下参数
vi elasticsearch.yml
cluster.name: es_cluster #打开设定es群集名称
node.name: node-1 #es当前节点名称,用于区分不同节点
path.data: /home/app/elasticsearch-7.6.2/data/es-data #修改数据目录,此目录为自定义,需要在root用户下创建,且属主属组更改为es用户和用户组 这个根据股具体情况处理
path.logs: /home/app/elasticsearch-7.6.2/logs/elasticsearch #日志目录位置,需自己创建,方式同上
bootstrap.memory_lock: true #elasticsearch官网建议生产环境需要设置bootstrap.memory_lock: true
network.host: 0.0.0.0 #监听访问地址为任意网段
http.port: 9200 #服务监听端口
cluster.initial_master_nodes: ["node-1"] #保留一个节点
自定义目录需要切换目录权限
sudo mkdir -p /home/app/elasticsearch-7.6.2/data/es-data
sudo mkdir -p /home/app/elasticsearch-7.6.2/logs/elasticsearch
sudo chown -R esuser:esgroup /data/
sudo chown -R esuser:esgroup /home/app/elasticsearch-7.6.2/logs/elasticsearch
启动es ,出现4个ERROR
./elasticsearch
错误 1 : 是ES可以创建的文件描述个数太少,最少是65535,错误2中这个问题已经解决;
错误 2 :官网的解释 是:发生系统swapping的时候ES节点的性能会非常差,也会影响节点的稳定性。所以要不惜一切代价来避免swapping。swapping会导致Java GC的周期延迟从毫秒级恶化到分钟,更严重的是会引起节点响应延迟甚至脱离集群。
所以最好限制住elasticsearch占用的内存情况,可选少用swap
错误内容:
开启bootstrap.memory_lock: true后,在Elasticsearch集群启动的时候,会报如下错误
ERROR: bootstrap checks failed memory locking requested for elasticsearch process but memory is not locked
解决方式:
参见博客 https://www.cnblogs.com/hellxz/p/11009634.html
拷贝一份觉得合理的 并尝试
切换到root 用户
打开 vi /etc/security/limits.conf
添加以下内容到文件中
* soft nofile 65536
* hard nofile 131072
esuser soft memlock unlimited
esuser hard memlock unlimited
–这里的*代表的是所有用户名称,可以更换为指定用户名
另:这里有个坑就是如果/etc/security/limits.d文件夹下的有配置文件,那么会覆盖刚才修改的文件,所以请确保该目录没有其它文件,如有请联系运维人员确认删除
修改 /etc/sysctl.conf,直接执行命令
sudo echo "vm.swappiness=0" >> /etc/sysctl.conf
sudo echo "vm.max_map_count=655360" >> /etc/sysctl.conf
sysctl -p
vm.swappiness=0 这个参数的作用是告诉Linux内核尽少的使用swap分区,不等于禁用swap,通过少使用swap来提高性能。
如果想立即生效而不是重启之后让sysctl.conf生效,请使用sysctl -p;
否则需要重新登录或重启服务器方可生效。
错误 3 :是虚拟内存太少,至少是262144 ,错误2中这个问题已经解决
错误 4 : 集群配置问题,已经修改之前的配置内容,添加了此处问题,但是标记了此处问题(第8步),修改elasticsearch.yml 取消注释保留一个节点
cluster.initial_master_nodes: [“node-1”]
这个的话,这里的node-1是上面一个默认的记得打开就可以了
以上如果已经出错,再次启动不要使用出错的那个session窗口
es 后台启动命令
./elasticsearch -d
logstash 安装配置
进入logstash 配置目录
cd /logstash-7.6.2/config
复制一份 logstash-sample.conf 文件 并重命名logstash.conf
cp logstash-sample.conf logstash.conf
修改logstash.conf 文件
vi logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
tcp {
host =>"192.168.2.226"
port => 4560
codec => "json"
}
}
output {
elasticsearch {
action => "index"
hosts => ["192.168.2.226:9200"]
index => "winy-portal"
}
}
- 进入bin目录,启动logstash
./logstash -f /home/app/logstash-7.6.2/config/logstash.conf
后台启动命令
nohup ./logstash -f /home/app/logstash-7.6.2/config/logstash.conf &
查看日志查看nohup.out文件
kibana配置
1.自动连接本机的es,默认端口5601,需要修改kibana.yml
server.host: "192.168.2.226"
查看日志并启动
nohup ../bin/kibana &
2.kibana默认不能使用root启动,如果图省事的话需要加上–allow-root
nohup ../bin/kibana --allow-root &