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. 重启
相关推荐
腥臭腐朽的日子熠熠生辉几秒前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian2 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之8 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码28 分钟前
Spring Task 定时任务
java·前端·spring
俏布斯40 分钟前
算法日常记录
java·算法·leetcode
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息1 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
程序猿chen1 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
qr9j422331 小时前
elasticsearch 如果按照日期进行筛选
大数据·elasticsearch·jenkins
DavidSoCool1 小时前
es分页边界数据重复问题处理
大数据·elasticsearch·搜索引擎