@TOC


一、elasticsearch的概念

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

二、elasticsearch的下载安装

elasticsearch官网

2.1软件安装

1.下载软件

1.elasticsearch的安装部署 - 图1

2. 运行

点击elasticsearch.bat运行软件
1.elasticsearch的安装部署 - 图2

3.校验

进入 http://localhost:9200/,出现下面的页面则表示成功
1.elasticsearch的安装部署 - 图3

2.linux下安装部署

1.下载linux解压包

elasticSearch7.8.0Linux版本下载地址

2.解压压缩包

  1. #新建学习文档,并把压缩包放入文档
  2. mkdir studyFile
  3. ##进入文档中
  4. cd studyFile
  5. #解压文件
  6. tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
  7. #改名
  8. mv elasticsearch-7.8.0 es

3. 新建用户

因为elasticSearch运行不允许使用root用户,所有我们这里新建一个root用户

  1. ##新建用户
  2. useradd es
  3. #设置用户密码
  4. passwd es
  5. ##设置文件所有者
  6. chown -R es:es es

这里可以看到es的文件拥有者已经变成了es
1.elasticsearch的安装部署 - 图4

4.环境设置

  1. 设置elasticsearch.yml
  1. vim es/config/elasticsearch.yml

在配置文件中加入在这里插入代码片

  1. cluster.name: elasticsearch
  2. node.name: node-1
  3. network.host: 0.0.0.0
  4. http.port: 9200
  5. cluster.initial_master_nodes: ["node-1"]
  1. 设置limits.conf
  1. vim /etc/security/limits.conf

配置文件加入下面配置

  1. # 在文件末尾中增加下面内容
  2. # 每个进程可以打开的文件数的限制
  3. es soft nofile 65536
  4. es hard nofile 65536

3.设置20-nproc.conf

  1. vim /etc/security/limits.d/20-nproc.conf

配置文件中加入下面配置

  1. # 在文件末尾中增加下面内容
  2. # 每个进程可以打开的文件数的限制
  3. es soft nofile 65536
  4. es hard nofile 65536
  5. # 操作系统级别对每个用户创建的进程数的限制
  6. * hard nproc 4096
  7. # 注: * 带表 Linux 所有用户名称
  1. 修改sysctl.conf
  1. vim /etc/sysctl.conf

配置文件中加入下面配置

  1. # 在文件中增加下面内容
  2. # 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
  3. vm.max_map_count=655360

重新加载

  1. sysctl -p

5.使用es用户启动

  1. #跳转到es用户
  2. su es
  3. #启动elasticSearch
  4. bin/elasticsearch
  5. ## 如果提示用户权限不够,再执行一次文档权限更改的命令
  6. chown -R es:es /studyFile/es

6.查询执行结果

  1. # 查询本地9200端口
  2. curl http://localhost:9200

主机访问虚拟机的9200端口
http://192.168.87.128:9200/
如果过提示访问不到,执行下面命令

  1. ##停止防火墙
  2. systemctl stop firewalld.service
  3. systemctl stop iptables.service

3.docker安装部署

1. 下载镜像

  1. docker pull elasticsearch:7.14.2

2.创建文件夹

  1. mkdir elasticsearch
  1. mkdir {config,data,plugins}

1.elasticsearch的安装部署 - 图5

3.创建配置文件

  1. cd /dockerImageFile/elasticsearch/config/
  2. echo "http.host : 0.0.0.0" >> $PWD/elasticsearch.yml

1.elasticsearch的安装部署 - 图6

4.创建容器命令

进入创建的文件夹

  1. cd /dockerImageFile/elasticsearch/

执行创建容器命令

  1. docker run --name=elasticsearch -p 9200:9200 -p 9300:9300 \
  2. -e "discovery.type=single-node" \
  3. -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
  4. -v $PWD/config/elasticsearch.yml:/usr/share/elasticsearch/congif/elasticsearch.yml \
  5. -v $PWD/data:/usr/share/elasticsearch/data \
  6. -v $PWD/plugins:/usr/share/elasticsearch/plugins \
  7. -d elasticsearch:7.14.2

5.校验

进入http://192.168.21.128:9200/地址,看是否存在提示信息。如果返现没有提示信息,则执行下面命令

  1. cd /dockerImageFile/elasticsearch/
  2. chmod -R 777 $PWD

原因是因为文档没有访问权限

1.elasticsearch的安装部署 - 图7