Linux下安装ElasticSearch(ES)及相关配置

前言

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

Linux下安装ElasticSearch(ES)及相关配置_第1张图片

官网:https://www.elastic.co/cn/elasticsearch/

 

前提

安装JDK https://blog.csdn.net/javanbme/article/details/111573731

 

安装步骤

1. 进入安装目录

cd /usr/local

2. 下载源码

  官网下载:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/targz.html

  方式一: 链接: https://pan.baidu.com/s/1fSwBOKStOW9R38xEHnMXCA  密码: c9no    下载后放至上述目录

  方式二:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz

3. 解压安装包

tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz

4. 重命名

mv elasticsearch-7.6.2/ elasticsearch

5. 修改配置文件

 cd elasticsearch/config/

  进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

 vi elasticsearch.yml 

  英文输入状态下 按 i 进入insert模式  修改如下配置 

cluster.name: test-elastic
node.name: node-1
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["node-1"]    

  按esc输入 :wq 保存并退出

6. 补齐目录

mkdir -p /usr/local/elasticsearch/data

7. 因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户

useradd  elk
passwd   elk

  再输入两次密码(自定义)  elk

8. 为用户赋权限  

chown -R elk:elk /usr/local/elasticsearch

9. 开放防火墙端口(9200)

10. 切换用户启动ES  (验证是否初步安装成功)

cd 
su elk
cd  /usr/local/elasticsearch
bin/elasticsearch  &

Linux下安装ElasticSearch(ES)及相关配置_第2张图片

11. 设置x-park (密码访问)

  服务器中执行

curl -H "Content-Type:application/json" -XPOST  http://127.0.0.1:9200/_xpack/license/start_trial?acknowledge=true

12. 添加配置

  进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

cd /usr/local/elasticsearch/config/
vi elasticsearch.yml 

  英文输入状态下 按 i 进入insert模式  新增如下配置 

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

  按esc输入 :wq 保存并退出

13. 重启es

  查找es进程

 ps -ef|grep "elastic"

Linux下安装ElasticSearch(ES)及相关配置_第3张图片

  杀掉进程 (找PID 上图我的进程是27543)

kill -9 27543

  杀掉进程后、启动命令执行上述的第10个步骤 

14. 设置一系列密码

cd /usr/local/elasticsearch/
bin/elasticsearch-setup-passwords interactive

密码设置为 2021admin   复制粘贴上去即可  

Linux下安装ElasticSearch(ES)及相关配置_第4张图片

15. 如果想修改密码的话可执行以下命令(可忽略)

  服务器中执行

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

16. 生成CA证书

  进入es目录 运行以下命令   遇到【Y/N】 输入y 回车   

  遇到输入密码 直接回车 !

  如提示权限不足 chmod 660 /usr/local/elasticsearch/config/certs/

bin/elasticsearch-certutil ca --ca-dn "CN=WolfBolin Elatic CA" --out /usr/local/elasticsearch/config/certs/wolfbolin-elastic-ca.p12
bin/elasticsearch-certutil cert -ca /usr/local/elasticsearch/config/certs/wolfbolin-elastic-ca.p12 --out /usr/local/elasticsearch/config/certs/wolfbolin-elastic-certificates.p12

17. 添加CA配置

cd /usr/local/elasticsearch/config/
vi elasticsearch.yml 

  英文输入状态下 按 i 进入insert模式  新增如下配置 

xpack.license.self_generated.type: basic    
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/wolfbolin-elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/wolfbolin-elastic-certificates.p12

  按esc输入 :wq 保存并退出

18. 重启

重复上述第13步骤

19. 访问

url:9200    

Linux下安装ElasticSearch(ES)及相关配置_第5张图片

输入用户名密码 elastic/2021admin

Linux下安装ElasticSearch(ES)及相关配置_第6张图片

 

拓展

安装Kibana:https://blog.csdn.net/javanbme/article/details/114888089 

 

问题集锦

1.  INFO: os::commit_memory(0x00000000ca660000, 899284992, 0) failed; error='Not enough space' (errno=12)   

  内存不够 修改配置文件 ES目录/config/jvm.options,改为512m 

cd /usr/local/elasticsearch/config/
vi jvm.options 

  修改以下内容

-Xms512m
-Xmx512m

2. Likely root cause: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/config/elasticsearch.keystore

  切换root用户下  添加权限

chown -R elk:elk /usr/local/elasticsearch

3. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

  修改虚拟内存

 vim /etc/sysctl.conf

   添加以下内容

vm.max_map_count = 262144

  保存之后执行

sysctl -p

  4. java.lang.RuntimeException: can not run elasticsearch as root

   切换es用户启动即可  

su elk

 

你可能感兴趣的:(Linux,elasticsearch,linux,搜索引擎)