栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Windows / Linux 安装ElasticSearch7.x单机/集群 + IK分词器

Windows / Linux 安装ElasticSearch7.x单机/集群 + IK分词器

1. 前言 ElasticSearch介绍

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

主要应用场景
全文检索、日志收集系统(ELK)

搭建准备

ElasticSearch必须要有JDK环境,所以本文安装示例是基于已有JDK的前提下。
如未安装可参考blog进行安装:Linux配置jdk环境

2. 资料下载

当前稳定版本为:7.15.2,故选择上一个稳定版本7.14.2
历史版本下载选择地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

CSDN下载
  • elasticsearch-7.14.2-windows-x86_64.zip(Windows)
  • elasticsearch-7.14.2-darwin-x86_64.tar.gz (Macos)
  • elasticsearch-7.14.2-linux-x86_64.tar.gz (Linux)
官网下载
  • elasticsearch-7.14.2-windows-x86_64.zip(Windows)
  • elasticsearch-7.14.2-darwin-x86_64.tar.gz (Macos)
  • elasticsearch-7.14.2-linux-x86_64.tar.gz (Linux)
3. 单机搭建 Windows
  1. 解压后得到目录:elasticsearch-7.14.2

  2. 双击elasticsearch.bat启动

  3. 验证安装
    url:http://localhost:9200/
    出现下图表示成功:↓

配置IK分词器

GitHub源码地址:https://github.com/medcl/elasticsearch-analysis-ik
CSDN下载:elasticsearch-analysis-ik-7.14.2.zip
GitHub下载:elasticsearch-analysis-ik-7.14.2.zip
需注意ik与es的版本一致


1)创建ik插件目录并解压

2)重启es

Linux
  1. 下载/上传ElasticSearch压缩包
    [root@jszwjs56ji ~]# [root@jszwjs56ji ~]# sudo mkdir /data/elasticsearch && cd /data/elasticsearch
    # 下载压缩包
    [root@jszwjs56ji elasticsearch]# sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.2-linux-x86_64.tar.gz
    
  2. 解压并进入ElasticSearch
    [root@jszwjs56ji elasticsearch]# sudo tar -zxvf elasticsearch-7.14.2-linux-x86_64.tar.gz && cd elasticsearch-7.14.2/
    
  3. 创建esuser用户(es不允许以root用户启动)
    # 添加用户
    [root@jszwjs56ji elasticsearch-7.14.2]# sudo adduser esuser
    # 创建用户密码(需输入两次密码)
    [root@jszwjs56ji elasticsearch-7.14.2]# sudo passwd esuser
    Changing password for user esuser.
    New password:
    BAD PASSWORD: it does not contain enough DIFFERENT characters
    BAD PASSWORD: is too simple
    Retype new password:
    passwd: all authentication tokens updated successfully.
    # 赋予目录权限
    [root@jszwjs56ji elasticsearch-7.14.2]# sudo chown -R esuser ../elasticsearch-7.14.2
    # 切换到esuser用户
    [root@jszwjs56ji elasticsearch-7.14.2]# su esuser
    
  4. 启动ElasticSearch
    [esuser@jszwjs56ji elasticsearch-7.14.2]# ./bin/elasticsearch
    
    # 以守护进程启动
    [esuser@jszwjs56ji elasticsearch-7.14.2]# ./bin/elasticsearch -d
    
  5. 验证安装
    本地请求9200端口
    [esuser@jszwjs56ji ~]# curl 127.0.0.1:9200
    {
      "name" : "jszwjs56ji",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "nsT3ilqXSN-92Ynru1UMBQ",
      "version" : {
        "number" : "7.14.2",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "6bc13727ce758c0e943c3c21653b3da82f627f75",
        "build_date" : "2021-09-15T10:18:09.722761972Z",
        "build_snapshot" : false,
        "lucene_version" : "8.9.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    
  6. 开机自启
    # 修改rc.local文件
    [root@jszwjs56ji elasticsearch-7.14.2]# sudo vim /etc/rc.local
    
    # 新增如下两行(指向jdk8路径、elasticsearch启动脚本)
    export JAVA_HOME=/data/jdk1.8.0_201/
    ./data/elasticsearch/elasticsearch-7.14.2/bin/elasticsearch -d
    
配置IK分词器

GitHub源码地址:https://github.com/medcl/elasticsearch-analysis-ik
CSDN下载:elasticsearch-analysis-ik-7.14.2.zip
GitHub下载:elasticsearch-analysis-ik-7.14.2.zip
需注意ik与es的版本一致

配置ik分词器

一键安装

# 用户需切换为:esuser
[esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.2/elasticsearch-analysis-ik-7.14.2.zip

手动安装

# 创建ik目录
[esuser@jszwjs56ji elasticsearch-7.14.2]$ mkdir plugins/ik && cd plugins/ik
# 下载
[esuser@jszwjs56ji ik]$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.2/elasticsearch-analysis-ik-7.14.2.zip
# 解压
[esuser@jszwjs56ji ik]$ unzip elasticsearch-analysis-ik-7.14.2.zip
# 删除压缩包
[esuser@jszwjs56ji ik]$ rm -f elasticsearch-analysis-ik-7.14.2.zip
# 启动
[esuser@jszwjs56ji ik]$ ./../../bin/elasticsearch -d
允许其他ip访问

ElasticSearch默认只允许127回环地址,如有需要可参考如下配置步骤
注:需切换回root用户进行如下步骤操作:su root

elasticsearch.yml

sudo vim config/elasticsearch.yml
network.host: 0.0.0.0
node.name: node-1
cluster.initial_master_nodes: ["node-1"]

sysctl.conf

sudo vim /etc/sysctl.conf
# 末尾补充
vm.max_map_count = 655360

使sysctl.conf文件生效:sudo sysctl -p

limits.conf

sudo vim /etc/security/limits.conf
# es用户:esuser
esuser soft nofile 65536
esuser hard nofile 65536
* soft nofile 65536
* hard nofile 65536

上述三个文件均修改完后重启es即可,参考上述第4点:启动ElasticSearch
再次访问url:http://外网ip:9200

集群搭建(Linux)

服务器信息

服务器ip地址es端口node-name通信端口
服务器110.2.1.1979200esnode-19300
服务器210.2.1.1229200esnode-29300
服务器310.2.1.2379200esnode-39300

搭建前提
先按照上述单机搭建(Linux)方式(需配置允许其他ip访问步骤)在3台服务器上依次安装

集群配置

  1. 逐个停止启动的es
    [esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ jps
    27107 Jps
    25749 Elasticsearch
    [esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ kill -9 25749
    [esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ jps
    27341 Jps
    
  2. 修改elasticsearch.yml文件
    vim config/elasticsearch.yml
    
    # 集群名称
    cluster.name: hyesearch
    # 允许成为主节点
    node.master: true
    # 允许存储数据
    node.data: true
    # 节点通信端口
    transport.tcp.port: 9300
    # 是否压缩传输数据
    transport.tcp.compress: true
    # 数据目录
    path.data: /data/elasticsearch/elasticsearch-7.14.2/data
    # 日志目录
    path.logs: /data/elasticsearch/elasticsearch-7.14.2/logs
    # 访问端口
    http.port: 9200
    # 集群节点host
    discovery.seed_hosts: ["10.2.1.197:9300", "10.2.1.122:9300", "10.2.1.237:9300"]
    # 集群节点名称
    cluster.initial_master_nodes: ["esnode-1", "esnode-2", "esnode-3"]
    # 跨域配置
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    # esnode-1(10.2.1.197)
    # 当前节点名称
    node.name: esnode-1
    # 回环地址
    network.host: 10.2.1.197
    
    # esnode-2(10.2.1.122)
    # 当前节点名称
    node.name: esnode-2
    # 回环地址
    network.host: 10.2.1.122
    
    # esnode-3(10.2.1.237)
    # 当前节点名称
    node.name: esnode-3
    # 回环地址
    network.host: 10.2.1.237
    
  3. 启动es集群
    # 删除历史data数据
    [esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ rm -rf data/*
    # 启动
    [esuser@jsvm-hynode-011 elasticsearch-7.14.2]$ ./bin/elasticsearch -d
    
  4. 验证集群
    随意访问其中一台的webUrl:http://ip:9200/_nodes


    格式化json可以看到共有3个节点,并且成功的节点有3个。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号