ElasticSearch7.12.1详细安装

部署ElasticSearch

docker安装

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络

  1. 创建网络

docker network create es-net

  1. 查看网络列表

docker network ls

  1. 获取镜像包

docker pull elasticsearch:7.12.1

  1. 运行
sql 复制代码
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1

# -e "cluster.name=es-docker-cluster":设置集群名称
# -e "http.host=0.0.0.0":监听的地址,可以外网访问
# -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小
# -e "ES_JAVA_OPTS="-Xms256m -Xmx256m" :可以设置小内存(太小不行,无法启动,各种功能栈溢出内存不够),但是Xms要小于Xmx
# -e "discovery.type=single-node":非集群模式
# -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
# -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
# -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
# --privileged:授予逻辑卷访问权
# --network es-net :加入一个名为es-net的网络中
# -p 9200:9200:端口映射配置

文件安装

  1. https://www.elastic.co/cn/downloads/past-releases#elasticsearch 指定版本下载
  2. 解压到指定目录

tar -zxvf /usr/local/es/elasticsearch-7.8.0-linux-x86_64.tar.gz -C /usr/local/es/

  1. 修改配置文件elasticsearch.yml
sql 复制代码
# cluster.name: my-application
 
node.name: node-1
 
path.data: /usr/local/es/elasticsearch-7.8.0/data
 
path.logs: /usr/local/es/elasticsearch-7.8.0/logs
 
network.host: 0.0.0.0
 
http.port: 9200
 
discovery.seed_hosts: ["127.0.0.1"]
 
cluster.initial_master_nodes: ["node-1"]
 
  1. 修改 jvm.options
sql 复制代码
# 前面不留空格
-Xms128m
-Xmx128m 
  1. 修改 limits.conf

vim /etc/security/limits.conf 添加以下内容

sql 复制代码
# 添加如下内容: * 代表任意用户
* soft nofile 65536 
* hard nofile 131072
* soft nproc 2048 
* hard nproc 4096
  1. 修改 sysctl.conf
sql 复制代码
vm.max_map_count=655360

# 立即生效
sudo sysctl -p
  1. 运行

./bin/elasticsearch 启动

nohup ./bin/elasticsearch & 后台启动

部署kibana

Docker安装

kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。

  1. 拉取镜像

docker pull kibana:7.12.1

  1. 执行命令
sql 复制代码
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
  • -p 5601:5601:端口映射配置
  1. 查看日志

docker logs -f kibana

  1. DevTools kibana中提供了一个DevTools界面 ,这个界面中可以编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。

RPM文件部署

  1. 服务器安装

sudo rpm -ivh package_name.rpm

  1. 编辑Kibana配置文件

/etc/kibana/kibana.yml

  1. 启动服务

sudo systemctl start kibana

  1. 程序自启动

sudo systemctl enable kibana

IK分词器插件

  1. 安装包下载地址

https://github.com/infinilabs/analysis-ik/releases/tag/v7.12.1

  1. 解压到plugins目录
  2. 两个分词算法ik_smart 和 ik_max_word
  3. 自定义配置分词
    1. 新增字典配置文件,后缀为dic
    2. IKAnalyzer.cfg.xml,用来配置自定义的词库 新增字典配置到配置文件
  4. 重启
相关推荐
咕噜咕噜啦啦14 小时前
Java期末习题速通
java·开发语言
盐真卿14 小时前
python2
java·前端·javascript
一嘴一个橘子15 小时前
mybatis - 动态语句、批量注册mapper、分页插件
java
组合缺一15 小时前
Json Dom 怎么玩转?
java·json·dom·snack4
危险、15 小时前
一套提升 Spring Boot 项目的高并发、高可用能力的 Cursor 专用提示词
java·spring boot·提示词
kaico201815 小时前
JDK11新特性
java
钊兵15 小时前
java实现GeoJSON地理信息对经纬度点的匹配
java·开发语言
jiayong2315 小时前
Tomcat性能优化面试题
java·性能优化·tomcat
秋刀鱼程序编程15 小时前
Java基础入门(五)----面向对象(上)
java·开发语言
纪莫16 小时前
技术面:MySQL篇(InnoDB的锁机制)
java·数据库·java面试⑧股