linux 下安装Elasticsearch8

        Elasticsearch是基于Apache Lucene的开源搜索服务器。 我们可以使用它来执行超快速全文本和其他复杂的搜索。 它还包含一个REST API,使我们能够轻松发出创建,删除,更新和检索数据的请求。

        随着大数据和数据挖掘的发展,搜索引擎已经成为了我们生活中必不可少的工具。而Elasticsearch就是一个快速、开放、可扩展的搜索和分析引擎,它能够轻松地进行全文检索、数据分析和实时数据的存储与查询。

        

虚拟机环境:

        PHP:8.3.1

        MySQL:MariaDB-10.2.7

        Nginx:1.14.0

        Elasticsearch:8.12.1


        9200 端口为浏览器访问的 http协议 RESTful 端口。  http port

        9300 端口为 Elasticsearch 集群间组件的通信端口   tcp port


1.首先安装

        Elasticsearch8版本不需要jdk环境,就是JVAV的环境,他本身的压缩文件里就包含了固定的jdk。

        Elasticsearch 的官方地址: https://www.elastic.co/cn/

        

        

        中文文档:https://www.elastic.co/guide/cn/index.html

                         https://www.elastic.co/cn/virtual-events/getting-started-elasticsearch

        Elasticsearch Clients: https://www.elastic.co/guide/en/elasticsearch/client/index.html 



        最新版:https://www.elastic.co/cn/downloads/ 

        其他版本下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch


        查看elasticsearch安装信息:http://192.168.241.142:9200 

        查看集群健康状态:http://192.168.241.142:9200/_cat/health?v

        查看节点分片信息: http://192.168.241.142:9200/_cat/shards 

        登录Kibana查看:  http://192.168.241.142:5601/app/dev_tools#/console

        https://blog.csdn.net/weixin_44488927/article/details/125731329 



        我这里下载的是elasticsearch-8.12.1-linux-x86_64.tar.gz,

[root@bogon src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.1-linux-x86_64.tar.gz
[root@bogon src]# tar -zxvf elasticsearch-8.12.1-linux-x86_64.tar.gz
[root@bogon src]# mv elasticsearch-8.12.1 /usr/local/


        目录结构:

目录描述
bin脚本文件,包括启动elasticsearch,安装插件,运行统计数据等
config配置文件目录,如elasticsearch配置、角色配置、jvm配置等。
jdk7.x 以后特有,自带的 java 环境,8.x版本自带 jdk 17
data默认的数据存放目录,包含节点、分片、索引、文档的所有数据,生产环境需要修改。
libelasticsearch依赖的Java类库
logs默认的日志文件存储路径,生产环境需要修改。
modules包含所有的Elasticsearch模块,如Cluster、Discovery、Indices等。
plugins已安装插件目录


2.更改文件夹所属者:

#添加elasticsearch用户和组
groupadd elasticsearch
useradd -g elasticsearch elasticsearch
#设置权限
chown -R elasticsearch:elasticsearch elasticsearch-6.6.0


[root@bogon src]# useradd cc
[root@bogon src]# chown -R cc:cc /usr/local/elasticsearch-8.12.1/
[root@bogon src]# cd elasticsearch-8.12.1/


查看文件目录结构:
	[root@bogon elasticsearch-8.12.1]# ll
	总用量 2228
	drwxr-xr-x  2 cc cc    4096 2月   1 21:13 bin
	drwxr-xr-x  3 cc cc     210 2月  22 14:49 config
	drwxr-xr-x  8 cc cc      96 2月   1 21:13 jdk
	drwxr-xr-x  5 cc cc    4096 2月   1 21:13 lib
	-rw-r--r--  1 cc cc    3860 2月   1 21:06 LICENSE.txt
	drwxr-xr-x  2 cc cc       6 2月   1 21:08 logs
	drwxr-xr-x 81 cc cc    4096 2月   1 21:13 modules
	-rw-r--r--  1 cc cc 2251484 2月   1 21:08 NOTICE.txt
	drwxr-xr-x  2 cc cc       6 2月   1 21:08 plugins
	-rw-r--r--  1 cc cc    8426 2月   1 21:06 README.asciidoc

 

3.修改配置

3.1)、问题1:

config/elasticsearch.yml

在elasticsearch.yml,修改 不使用密码,ssl认证改为false, network.host: 0.0.0.0;打开端口,http.port: 9200

[root@bogon elasticsearch-8.12.1]# vim config/elasticsearch.yml 
	xpack.security.enabled: false
	xpack.security.http.ssl:
	    enabled: false
    network.host: 0.0.0.0        #默认只允许本机访问,修改为0.0.0.0后则可以远程访问
    http.port: 9200



3.2).  问题2: 

conf/jvm.options

默认配置如下:

-Xms4g

-Xmx4g

默认的配置占用内存太多了,调小一些:

-Xms256m

-Xmx256m

[root@bogon elasticsearch-8.12.1]# vim config/jvm.options

    -Xms256m
    -Xmx256m


3.3). 问题3: bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]"

        虚拟内存区域的最大数量 (vm.max_map_count) 设置过低,在/etc/sysctl.conf文件末添加如下内容 vm.max_map_count = 655360

[root@bogon elasticsearch-8.12.1]# vim /etc/sysctl.conf
然后在文末添加如下内容 vm.max_map_count = 655360
[root@bogon elasticsearch-8.12.1]# sysctl -p
vm.max_map_count = 655360


3.4).  问题4:bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

        Elasticsearch 在启动时执行了引导检查,并发现文件描述符的最大数量过低。为了解决这个问题,你需要增加系统中允许 Elasticsearch 进程使用的最大文件描述符数量。

        编辑 /etc/security/limits.conf,追加以下内容

[root@bogon elasticsearch-8.12.1]# vi /etc/security/limits.conf

    * soft nofile 65536
    * hard nofile 65536


3.5). 问题5: received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/192.168.241.139:9200, remoteAddress=/192.168.241.1:60629}

冷暖自知一抹茶ck

        这是因为在 Elasticsearch 中启用 HTTPS 并设置基本身份验证(Basic Authentication)后,你需要提供有效的用户名和密码以访问 9200 端口。默认情况下,Elasticsearch 不提供预配置的用户名和密码,因此你需要创建相应的用户。

        此时如果你以https前缀访问9200端口,会提示你身份认证,你需要在安装目录下的bin目录下执行以下命令:

        ./elasticsearch-users useradd <desired_username> -p <desired_password> -r superuser

        #这会创建一个具有超级用户权限的用户。请替换 <desired_username> 和 <desired_password> 为你希望使用的实际用户名和密码。

[root@bogon elasticsearch-8.12.1]$ cd bin
[root@bogon bin]$ ./elasticsearch-users useradd cc -p 123456 -r superuser


4. 启动服务

[root@bogon bin]$ su cc
[cc@bogon bin]$ ./elasticsearch


/bin/elasticsearch 如果加上-d就表示后台运行,不加上你关掉终端就会关闭elasticsearch


5. 查看状态是否正常;

冷暖自知一抹茶ck

6. 然后在浏览器输入你的Ip:9200(如果出现如下图就表示成功,如果不出现查看下阿里云或者腾讯云的安全组有没有添加上9200的端口)

冷暖自知一抹茶ck



问题1:high disk watermark [90%] exceeded on [6UfoOc1-QaCrrRlhLngSkA]

        超过磁盘水位线上限[90%][...]碎片将从该节点中移出:每当您遇到系统中可用磁盘空间不足时,这个错误就会出现。

        问题原因:磁盘空间不足,配置了集群的话,索引会不健康。所以,为了克服这个问题,我不得不清理一些数据以腾出更多磁盘空间,我当前的可用空间是40GB,运行正常。



        报错信息汇总:

         linux系统elasticsearch的详细安装配置教程(超级详细)

        

        参考:

                【实用篇】Elasticsearch01 

                linux 下安装和使用Elasticsearch8+php的操作

                window关于PHP 使用 Elastic Search8的相关经历


冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论