ElasticSearch集群安装及Java客户端使用

ElasticSearch集群安装及Java客户端使用

1、传统模式安装

1.1 ElasticSearch安装

下载Es安装包

ElasticSearch的官方地址:https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html

1.2 ES图形化管理界面安装

  1. 下载head https://github.com/mobz/elasticsearch-head
  2. 下载Node.js https://nodejs.org/en/download
    ​ 安装完成 在cmd窗口执行node -v查看node.js的版本号 检查是否安装成功
  1. 安装grunt

通过node.js的包管理器npm安装grunt为全局,grunt是基于Node.js的项目构建工具

npm install -g grunt-cli

4)执行 npm install (不执行该命宁 使用grunt server命令会报错)

npm install

5)elasticsearch-head解压目录下打开命宁窗口

执行 grunt server 启动服务

访问http://localhost:9100 (elasticsearch-head服务端口)

6、配置ElasticSearch跨域访问 修改 config/elasticsearch.yml 文件

http.cors.enabled: true
http.cors.allow-origin: "*"

需要重启ES服务

7、在head页面输入链接的ElasticSearch地址,点击连接按钮

2 容器化安装

2.1 ElasticSearch安装

这里使用docker+docker compose 搭建Elasticsearch集群

2.1.1 环境准备

docker、docker-compose环境安装,参考官网安装:https://docs.docker.com/compose/install/

运行:

#docker安装
curl -sSL https://get.daocloud.io/docker | sh
 
#docker-compose安装
curl -L \
https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` \
> /usr/local/bin/docker-compose
 
chmod +x /usr/local/bin/docker-compose
 
#查看安装结果
docker-compose -v

2.1.2 创建elasticsearch数据、日志存放目录

#创建数据/日志目录 这里我们部署3个节点
mkdir /root/app/elasticsearch/data/{
   node0,node1,node2} -p
mkdir /root/app/elasticsearch/logs/{
   node0,node1,node2} -p
cd /root/app/elasticsearch
#权限
chmod 0777 data/* -R && chmod 0777 logs/* -R
 
#防止JVM报错
echo vm.max_map_count=262144 >> /etc/sysctl.conf
sysctl -p

2.1.3 基于elasticsearch的官方镜像,制作一个集成了IK分词器的新镜像

Es默认的分词器,在中文的分词上并不友好,会将语句每个字进行分词作为索引,所以在使用Term关键字查询的时候多个汉字无法命中文档。这个时候就需要一个合理的分词规则,将一个完整的语句划分为多个比较复合表达逻辑的独立的词条。IK分词器在是一款基于词典和规则的中文分词器,所以这里将IK分词器集成到elasticsearch中。集成IK分词器有两种方式:

方式一: 执行docker exec命令进入容器,下载IK分词器zip包https://github.com/medcl/elasticsearch-analysis-ik/releases,然后解压复制到elasticsearch的插件目录,然后重启容器即可,但是这样需要在集群里的每个容器都执行一遍,后续容器销毁了,创建新的容器还需要重复来一遍,费事费力,果断放弃。

方式二: 基于elasticsearch的官方镜像,制作一个集成了IK分词器的新镜像,这样后续只要基于这个新镜像创建的新容器就自带了IK分词器,这里需要注意,由于elasticsearch每次版本变动比较大,所以在集成IK分词器时要注意版本对应

2.1.3.1 编写DockerFile
FROM docker.elastic.co/elasticsearch/elasticsearch:7.4.0
#作者
MAINTAINER GongLJ <G381413362@163.com>
RUN sh -c '/bin/echo -e "y" | /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.4.0.zip'
2.1.3.2 构建镜像
docker build --tag=elasticsearch-ik-custom:7.4.0 .

在这里插入图片描述

2.1.4 创建docker-compose编排文件

version: '2.2'
services:
  es01:
    image: elasticsearch-ik-custom:7.4.0
    container_name: 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值