• elasticsearch集群搭建,以及kibana和ik分词器的安装(7.3.2)


    elasticsearch的安装和集群的搭建

    1.下载elasticsearch压缩包文件,历史版本下载 :
    https://www.elastic.co/cn/downloads/past-releases/

    2. 将压缩包上传至linux,解压到指定目录:
    创建文件夹 mkdir elasticsearch
    tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz -C /home/centos/elasticsearch

    3. 查看配置文件:(虚拟机内存按需分配)
    vi config/jvm.options

    vi config/elasticsearch.yml elasticsearch的配置文件(单节点)

    #集群名称
    cluster.name: sinochem-es
    #节点名称
    node.name: es-0
    #是不是有资格主节点
    #node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    #node.max_local_storage_nodes: 3
    #ip地址(外网可访问使用 0.0.0.0)
    network.host: 0.0.0.0
    #端口
    http.port: 9200
    #内部节点之间沟通端口
    #transport.tcp.port: 9300
    #es7.x 之后新增的配置,节点发现
    #discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    #cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
    #数据和存储路径
    path.data: /home/centos/elasticsearch-master/data
    path.logs: /home/centos/elasticsearch-master/logs
    # 开启跨域
    http.cors.enabled: true
    
    # 所有人访问
    http.cors.allow-origin: "*"
    
    #用安全性
    xpack.security.enabled: false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    4. 启动单机版elasticsearch:
    1 首先需要创建es用户,root用户无法启动
    2 创建es用户:useradd es
    3 创建密码:passwd es
    4 需要给elasticsearch赋予es用户的执行权限:
    chown -R es:es /home/centos/elasticsearch-master/
    5 启动:
    进入到elasticsearch的bin目录下,执行 ./elasticsearch
    在这里插入图片描述
    6 访问 http://ip:9200/
    启动成功
    6 后台启动elasticsearch
    bin目录下 执行 ./elasticsearch -d
    查看进程: ps aux|grep elasticsearch

    3. elasticsearch集群的搭建和配置:
    1 将elasticsearch的安装包分别复制3份
    cp -R elasticsearch-master elasticsearch-node1
    在这里插入图片描述
    2 分别修改3个节点的配置文件 vi config/elasticsearch.yml
    master节点(名字有误 意思是第一个节点 不能准确的说是master)

    #集群名称
    cluster.name: xxx-es
    #节点名称
    node.name: es-0
    #是不是有资格主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #ip地址
    network.host: 0.0.0.0
    #端口
    http.port: 9200
    #内部节点之间沟通端口
    transport.tcp.port: 9300
    #es7.x 之后新增的配置,节点发现
    discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
    #数据和存储路径
    path.data: /home/centos/elasticsearch-master/data
    path.logs: /home/centos/elasticsearch-master/logs
    # 开启跨域
    http.cors.enabled: true
    
    # 所有人访问
    http.cors.allow-origin: "*"
    
    #用安全性
    xpack.security.enabled: false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    node1节点(集群中的第二个节点)

    #集群名称
    cluster.name: xxx-es
    #节点名称
    node.name: es-1
    #是不是有资格主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #ip地址
    network.host: 0.0.0.0
    #端口
    http.port: 9201
    #内部节点之间沟通端口
    transport.tcp.port: 9301
    #es7.x 之后新增的配置,节点发现
    discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
    #数据和存储路径
    path.data: /home/centos/elasticsearch-master/data
    path.logs: /home/centos/elasticsearch-master/logs
    # 开启跨域
    http.cors.enabled: true
    
    # 所有人访问
    http.cors.allow-origin: "*"
    
    #用安全性
    xpack.security.enabled: false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    node-2节点(集群中的第三个节点)

    #集群名称
    cluster.name: xxx-es
    #节点名称
    node.name: es-2
    #是不是有资格主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #ip地址
    network.host: 0.0.0.0
    #端口
    http.port: 9202
    #内部节点之间沟通端口
    transport.tcp.port: 9302
    #es7.x 之后新增的配置,节点发现
    discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
    #数据和存储路径
    path.data: /home/centos/elasticsearch-master/data
    path.logs: /home/centos/elasticsearch-master/logs
    # 开启跨域
    http.cors.enabled: true
    
    # 所有人访问
    http.cors.allow-origin: "*"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    注意:本集群为单机版的集群搭建,三个节点中的cluster.name必须保持一致,node.name保持不同

    3 分别启动三个 elasticsearch

    4 查看集群是否搭建成功
    访问 http://ip:9201/_cat/healthv
    在这里插入图片描述
    注:es节点启动过程中可能遇到的错误

    Could not rename log file 'logs/gc.log' to 'logs/gc.log.09' (Permission denied).
    Invalid -Xlog option '-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m', see error log for details.
    Error: Could not create the Java Virtual Machine.
    
    • 1
    • 2
    • 3

    解决:root下执行 chmod 777 -R logs 这里根据你所挂载的目录要放开相应的权限

    Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /data/elasticSearch/elasticsearch-8.0.1-node-2/config/elasticsearch.keystore
    Likely root cause: java.nio.file.AccessDeniedException: /data/elasticSearch/elasticsearch-8.0.1-node-2/config/elasticsearch.keystore
    
    • 1
    • 2

    解决:
    cd /data/elasticSearch/elasticsearch-8.0.1-node-2/config
    chown -R es:es elasticsearch.keystore

    ERROR: [1] bootstrap checks failed
    [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    
    • 1
    • 2

    解决:
    vi /etc/sysctl.conf  
    添加 一行 vm.max_map_count=655360
    加载参数 sysctl -p

    kibana的安装

    Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana ,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard )实时显示Elasticsearch查询动态。

    1. Kibana的下载(版本必须与ElasticSearch一致)
    历史版本下载:https://www.elastic.co/cn/downloads/past-releases/
    将压缩包上传至linux

    2. Kibana的安装
    1 mkdir kibana 创建一个文件夹
    2 解压到文件夹
    tar -zxvf kibana-7.3.2-linux-x86_64.tar.gz -C /home/centos/kibana
    2 修改kibana 的配置文件
    vi config/kibana.yml

    server.host: "0.0.0.0"
    
    server.port: 5601
    
    elasticsearch.hosts: ["http://localhost:9200","http://localhost:9201","http://localhost:9202"]
    #elasticsearch.hosts: ["http://localhost:9200","http://localhost:9201"]
    #elasticsearch.username: "es"
    #elasticsearch.password: "es"
    #kibana.index: ".kibana"
    i18n.locale: "zh-CN"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3. Kibana的启动
    1 给kibana安装目录赋予用户权限,不能使用root用户启动
    chown -R es:es /home/centos/kibana/kibana-7.3.2-linux-x86_64
    2 运行
    bin目录下运行 ./kibana
    在这里插入图片描述
    后台运行 nohup ./kibana &
    查看进程: ps -ef | grep node
    3 访问
    http://ip:5601/app/kibana
    在这里插入图片描述
    使用kibana访问节点信息
    GET _cat/healthv
    在这里插入图片描述

    ik分词器的安装

    1. ik分词器(中文分词器)
    分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词(不使用用IK分词器的情况下),比如“周同学还不发专辑”会被分为”周”,”同”,”学”,”还”,”不”,”发”,”专”,”辑” ,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题

    IK提供了两个分词算法: ik_smart和ik_max_word ,其中ik_smart为最少切分, ik_max_word为最细粒度划分

    1. ik分词器的下载与安装

    1 下载的版本要与ElasticSearch版本对应
    2 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
    3 安装:
    将压缩包上传至linux服务器
    使用unzip解压,没有unzip命令使用 yum install -y unzip 安装
    在elasticsearch的plugins目录下新建ik目录,mkdir ik
    使用命令解压 unzip elasticsearch-analysis-ik-7.3.2.zip -d elasticsearch-master/plugins/ik/
    4 使用es账户重启es ./elasticsearch -d
    5 查看效果
    在这里插入图片描述

  • 相关阅读:
    CSS 里的min-width/max-width和min-height/max-height
    Unity技术手册-UGUI零基础详细教程-Canvas缩放的三种方式
    【数据结构】B : DS图应用--最短路径
    GO 语言的方法??
    【PaperReading】Spherical Message Passing for 3D Molecular Graphs
    Python程序化生成三维场景【PyPRT】
    子网的划分
    在vue-cli项目中打包的 dist 静态文件不能直接双击打开访问解决方法-直接打开访问是空白的解决方法
    【 React 】对React refs的理解?应用场景?
    本科java菜鸡,分享腾讯菜鸟京东面试经历
  • 原文地址:https://blog.csdn.net/m0_67401417/article/details/126717101