最近在学习ES的认证考试,也顺便把一些ES安装实施的步骤记录下来,以给有需要的同学借鉴。
硬件配置(虚拟机):2 CPU, 12GB内存,100GB磁盘(当然可以不需要这么大)
OS: CentOS Linux release 7.9.2009 (Core)
计划安装软件:ES 8.1, Kibana8.1
JDK选择:
在elasticsearch7以上的版本中会自带Open JDK,因此建议用自带的JDK,当然也可以单独安装自定义的JDK。
1,下载安装介质
ES和Kibana都建议到官网下载,下载地址:
Elasticsearch:官方分布式搜索和分析引擎 | Elastic
上传到服务器:
[root@localhost install]# ll
total 1338300
-rw-r--r--. 1 root root 1100738560 Oct 16 11:07 elasticsearch-8.1.0-linux-x86_64.tar
-rw-r--r--. 1 root root 269678786 Oct 16 11:07 kibana-8.1.0-linux-x86_64.tar.gz
解压elasticsearch-8.1.0-linux-x86_64.tar到/app/es目录
[root@localhost es]# pwd
/app/es
[root@localhost es]# ls -ltr
total 860
-rw-r--r--. 1 root root 2710 Mar 3 2022 README.asciidoc
-rw-r--r--. 1 root root 3860 Mar 3 2022 LICENSE.txt
drwxr-xr-x. 2 root root 6 Mar 3 2022 plugins
drwxr-xr-x. 2 root root 6 Mar 3 2022 logs
-rw-r--r--. 1 root root 858797 Mar 3 2022 NOTICE.txt
drwxr-xr-x. 3 root root 4096 Mar 3 2022 lib
drwxr-xr-x. 2 root root 4096 Mar 3 2022 bin
drwxr-xr-x. 9 root root 121 Mar 3 2022 jdk
drwxr-xr-x. 66 root root 4096 Mar 3 2022 modules
drwxr-xr-x. 3 root root 210 Oct 16 11:09 config
ES默认不建议使用root账户运行。使用新建的es用户运行。
[root@localhost ~]# cd /app
[root@localhost app]# ll
total 0
drwxr-xr-x. 9 root root 155 Oct 16 11:09 es
drwxrwxrwx. 2 root root 90 Oct 16 11:40 install
[root@localhost app]# chown -R es.es es
[root@localhost app]# ll es
total 860
drwxr-xr-x. 2 es es 4096 Mar 3 2022 bin
drwxr-xr-x. 3 es es 210 Oct 16 11:09 config
drwxr-xr-x. 9 es es 121 Mar 3 2022 jdk
drwxr-xr-x. 3 es es 4096 Mar 3 2022 lib
-rw-r--r--. 1 es es 3860 Mar 3 2022 LICENSE.txt
drwxr-xr-x. 2 es es 6 Mar 3 2022 logs
drwxr-xr-x. 66 es es 4096 Mar 3 2022 modules
-rw-r--r--. 1 es es 858797 Mar 3 2022 NOTICE.txt
drwxr-xr-x. 2 es es 6 Mar 3 2022 plugins
-rw-r--r--. 1 es es 2710 Mar 3 2022 README.asciidoc
2,修改配置文件
修改系统参数,这块是必须项,否则启动会失败
ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /app/es/logs/elasticsearch.log
[2022-10-16T12:12:37,926][INFO ][o.e.n.Node ] [node-1] stopping ...
[2022-10-16T12:12:38,009][INFO ][o.e.n.Node ] [node-1] stopped
[2022-10-16T12:12:38,009][INFO ][o.e.n.Node ] [node-1] closing ...
[2022-10-16T12:12:38,028][INFO ][o.e.n.Node ] [node-1] closed
修改进程最大打开文件数数量为65536,
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
查看:
[root@goya ~]# ulimit -a
......
open files (-n) 65536
......
修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
vi /etc/sysctl.conf
# 最后增加一行:
vm.max_map_count = 262144
# 退出执行
sysctl -p
修改配置文件/app/es/config/elasticsearch.yml
由于我们现在是基础安装,只修改基础的两个配置,其他的都使用默认。
node.name: node-1
network.host: 0.0.0.0
启动ES
自带的JDK版本检查:
[es@localhost bin]$ pwd
/app/es/jdk/bin
[es@localhost bin]$ ./java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment Temurin-17.0.2+8 (build 17.0.2+8)
OpenJDK 64-Bit Server VM Temurin-17.0.2+8 (build 17.0.2+8, mixed mode, sharing)
启动ES:
第一次启动,会打印安全相关的信息,需要拷贝记录下来。
相关信息说明:
启动后就可以通过浏览器访问了。在访问之前记得关闭防火墙。
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Oct 16 10:51:39 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Oct 16 10:51:40 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Oct 16 10:51:40 localhost.localdomain firewalld[799]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please ...bling it now.
Oct 16 12:53:42 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
Oct 16 12:53:44 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
启动完成后,配置文件/app/es/config/elasticsearch.yml会自动加上cert部分的内容:
访问ES。
在浏览器输入:https://192.168.88.8:9200/,用户名和密码使用启动时打印信息的部分。
访问成功,单节点ES安装配置完成。
3,安装配置Kibana部分。
同理,kibnana的安装文件解压到/app/es/kibana目录
tar -xvf kibana-8.1.0-linux-x86_64.tar
[root@localhost kibana]# pwd
/app/kibana
[root@localhost kibana]# ll
total 1436
drwxr-xr-x. 2 es es 146 Mar 3 2022 bin
drwxr-xr-x. 2 es es 44 Mar 3 2022 config
drwxr-xr-x. 2 es es 6 Mar 3 2022 data
-rw-r--r--. 1 es es 3860 Mar 3 2022 LICENSE.txt
drwxr-xr-x. 2 es es 6 Mar 3 2022 logs
drwxr-xr-x. 6 es es 108 Mar 3 2022 node
drwxr-xr-x. 836 es es 24576 Mar 3 2022 node_modules
-rw-r--r--. 1 es es 1417101 Mar 3 2022 NOTICE.txt
-rw-r--r--. 1 es es 738 Mar 3 2022 package.json
drwxr-xr-x. 2 es es 6 Mar 3 2022 plugins
-rw-r--r--. 1 es es 3966 Mar 3 2022 README.txt
drwxr-xr-x. 11 es es 177 Mar 3 2022 src
drwxr-xr-x. 3 es es 79 Mar 3 2022 x-pack
修改kibana配置文件
vi /app/kibana/kibana.yml
server.host: "0.0.0.0"
其他的配置项使用默认。
启动kibana
如果要用root启动,需要运行./kibana --allow-root
这里我们使用es用户启动,就可以直接运行kibana命令。
[es@localhost bin]$ pwd
/app/kibana/bin
[es@localhost bin]$ ./kibana
[2022-10-16T13:42:19.892+08:00][INFO ][plugins-service] Plugin "metricsEntities" is disabled.
[2022-10-16T13:42:19.970+08:00][INFO ][http.server.Preboot] http server running at http://0.0.0.0:5601
[2022-10-16T13:42:20.005+08:00][INFO ][plugins-system.preboot] Setting up [1] plugins: [interactiveSetup]
[2022-10-16T13:42:20.006+08:00][INFO ][preboot] "interactiveSetup" plugin is holding setup: Validating Elasticsearch connection configuration…
[2022-10-16T13:42:20.035+08:00][INFO ][root] Holding setup until preboot stage is completed.
i Kibana has not been configured.
Go to http://0.0.0.0:5601/?code=678966 to get started.
然后浏览器里输入:
如果遇到如下报错:
Couldn't configure Elastic
Generate a new enrollment token or configure manually.
enrollment token 在第一个 Elasticsearch 启动后的有效时间为30分钟。超过30分钟的时间上述 token 将会无效。
enrollment token分两个,一个是kibana连接es使用的,另一个是es加入集群使用的
如果这种情况发生,我们可以可以使用如下的方法来生成一个新的 token:
[es@localhost bin]$ ./elasticsearch-create-enrollment-token -s kibana --url "https://0.0.0.0:9200"
eyJ2ZXIiOiI4LjEuMCIsImFkciI6WyIxMC4wLjIuNTo5MjAwIl0sImZnciI6ImE2OTY2M2RiMTgzNDVmZGZiOTRiMGRkMzk2MDM2YmZlOGE5MTc4MzQ3OWRmMmU2Yjk0NWNkNDRmNmMyM2M0NTgiLCJrZXkiOiJ1SnhkMzRNQk5HMHhSUlY0RGdRMTo1UEJycEdiZlIyaXNDQWhfRFlZQ2pnIn0=
拷贝上面的命令生成的token内容,重新注册将会成功。
这里输入elastic和之前ES启动里产生的密码。
因为默认产生的密码很复杂,这里也可以通过命令修改成自己的容易记忆的密码。
[es@localhost bin]$ ./elasticsearch-reset-password -u elastic -i
This tool will reset the password of the [elastic] user.
You will be prompted to enter the password.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]: elastic123
Re-enter password for [elastic]: elastic123
Password for the [elastic] user successfully reset.
[es@localhost bin]$
查看ES版本
导入sample数据:
点击"Add data"
进行简单的ES数据查询
文章来源:https://www.toymoban.com/news/detail-408011.html
至此,Kibana部分完成。文章来源地址https://www.toymoban.com/news/detail-408011.html
到了这里,关于Elasticsearch8.1基于CentOS7.9的单机安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!