单节点 ElasticSearch 及 Kibana 安装说明
概述
为了支持新功能,我们新增了ES节点。 可以根据数据情况和状态,配置ES为单节点或集群; 开启Xpack, 启用权限认证(需要安装Kibana)。
官方文档 Set up Elasticsearch 有各个 OS 的安装指导,Installing Elasticsearch 页面中提供了多种安装包对应的指导链接,可以参考。本文档为在单节点linux服务器上安装ES及Kibana的说明文档。
安装ES
首先确认环境中有JDK。 Elasticsearch 7.x 包里自包含了 OpenJDK11 的包,如果需要用自己的版本,参考官方文档设置 JAVA_HOME 环境变量。
创建ES专用用户,因为无法使用root用户启动:
1
useradd elasticsearch
创建ES程序目录,并给elasticsearch用户赋权限:
1
2
3cd /home
mkdir /es
chown -R elasticsearch:elasticsearch /home/es/上传压缩包内的elasticsearch-7.14.0-linux-x86_64.tar.gz,也可去官网下载或使用其他方式下载。
官网下载地址, 国内镜像下载地址解压
1
tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
修改配置文件,进入解压后的目录
1
cd elasticsearch-7.14.0/config
首先备份配置文件elasticsearch.yml,而后修改
1
2
3
4
5
6
7
8cp elasticsearch.yml elasticsearch.yml.bak
vim elasticsearch.yml
------------------------------
network.host: ${该服务器的ip}
http.port: 9200
discovery.seed_hosts: ["${该服务器的ip}"]
discovery.type: single-node # 单节点模式
------------------------------把9200和9300端口开放,或者关闭防火墙
根据配置文件,创建data目录存储es数据
1
mkdir data
给ES用户所有ES相关的权限;切换到elasticsearch用户;在bin目录下启动ES
1
2
3
4chown -R elasticsearch:elasticsearch ./*
su – elasticsearch
cd /home/es/elasticsearch-7.14.0/bin
./elasticsearch &启动后可能会出现报错:
1
2trying to update state on non-existing task geoip-downloader
[2021-08-11T15:33:57,318][ERROR][o.e.i.g.GeoIpDownloader ] [18789989a729] error updating geoip database [GeoLite2-Country.mmdb]该报错可以忽略;若想解决请看附录 1.解决ES启动报错问题
验证启动情况,在本机执行
1
curl http://${ip}:9200/
得到返回结果如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17{
"name" : "localhost.localdomain",
"cluster_name" : "oss-es",
"cluster_uuid" : "HKCnF4l_TOSW8-mznxM5eg",
"version" : {
"number" : "7.14.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
"build_date" : "2021-07-29T20:49:32.864135063Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}即为成功!
再尝试通过浏览器访问http://${ip}:9200/有相同的响应成功结果。 若无法访问,则检查防火墙。
安装Kibana
安装步骤可参考官方网站;或按以下步骤执行
使用root用户,上传压缩包内的kibana-7.14.0-linux-x86_64.tar.gz并解压。
1
tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz
进入目录备份配置文件kibana.yml,而后修改
1
2
3
4
5
6
7
8
9cd kibana-7.14.0-linux-x86_64/config/
cp kibana.yml kibana.yml.bak
vim kibana.yml
------------------------------
server.port: 5601
server.host: "${该服务器的ip}"
elasticsearch.hosts: ["http://${ES服务所在IP}:9200"]
elasticsearch.username: "kibana_system"
------------------------------进入/bin 目录启动
1
2cd ../bin
./kibana界面会打印日志,最后出现如下所示内容,即为成功!
1
Kibana is now available
可通过浏览器访问
http://ip:5601
配置权限(使用用户名和密码身份验证运行本地集群)
可以参考官网最低安全性设置
停止 Kibana 和 Elasticsearch(如果它们正在运行)
将 xpack.security.enabled 设置添加到**$ES_PATH_CONF/elasticsearch.yml**文件并将值设置为true
1
2
3
4
5cd /home/es/elasticsearch-7.14.0/config
vim elasticsearch.yml
-----添加以下信息-------
xpack.security.enabled:true
----------------------tips:该$ES_PATH_CONF变量是 Elasticsearch 配置文件的路径。如果您使用存档分发版(zip或tar.gz)安装了 Elasticsearch ,则该变量默认为$ES_HOME/config. 如果您使用软件包发行版(Debian 或 RPM),则该变量默认为/etc/elasticsearch.
启动ES,等待启动成功
1
2cd ../bin
./elasticsearch打开另一个终端窗口,进入ES目录,执行命令启用配置密码工具
1
./bin/elasticsearch-setup-passwords interactive
执行后根据命令行提示配置密码
配置 Kibana 以使用密码连接到 Elasticsearch ,创建 Kibana 密钥库并添加安全设置:
1
2
3cd kibana-7.14.0-linux-x86_64/
./bin/kibana-keystore create
./bin/kibana-keystore add elasticsearch.password出现提示时,输入kibana_system用户的密码。
重启 Kibana,并在浏览器 “http://${kibanaIp}:5601” 以elastic用户身份登录 Kibana 。
1
./bin/kibana
附录
- 解决ES启动报错问题
- 参考 How to disable geoip usage in 7.14.0
方案:使用 cluster settings API 而不是 elasticsearch.yml; 即安装好Kibana后,执行1
2
3
4
5
6PUT _cluster/settings
{
"persistent": {
"ingest.geoip.downloader.enabled": false
}
}
- 参考 How to disable geoip usage in 7.14.0