zoukankan      html  css  js  c++  java
  • elasticsearch 单节点实现

    一、安装java环境,这么不说了,一般用源码安装,配置好环境变量

    二、新建es用户和组,es不能用root启动

    三、下载需要的稳定版es

    四、解压安装es

    unzip elasticsearch-5.5.2.zip
    mv elasticsearch-5.5.2 /opt/app/
    ln -s elasticsearch-5.5.2 es
    chown -R es:es /opt/app/elasticsearch-5.5.2/

    五、修改es配置文件

    vim /opt/app/elasticsearch-5.5.2/config/elasticsearch.yml
    
    cluster.name: es_znj
    node.name: es_163
    path.data: /data/es/
    path.logs: /data/logs/es/
    network.host: *.*.*.*
    http.port: 9200
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    vim
    /opt/app/elasticsearch-5.5.2/config/jvm.options

    -Xms2g
    -Xmx2g

    
    

    六、修改系统参数

    vim /etc/security/limits.conf
    * soft nofile 65536
    * hard nofile 131072
    
    vim /etc/sysctl.conf
    vm.max_map_count=262144
    systemctl -p

    七、创建目录

    mkdir /data/es/
    mkdir /data/logs/es/
    chown es:es /data/es
    chown es:es /data/logs/es

    八、使用systemd管理进程

    vim /etc/systemd/system/es.service
    [Unit]
    Description=elasticsearch5
    
    [Service]
    Type=simple
    User=es
    Group=es
    EnvironmentFile=-/etc/default/es
    ExecStart=/opt/app/es/bin/elasticsearch -Epath.conf=/opt/app/es/config
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=false
    Restart=always
    LimitNOFILE=655350
    
    
    [Install]
    WantedBy=multi-user.target

    vim /etc/default/es

    ES_USER="es"
    ES_GROUP="es"
    JAVA_HOME="/opt/app/jdk"
    LOG_DIR="/data/logs/es"
    MAX_OPEN_FILES=655350
    MAX_MAP_COUNT=262144
    CONF_DIR="/opt/app/es/config"
    DATA_DIR="/data/es"

    九、安装ik插件

    ik插件到这里下载对应es版本的,然后解压复制到es的插件目录:

    unzip elasticsearch-analysis-ik-5.5.2.zip
    mv elasticsearch /opt/src/
    mv elasticsearch analysis-ik

    十、安装head插件

    1.下载head插件,下载地址

    mv elasticsearch-head /opt/app/
    ln -s elasticsearch-head es-head

    2.修改配置

    修改监听地址:
    head/Gruntfile.js
    修改连接地址:
    目录:head/_site/app.js
    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
    然后在head目录中,执行npm install 下载以来的包:
    npm install
    这里可以用淘宝的源
    npm install -g cnpm --registry=https://registry.npm.taobao.org (用这个源很快,全部安装完成)
     然后npm install 这里会装上phantomjs 如果报错就安装下面的centos下:
    安装yum install libXext libXrender fontconfig libfontconfig.so.1
    然后再运行 npm install 直到成功装上phantomjs  没有Error
    报错:
    elasticsearch-head@0.0.0 license should be a valid SPDX license expression;
    改license
    vim package.json
    "license": "Apache-2.0", license改为这个 因为要license在apache下面存在的
     
    启动nodejs
    grunt server
     
    nginx代理限制访问权限
     
    tips:
    单节点出现Unassigned 错误,使用下面的命令,多节点就要注意排错了
     
    curl -XPUT '10.0.10.21:9201/_settings' -d ' { "index" : { "number_of_replicas" : 0 } }'
     
     
    curl -XPUT '20.0.0.125:9200/_settings' -d ' { "index" : { "number_of_replicas" : 0 } }'
    上面的配置就表面没有复制,只有一个主分片,可以解决问题,下面的是针对过个节点调整
    看备份数,比如只有一个节点,replicas 最多一个,两个节点,最多两个,调整节点数如下
    curl -XPUT 'localhost:9200/<INDEX_NAME>/_settings' -d '{"number_of_replicas": 2}'
     
    服务器放在线上的时候 要在外部需要做代理,同时将head和es都要代理出去:
     
  • 相关阅读:
    利用memcache实现,防止连续点击及每天点击次数
    Laravel 5.5 FormRequest 自定义表单请求验证类
    memcache安装及使用
    php查看当天访问量代码,以及每天访问量历史记录(本方法是存文件里,不是存数据库)
    SQL语句多个字段排序
    【C++】rand()函数,时间种子
    【C++】颜色的设置
    【堆栈应用一】一个数divided=几个最小质因数的乘积
    【JSP】中文乱码问题
    【汇编】MASM6.15几个简单的汇编程序
  • 原文地址:https://www.cnblogs.com/mikeluwen/p/7691468.html
Copyright © 2011-2022 走看看