zoukankan      html  css  js  c++  java
  • ElasticSearch 安装实战

    1:解压 ElasticSearch 

    tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz 

     2:将解压后的 ElasticSearch 目录移动到  /usr/local  

    • mv elasticsearch-7.6.2  /usr/local/

    3:进入  ElasticSearch 根目录 , 在根目录下新建  data 目录  ,用于存储 index索引数据

    cd /usr/local/elasticsearch-7.6.2/
    mkdir data

    4:进入  conf 打开  elasticsearch.yml

    cd /config/
    vim elasticsearch.yml

    5: 修改配置文件信息

    • cluster.name     设置集群总名称
    • node.name       集群中这个节点服务器的名称
    • path.data          索引数据放置目录,放在刚刚新建的data  目录
    • path.logs           日志放置目录
    • http.port             ElasticSearch  占用端口号
    • cluster.initial_master_nodes    集群启动时需要哪些节点
    #cluster.name: my-application 
    开放注释并更改为:
    cluster.name: es-qiujian
    
    #node.name: node-1
    开放注释并更改为:
    node.name: es-node1
    
    #path.data: /path/to/data
    开放注释并更改为:
    path.data: /usr/local/elasticsearch-7.6.2/data
    
    #path.logs: /path/to/logs
    开放注释并更改为:
    path.logs: /usr/local/elasticsearch-7.6.2/logs
    
    #network.host: 192.168.0.1
    开放注释并更改为:
    network.host: 0.0.0.0
    
    #http.port: 9200
    不用开放注释默认就是9200,只是提示你ElasticSearch 默认端口  9200
    
    #cluster.initial_master_nodes: ["node-1", "node-2"]
    开放注释并更改为:
    cluster.initial_master_nodes: ["es-node1"]

    6:添加用户:

    • 默认配置中    ES不允许使用root操作es,需要添加用户   
    • 原因是:这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑
    •  
    • useradd esuser
      chown -R esuser:esuser /usr/local/elasticsearch-7.6.2/
      su esuser
      whoami
      • 第一条命令: 新建用户  esuser

      • 第二条命令: esuser 给予  ElasticSearch 目录下的最大权限

      • 第三条命令: 切换到  esuser 用户

      • 第四条命令: 查看当前使用账号

    7:进入 bin 目录,启动  ElasticSearch 脚本

    cd /usr/local/elasticsearch-7.6.2/bin
    ./elasticsearch

    报错,说我内存不足

     8:进入 conf 目录, 修改  jvm 配置

    cd   /usr/local/elasticsearch-7.6.2/config
    vim jvm.options

    将初始化内存  和最大化内存根据自身硬件 进行调整  ,我这这边调整为  128m

    9:再次启动 , 报两个错误   

    • 1:最大线程数 3895 过低,最小要求达到  4095
    • 2:最大虚拟内存 65530 过低,最小要求达到   262144

    10:切换回root 用户,打开  文件描述符 limits 配置文件

    su root
    输入密码
    vim /etc/security/limits.conf

     11:修改警告值 和阀值  ,下面这个截图是因为我使用 esuser 用户 所以提示我没有权限

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096

    12:打开:liunx内核配置说明/etc/sysctl.conf   , 修改虚拟机线程数

    vim /etc/sysctl.conf

    在最后一行上设置 

    vm.max_map_count=262145

    13:sysctl -p 刷新一下

    sysctl -p 

    14: 再次启动,下图:启动成功图    PS:云服务器 记得打开  9200端口

    15:安装  ElasticSearch  客户端  :

    Google市场 ElasticSearch  head 路径:        https://chrome.google.com/webstore/search/elasticsearch?hl=zh-CN 

    16:安装成功并连接图 

    17:安装中文分词器

    18:下载好之后进入  ElasticSearch  plugins 目录下  新建文件夹  ik  , cd 到ik 目录  存放资源

    cd /usr/local/elasticsearch-7.6.2/plugins
    mkdir ik

    20: 解压 ElasticSearch ,我这边云服务器没有安装 unzip  所以安装好unzip 在进行解压

    unzip elasticsearch-analysis-ik-7.6.2.zip
    提示 :-bash: unzip: command not found    说明没有按照unzip 下面命令安装
    yum install -y unzip zip
    unzip elasticsearch-analysis-ik-7.6.2.zip

     

    21:进入到 bin 目录下 ,切换账号为  esuser  ,并且 jps 检查是否已经存在ElasticSearch  运行实例,如果存在先 kill 掉,在重启

    cd /usr/local/elasticsearch-7.6.2/bin
    su esuser
    jps
    kill -9 pid
    ./elasticsearch -d

     

    22:测试是否实现中文分词 ,postman  POST请求方式   json 串 。 参照下图

    http://你的ip:9200/_analyze

    测试 json 串 

    {
    	"analyzer":"ik_smart",
    	"field": "name",
    	"text": "我在好好学习编程,我是邱健大帅哥"
    }

     23:自定义中文分词,例如 我希望把 邱健大帅哥查询的时候变成一个词语

    24:进入到  ik 的  config 文件下  ,打开 IKAnalyzer.cfg.xml

    cd /usr/local/elasticsearch-7.6.2/plugins/ik/config
    vim IKAnalyzer.cfg.xml

    25:在  ext_dict  标签内容内写上  自定义文件名.dic结尾 . 如果提示没权限 记得切到 root 用户

    qiujian.dic
    wq

     26:在 ik 的config  目录下新建文件    ,文件名是之前定义的   xxx.dic。然后将自定义词语写入然后保存

    vim qiujian.dic
    邱健大帅哥
    wq

    27:重新回到 ElasticSearch  bin 目录下 ,切换为 esuser 用户,jps 检查运行 ElasticSearch 实例 ,kill 掉之后  重启

    cd /usr/local/elasticsearch-7.6.2/bin
    su esuser
    jps
    kill -9 运行ElasticSearch pid
    ./elasticsearch -d

    28:再次请求,成功!如下图 

    后台运行命令       
    ./elasticsearch -d
    
    关闭ElasticSearch   命令     
    jps   kill -9 
  • 相关阅读:
    在jenkins中新建节点,启动方式中没有“通过java web启动”
    在jenkins上执行web自动化脚本出现cannot find Chrome binary
    修改禅道的默认端口
    jmeter修改字体大小
    电脑中安装了两个版本的jdk,后装的会把第一个覆盖掉
    各种浏览器的驱动
    js中的null和undefined总结
    关于 es6的 let 特性在 for 循环结构 的个人理解
    ajax五,jsonp跨域的本质
    ajax四,封装ajax并优化
  • 原文地址:https://www.cnblogs.com/blogspring/p/14191749.html
Copyright © 2011-2022 走看看