“知了”开发日志——部署Elasticsearch

将知了迁移至新IaaS时,需要重新在新的虚拟机上部署ES,在此进行记录。

1. 部署情况

4核4g 虚拟机两台:

36.136(主节点 node-1 + es-head)

36.137(子节点 node-2 + web)

所需安装包:

elasticsearch-6.5.0.tar.gz(es)

elasticsearch-analysis-ik-6.5.0.zip(ik分词器插件)

elasticsearch-head-master.zip(es-head管理页面)

2. 准备工作

安装java8(使用yum安装,yum清华源可能很慢,建议更换阿里源)

上传安装包到 /usr/local

  • yum换源:

    1
    2
    3
    4
    5
    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    sudo yum clean all

    sudo yum makecache
  • 防火墙:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    firewall-cmd --permanent --add-port=9300/tcp

    firewall-cmd --permanent --add-port=9200/tcp

    firewall-cmd --permanent --add-port=9100/tcp

    firewall-cmd --reload

    firewall-cmd --list-all

3. 部署

  • 部署elasticsearch

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    tar -zxvf elasticsearch-6.5.0.tar.gz //解压压缩包

    cd ./elasticsearch-6.5.0/conf/

    // 将配置文件拷贝替换 conf 目录下的空配置文件

    // (elasticsearch.yml 、jvm.options)

    // 这两个配置文件放在附件供参考,注意需要修改部分内容!

    vim elasticsearch.yml

    // 注意设置 “集群名称,节点名称,节点绑定ip,集群ip,跨域开放”

    vim jvm.options

    // 没有需要改动的部分
  • 部署ik分词器

    1
    2
    3
    4
    5
    mkdir ik //在elasticsearch-6.5.0的plugin目录下创建名为ik的文件夹

    unzip elasticsearch-analysis-ik-6.5.0.zip //解压ik分词器压缩包到elasticsearch-6.5.0到./plugin/ik目录下

    // 此时启动es时将会自动从plugin文件夹加载分词器插件
  • 部署es-head

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    unzip elasticsearch-head-master.zip // 首先解压压缩包

    // 需要nodejs环境

    curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -

    yum install -y nodejs

    npm config set registry [https://registry.npm.taobao.org](https://registry.npm.taobao.org/) //node也要换源!

    cd elasticsearch-head-master //进入到解压后的head目录下

    npm install

    npm install -g grunt-cli

    grunt server & //启动

    // 访问对应ip的9100端口即可
  • 启动elasticsearch

    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
    32
    adduser ESuser   // 创建ESuser用户,es必须由该用户启动

    // 修改系统限制,防止es启动失败

    vim /etc/security/limits.conf

    // 加入如下配置

    \* soft nofile 65536
    \* hard nofile 131072
    \* soft nproc 65536
    \* hard nproc 65536

    // -------------

    echo "vm.max_map_count = 262144" >> /etc/sysctl.conf

    /sbin/sysctl -p

    chown -R ESuser:ESuser /usr/local/elasticsearch-6.5.0/ // 开放ESuser用户启动权限

    cd elasticsearch-6.5.0/bin/

    su ESuser // 切换到ESuser用户进行启动

    ./elasticsearch // 前台启动测试

    ./elasticsearch -d // 后台运行

    // 访问 ip+9200 端口观察是否正常启动

    // 进入 ip+9100 端口通过head查看集群是否绑定成功
  • 创建索引:

使用eshead创建索引并不方便,这里建议使用postman通过请求接口创建索引。

postman可以帮助我们格式化创建索引时所需的json格式数据,完整的json数据在附件中。

这部分数据包含 “分片数、备份数、自定义分词、文档类型” 相关内容。

1
PUT http://192.168.36.136:9200/knowledge_ms
  • 启动项目:

至此,项目可以正常启动!

启动项目后,还需通过rebuild接口对索引进行重建。

------ 本文结束,感谢观看! ------
 wechat
扫一扫,访问本站