前置准备
纯净的Linux环境
我这里安装的是Contos 7
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
安装jdk
目前elastic search 最新版本是 ,支持jdk8 ~16,我这里安装的是jdk8
[root@localhost ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
[root@localhost ~]#
下载最新版的elastic search的Linux下的安装包
安装elastic search
将下载的安装包elasticsearch-7.12.0-linux-x86_64.tar.gz上传到Linux的/opt/softwares/目录下,并解压
[root@localhost softwares]# ll
总用量 319824
-rw-r--r--. 1 root root 327497331 3月 25 13:13 elasticsearch-7.12.0-linux-x86_64.tar.gz
[root@localhost softwares]# tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
[root@localhost softwares]# ll
总用量 319824
drwxr-xr-x. 9 root root 155 3月 18 14:21 elasticsearch-7.12.0
-rw-r--r--. 1 root root 327497331 3月 25 13:13 elasticsearch-7.12.0-linux-x86_64.tar.gz
[root@localhost softwares]#
新建/usr/local/elkb文件夹,将elastic search加压后的文件夹移动到elkb下
[root@localhost softwares]# mv elasticsearch-7.12.0 /usr/local/elkb/
[root@localhost softwares]# cd /usr/local/elkb/
[root@localhost elkb]# ll
总用量 0
drwxr-xr-x. 9 root root 155 3月 18 14:21 elasticsearch-7.12.0
[root@localhost elkb]#
新建Linux用户组,新建用户,并将elasticsearch-7.12.0文件夹及子文件授权给此用户
新建用户组: group_es
新建组下用户: user_es , 密码: 123456
将文件夹elasticsearch-7.12.0授权到此用户下
[root@localhost elkb]# groupadd group_es
[root@localhost elkb]# useradd user_es -g group_es -p 123456
[root@localhost elkb]# chown -R user_es:group_es elasticsearch-7.12.0
[root@localhost elkb]# ll
总用量 0
drwxr-xr-x. 9 user_es group_es 155 3月 18 14:21 elasticsearch-7.12.0
[root@localhost elkb]#
切换到user_es用户
[root@localhost elkb]# su user_es
[user_es@localhost elkb]$
启动elastic search
[user_es@localhost elkb]$ ./elasticsearch-7.12.0/bin/elasticsearch
没有报错,说明启动成功了
因为不是后台运行,所以需要打开另外一个终端窗口,验证是否启动成功
验证elastic search是否启动成功
重新打开一个Linux窗口执行如下命令
[root@localhost ~]# curl 127.0.0.1:9200
{
"name" : "localhost.localdomain",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Jcn-rjCAT4KJ_3M9NTWoFw",
"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"
}
[root@localhost ~]#
返回了上面的json串,说明启动成功
但是我们是需要外网访问的,所以还需要进一步配置
配置外网访问elastic search
user_es用户下,ctrl+c停止elastic search服务
^C[2021-03-25T13:42:30,736][INFO ][o.e.x.m.p.NativeController] [localhost.localdomain] Native controller process has stopped - no new native processes can be started
[2021-03-25T13:42:30,744][INFO ][o.e.n.Node ] [localhost.localdomain] stopping ...
[2021-03-25T13:42:30,765][INFO ][o.e.x.w.WatcherService ] [localhost.localdomain] stopping watch service, reason [shutdown initiated]
[2021-03-25T13:42:30,767][INFO ][o.e.x.w.WatcherLifeCycleService] [localhost.localdomain] watcher has stopped and shutdown
[2021-03-25T13:42:31,110][INFO ][o.e.n.Node ] [localhost.localdomain] stopped
[2021-03-25T13:42:31,111][INFO ][o.e.n.Node ] [localhost.localdomain] closing ...
[2021-03-25T13:42:31,141][INFO ][o.e.n.Node ] [localhost.localdomain] closed
[user_es@localhost elkb]$
修改配置文件
[user_es@localhost elkb]$ vim ./elasticsearch-7.12.0/config/elasticsearch.yml
#添加下面配置
network.host: 192.168.223.137
http.port: 9200
重新启动elastic search
[user_es@localhost elkb]$ ./elasticsearch-7.12.0/bin/elasticsearch
ERROR: [4] bootstrap checks failed. You must address the points described in the following [4] lines before starting Elasticsearch.
bootstrap check failure [1] of [4]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [4]: max number of threads [3795] for user [user_es] is too low, increase to at least [4096]
bootstrap check failure [3] of [4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [4] of [4]: 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
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elkb/elasticsearch-7.12.0/logs/elasticsearch.log
[2021-03-25T13:50:30,242][INFO ][o.e.n.Node ] [localhost.localdomain] stopping ...
[2021-03-25T13:50:30,276][INFO ][o.e.n.Node ] [localhost.localdomain] stopped
[2021-03-25T13:50:30,277][INFO ][o.e.n.Node ] [localhost.localdomain] closing ...
[2021-03-25T13:50:30,315][INFO ][o.e.n.Node ] [localhost.localdomain] closed
[user_es@localhost elkb]$
发现有4处错误,需要进一步配置
根据提示,修改/etc/security/limits.conf ,新增或修改为如下配置
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
修改[root@localhost ~]# vim /etc/security/limits.d/20-nproc.conf ,改为如下配置
* soft nproc 65535
root soft nproc unlimited
修改/etc/sysctl.conf,新增如下配置
vm.max_map_count = 262144
执行命令,让系统重新加载/etc/sysctl.conf
[root@localhost ~]# sysctl -p
vm.max_map_count = 262144
[root@localhost ~]#
继续修改elasticsearch.yml ,并新增cluster.initial_master_nodes: [“node-1”],因为我们只有一个节点,其实这个地方可以配多个集群
[user_es@localhost elkb]$ vim ./elasticsearch-7.12.0/config/elasticsearch.yml
关闭防火墙,重启linux ,并切换到user_es下重启elastic search
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# reboot
[root@localhost ~]# su user_es
[user_es@localhost root]$ cd /usr/local/elkb/
[user_es@localhost elkb]$ ./elasticsearch-7.12.0/bin/elasticsearch
看到started,则说明启动成功