本文的安装文件是 2021.09.23 最新发布的【elasticsearch-7.15.0-linux-x86_64.tar.gz】和【kibana-7.15.0-linux-x86_64.tar.gz】以下内容均以 7.15.0 版本进行说明。
1 ElasticSearch
1.1 环境
elasticsearch 的运行依赖 JDK,支持的最低版本为 Java 8。
Elasticsearch requires at least Java 8. Specifically as of this writing, it is recommended that you use the Oracle JDK version 1.8.0_131.
我用的是JDK11【顺便测试11是否支持】:
[root@aliyun ~]# java -version openjdk version "11" 2018-09-25 OpenJDK Runtime Environment 18.9 (build 11+28) OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
1.2 安装配置
- 解压并移动到 /usr/local/elasticsearch 下
tar -zxvf ./elasticsearch-7.15.0-linux-x86_64.tar.gz mv ./elasticsearch-7.15.0/ /usr/local/elasticsearch
- 用户添加及权限授予
ES跟MySQL类似,不能使用root用户启动,否在会报异常:
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
添加 elasticsearch 用户组和用户:
# 添加组和用户 groupadd elasticsearch useradd -g elasticsearch elasticsearch # 设置密码 [root@aliyun ~]# echo "elasticsearch" | passwd elasticsearch --stdin Changing password for user elasticsearch. passwd: all authentication tokens updated successfully.
将ES的文件转到 elasticsearch 下:
cd /usr/local/elasticsearch chown -R elasticsearch . chgrp -R elasticsearch . [root@aliyun elasticsearch]# ll total 636 drwxr-xr-x 2 elasticsearch elasticsearch 4096 Sep 16 11:09 bin drwxr-xr-x 3 elasticsearch elasticsearch 169 Sep 23 16:14 config drwxr-xr-x 9 elasticsearch elasticsearch 121 Sep 16 11:09 jdk drwxr-xr-x 3 elasticsearch elasticsearch 4096 Sep 16 11:09 lib -rw-r--r-- 1 elasticsearch elasticsearch 3860 Sep 16 11:01 LICENSE.txt drwxr-xr-x 2 elasticsearch elasticsearch 6 Sep 16 11:07 logs drwxr-xr-x 60 elasticsearch elasticsearch 4096 Sep 16 11:09 modules -rw-r--r-- 1 elasticsearch elasticsearch 628969 Sep 16 11:07 NOTICE.txt drwxr-xr-x 2 elasticsearch elasticsearch 6 Sep 16 11:07 plugins -rw-r--r-- 1 elasticsearch elasticsearch 2710 Sep 16 11:01 README.asciidoc
修改 sudoers 文件,给用户 elasticsearch 添加 sudo 权限:
[root@aliyun ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALL # 添加elasticsearch elasticsearch ALL=(ALL) ALL
- 系统参数配置【vm.max_map_count】
否则会报错:
ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# 查看系统环境变量 vm.max_map_count [root@aliyun elasticsearch]# sysctl -a | grep vm.max_map_count vm.max_map_count = 65530 # 修改系统环境变量 vm.max_map_count [root@aliyun elasticsearch]# vim /etc/sysctl.conf # 末尾添加 vm.max_map_count = 262144 # 配置文件修改完后需要重启才能生效 可使用下面命令使得本次启动有效 [root@aliyun ~]# sysctl -w vm.max_map_count=262144 vm.max_map_count = 262144
- 单机版配置【修改两个文件】
【文件 1️⃣ elasticsearch.yml】
[root@aliyun ~]# vim /usr/local/elasticsearch/config/elasticsearch.yml # 1.添加一下配置 【关掉bootstrap的自检测程序 启动会更快】 bootstrap.memory_lock: false bootstrap.system_call_filter: false # 2.Network 配置修改 network.host: 0.0.0.0
报错问题及处理:
[2021-09-23T16:27:14,520][ERROR][o.e.b.Bootstrap] [aliyun] node validation exception [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
[root@aliyun ~]# vim /usr/local/elasticsearch/config/elasticsearch.yml # 3.Discovery 配置修改,必须配置至少一项: # [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] cluster.initial_master_nodes: ["aliyun"]
【文件 2️⃣ jvm.options】
es运行在Java虚拟机环境下,默认占用1G内存,【我使用的是阿里云低端主机1核2G内存的,这里调小一些,非生产环境也可以调小使用,生产环境要根据需求进行调整。】
[root@aliyun ~]# vim /usr/local/elasticsearch/config/jvm.options # 初始化堆空间 -Xms256m # 最大堆空间 -Xmx256m
1.3 启动验证
# 启动要使用elasticsearch用户 [root@aliyun ~]# su elasticsearch [elasticsearch@aliyun root]$ /usr/local/elasticsearch/bin/elasticsearch # 后台启动 [elasticsearch@aliyun root]$ /usr/local/elasticsearch/bin/elasticsearch -d
[root@aliyun ~]# jps 10548 Jps 10312 Elasticsearch
也可以通过 IP:9200 进行验证:
至此,最新版本的 elasticsearch 安装配置启动完成。
2 kibana
2.1 安装配置
- 解压并移动到 /usr/local/kibana下
tar -zxvf ./kibana-7.15.0-linux-x86_64.tar.gz mv ./kibana-7.15.0-linux-x86_64/ /usr/local/kibana
- 修改配置文件【kibana.yml】
[root@aliyun ~]# vim /usr/local/kibana/config/kibana.yml # 可使用默认值 # server.port: 5601 # kibana.index: ".kibana" # 以下配置需要修改 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] # 多个用逗号隔开 i18n.locale: "zh-CN" # 界面中文设置【如果需要的话】 xpack.security.enabled: false # 否则页面会弹出提示
Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security.
2.2 启动验证
# kibana 也是不能使用root用户启动的 但是提供了 --allow-root 使其可以用root用户启动 [root@aliyun ~]# /usr/local/kibana/bin/kibana --allow-root # 后台启动 [root@aliyun ~]# nohup /usr/local/kibana/bin/kibana --allow-root &
[root@aliyun ~]# ps -aux | grep kibana root 1845 0.5 3.0 617844 53972 pts/1 Sl+ 17:49 0:00 /usr/local/kibana/bin/../node/bin/node /usr/local/kibana/bin/../src/cli/dist --allow-root root 1857 23.3 24.7 1216092 443012 pts/1 Sl+ 17:49 0:17 /usr/local/kibana/node/bin/node --preserve-symlinks-main --preserve-symlinks /usr/local/kibana/src/cli/dist --allow-root root 2024 0.0 0.0 12108 1080 pts/2 R+ 17:50 0:00 grep --color=auto kibana
也可以通过 IP:5601进行验证:
2.3 设置开机启动
# 添加 kibana.service 文件 vim /lib/systemd/system/kibana.service # 内容如下 [Unit] Description=Kibana [Service] LimitNOFILE=100000 LimitNPROC=100000 ExecStart=/usr/local/kibana/bin/kibana --allow-root User=elasticsearch Group=elasticsearch [Install] WantedBy=multi-user.target
# 重新加载systemd的守护线程 systemctl daemon-reload systemctl enable kibana # 启动kibana.service: systemctl start kibana.service # 查看kibana.serivce状态: systemctl status kibana.service ps aux|grep kibana # 如果出现错误可以使用如下命令查看日志:journalctl -u kibana.service
2.4 仪表盘
kibana 的仪表盘类似于Tableau、永洪、帆软等可视化工具,详细的使用需要自行学习,这里贴出一个很简单的图,界面还是挺美观的而且可设置项也是挺多,最为关键的是开源免费:
3.总结
至此,最新版 elasticsearch + kibana(7.15.0)安装配置及启动成功 👌