安装ElasticSearch和Kibana

安装ElasticSearch

  • 平台确认

环境为Ubuntu Server 22.04 虚拟机, 为方便选择安装的版本,先确认系统版本信息。

uname -a
  • 安装Java

ElasticSearch 是基于Java平台的,所以先要安装Java。可以从 www.java.com 下载官方提供的最新版本的 Java,也可以用ubuntu自带的软件包安装,默认版本为JDK 17,这是一个LTS版本。

以 root 或者sudo 权限运行下面的命令,更新软件包索引,安装OpenJDK 17 JDK 软件包:

sudo apt update
sudo apt install openjdk-17-jdk

安装完成后,可以通过检查 Java 版本来验证:

java -version
  • 下载ElasticSearch

ElasticSearch官网下载ElasticSearch安装包,目前最新版本为8.12.2,为了方便在本地虚拟机使用,这里下载7.12.0版本,通过curl下载。

curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz  #下载到opt目录

tar zxvf /opt/elasticsearch-7.12.0-linux-x86_64.tar.gz #解压
  • 增加elasticSearch用户

创建一个非root用户来运行ElasticSearch (ElasticSearch5及以上版本强制规定不能以root身份运行。)

# 增加elasticsearch用户
useradd elasticsearch
passwd elasticsearch

# 修改目录权限至新增的elasticsearch用户
chown -R elasticsearch /opt/elasticsearch-7.12.0

# 增加data和log存放区,并赋予elasticsearch用户权限
mkdir -p /data/es
chown -R elasticsearch /data/es
mkdir -p /var/log/es
chown -R elasticsearch /var/log/es

然后修改配置文件中data和log的路径,

vim /etc/security/limits.conf

# Path to directory where to store the data (separate multiple locations by comma):
path.data: /data/es

# Path to log files:
path.logs: /var/log/es
  • 修改Linux系统的限制配置
    1. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。
    2. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
    3. Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存。
vim /etc/security/limits.conf

elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096

ElasticSearch常用命令

  • 启动Elasticsearch命令
#进入目录
cd /opt/elasticsearch-7.12.0
#切换用户
su elasticsearch

#启动
./bin/elasticsearch
#后台启动
./bin/elasticsearch -d
# 重启(重启不一定会成功)
sh ./bin/elasticsearch -d
  • 查看Elasticsearch运行状态
#方式1
[elasticsearch@VM elasticsearch-7.12.0]$ jps
5465 Elasticsearch

#方式2
[elasticsearch@VM elasticsearch-7.12.0]$ ps aux | grep elasticsearch
  • 关闭Elasticsearch
# 通过进程ID杀掉ES进程
[elasticsearch@VM elasticsearch-7.12.0]$ kill -9 5465

# 重启可以先关闭后再启动
./bin/elasticsearch -d
  • 查看安装是否成功
[elasticsearch@VM elasticsearch-7.12.0]$ netstat -ntlp | grep 9200
tcp6     0   0 127.0.0.1:9200   :::*    LISTEN      13549/java          
tcp6     0   0 ::1:9200         :::*    LISTEN      13549/java

[elasticsearch@VM elasticsearch-7.12.0]$ curl 127.0.0.1:9200
{
  "name" : "vm",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "jNr_AjyYRtGT-sz-u97s6w",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

安装Kibana

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。

  • 下载Kibana

ElasticSearch官网下载Kibana,尽量与ElasicSearch版本一致,这里下载7.12.0版本,通过curl下载。

 #下载到opt目录
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-linux-x86_64.tar.gz 

 #解压
tar zxvf /opt/elasticsearch-7.12.0-linux-x86_64.tar.gz

  • 使用elasticsearch用户权限
[root@VM opt]$ chown -R elasticsearch /opt/kibana-7.12.0-linux-x86_64
  • 配置Kibana的远程访问
[root@VM opt]$ vim /opt/kibana-7.12.0-linux-x86_64/config/kibana.yml

#修改host
server.host: "0.0.0.0"

修改后需要重启 Elasticsearch

  • 启动Kibana

先切换至elasticsearch用户

su elasticsearch
cd /opt/kibana-7.12.0-linux-x86_64/
./bin/kibana

Kibana常用命令

  • 启动命令
#启动Kibana
./bin/kibana

#后台启动Kibana
nohup ./bin/kibana &

#不输出日志启动
nohup ./bin/kibana > /dev/null 2>&1 &
  • 查看Kibana状态
# 查看端口占用情况
[elasticsearch@VM kibana-7.12.0-linux-x86_64]$ netstat -tunlp|grep 5601

tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN   
26596/./bin/../node

26596:即为Kibana进程号。注意:因为Kibana底层实现是Node,所以通过ps -ef|grep kibana查不到kibana进程。

  • 停止Kibana进程
kill -9 26596

访问Kibana面板

在宿主机的浏览器输入:

192.168.100.105:5601

img

可以导入simple data

img

查看数据

img

配置密码登录

使用基本许可证时,默认情况下禁用Elasticsearch安全功能。由于我测试环境是放在虚拟机上的,可以不用配置密码,如果在公网需要设置密码访问。相关文档可以参考这里

  1. 停止kibana和elasticsearch服务
  2. xpack.security.enabled设置添加到ES_PATH_CONF/elasticsearch.yml文件并将值设置为true
  3. 启动elasticsearch (./bin/elasticsearch -d)
  4. 执行如下密码设置器,./bin/elasticsearch-setup-passwords interactive来设置各个组件的密码
  5. 将elasticsearch.username设置添加到KIB_PATH_CONF/kibana.yml 文件并将值设置给elastic用户: elasticsearch.username: "elastic"
  6. 创建kibana keystore, ./bin/kibana-keystore create
  7. 在kibana keystore 中添加密码 ./bin/kibana-keystore add elasticsearch.password
  8. 重启kibana 服务即可 nohup ./bin/kibana &

然后就可以使用密码登录了:

img

发表回复

登录后才能评论