美文网首页我爱编程
ElasticSearch环境搭建

ElasticSearch环境搭建

作者: 追杀丘比特 | 来源:发表于2018-04-13 12:55 被阅读0次

    环境准备

    采用三台CentOS7.3部署Elasticsearch集群,以下是索引分片的简单介绍。

    系统 节点名 IP
    CentOS7.3 Node-1 192.168.20.230
    CentOS7.3 Node-2 192.168.20.231
    CentOS7.3 Node-3 192.168.20.232

    集群搭建

    由于es集群需要java环境作支持,因此在一开始就需要部署java环境

    • 安装jdk
    1. 首先到jdk官网上根据linux的版本下载你对应的的jdk版本,查看linux版本命令cat /proc/version
    [esUser@ceiec-1 kibana-5.5.3-linux-x86_64]$ cat /proc/version
    Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
    

    选择64位的jdk-8u161-linux-x64.tar.gz版本下载,下载完成后使用ftp工具将该压缩包上传至java安装目录 /usr/java
    使用命令 tar -zxvf jdk-8u161-linux-x64.tar.gz 解压缩即可

    1. 配置环境变量:
    [root@ceiec-1 java]# vi /etc/profile
    

    在文件最后面添加:

    export JAVA_HOME=/usr/java/jdk1.8.0_131   #jdk安装路径
    export JRE_HOME=${JAVA_HOME}/jre  
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
    export  PATH=${JAVA_HOME}/bin:$PATH
    
    1. 执行profile文件
    [root@ceiec-1 java]# source /etc/profile
    

    这样可以使配置不用重启即可立即生效。

    1. 检查jdk版本:
    [root@ceiec-1 java]# java -version
    

    显示

    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    

    即表示jdk环境安装成功!

    • 安装ElasticSearch
    1. 下载
      去官网下载es安装文件elasticsearch-5.5.3.tar.gz同样上传到第一台linux下es的安装目录/data/bigdata 使用命令tar -zxvf解压缩该文件 得到elasticsearch-5.5.3文件。
    2. 编辑elasticsearch.yml配置文件
      使用cd命令进入es安装目录
    [root@ceiec-1 ~]# cd  /data/bigdata/elasticsearch-5.5.3
    

    使用vi命令编辑配置文件,该配置文件位于config目录下

    [root@ceiec-1 elasticsearch-5.5.3]# vi config/elasticsearch.yml
    

    主要修改以下几个地方:

    cluster.name: ceiec-test //集群名称,同一个集群,名称唯一
    node.name: node-1  //节点名称
    node.master: true  //该节点是否可被选为master
    node.data: true  //该节点是否存储数据
    path.data: /data/bigdata/es_data/data //数据存放路径,该目录需要事先建好
    path.logs: /data/bigdata/es_data/logs  //log存放路径,该目录需要事先建好
    
    network.host: 192.168.20.230  //节点绑定Ip,如果为0.0.0.0表示所有外部机器均可连接该集群
    discovery.zen.ping.unicast.hosts: ["192.168.20.230,192.168.20.231,192.168.20.232"] //配置该参数,用来自动发现节点,组成集群
    discovery.zen.ping.multicast.enabled: true
    http.port: 9200 //rest 端口,默认为9200
    transport.tcp.port: 9300  //transport 端口,默认为9300
    action.auto_create_index: true //自动创建索引,用于kibana
    
    http.cors.enabled: true  //用于es head插件访问
    http.cors.allow-origin: "*"
    

    详细的参数信息可参考.
    对于另外两台机器192.168.20.231,192.168.20.232作同样的修改,使用命令!x保存修改并退出vi编辑器。

    1. 创建es用户esUser
      为了安全起见,es不允许使用root用户来启动集群,会报错如下:
    Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:94)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:160)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
    Refer to the log for complete error details.
    

    因此需要为es单独添加一个用户esUser用来管理es集群,过程如下:

    groupadd esUser //添加用户esUser
    useradd esUser -g esUser -p elasticsearch-5.5.3 //添加esUser的权限
    chown -R esUser elasticsearch-5.5.3 //改变elasticsearch-5.5.3的权限
    

    elasticsearch-5.5.3为你elasticsearch的目录名称
    使用su命令切换用户:

    [root@ceiec-1 elasticsearch-5.5.3]# su esUser
    [esUser@ceiec-1 elasticsearch-5.5.3]$
    
    1. 启动集群
      切换到esUser用户下,就可以安全的启动es集群了,如下:
    [esUser@ceiec-1 elasticsearch-5.5.3]$ bin/elasticsearch -d
    [esUser@ceiec-1 elasticsearch-5.5.3]$ jps
    1219 Jps
    1215 Elasticsearch
    [esUser@ceiec-1 elasticsearch-5.5.3]$
    

    使用-d参数可以使es集群后台启动,其他两台机器使用同样的过程启动es node节点。这样一个可用的es集群即搭建完成,访问http://192.168.20.230:9200即可查看该节点的信息,如下:

    {
        "name": "ceiec-1",
        "cluster_name": "ceiec-test",
        "cluster_uuid": "_na_",
        "version": {
            "number": "5.5.3",
            "build_hash": "9305a5e",
            "build_date": "2017-09-07T15:56:59.599Z",
            "build_snapshot": false,
            "lucene_version": "6.6.0"
        },
        "tagline": "You Know, for Search"
    }
    

    elasticSearch-head安装

    head插件的安装依赖node环境,因此需提前部署node.js环境,过程如下:

    1. 安装node环境
      类似于java环境的安装
    2. 安装grant
      grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动,如下:
    > cd /data/bigdata/elasticsearch-head-master
    > npm install -g grunt-cli   #安装grunt-cli
    > npm install grunt --save  #安装grunt
    > npm  install grunt-contrib-jasmine #安装jasmine
    

    3.下载head
    地址:https://github.com/mobz/elasticsearch-head.git
    下载完成后解压到linux相关目录,比如/data/bigdata/elasticsearch-head-master

    1. 修改head插件Gruntfile.js源码:
     connect: {
             server: {
                        options: {
                                      hostname: "192.168.20.230", //自己的ip
                                       port: 9100, //port
                                        base: '.',
                                         keepalive: true
                                    }
                            }
                    }
    
    1. 启动head

    在elasticsearch-head-master目录下

    npm install 
    grunt server
    

    即可成功启动head

    1. 访问http://192.168.20.230:9100查看集群的相关信息

    Ik分词器安装

    GitHub上下载对应版本的IK分析器zip包,下载之后直接解压缩到es安装目录下的plugs/ik目录下(假如没有此目录,新建),重启集群(各个node节点重复这个操作)即可。

    安装kibana

    1. 下载
      地址:https://www.elastic.co/downloads/past-releases
      根据es版本下载对应的安装包
    2. 上传至linux相关目录并解压,比如/data/bigdata/kibana-5.5.3-linux-x86_64
    3. 修改配置文件
      [esUser@ceiec-1 kibana-5.5.3-linux-x86_64]$ vi config/kibana.yml
      主要有以下几处需要修改
    server.port: "5601" //端口号。默认5601
    server.host: "192.168.20.230"  //kibana Ip,默认为localhost
    elasticsearch.url: "http://192.168.20.230:9200" //es链接地址
    

    其他参数按需修改即可,修改完毕,使用命令!x保存并退出编辑。

    1. 启动kibana
      使用命令nohup bin/kibana &启动kibana
    [esUser@ceiec-1 kibana-5.5.3-linux-x86_64]$ nohup bin/kibana &
    [1] 1312
    [esUser@ceiec-1 kibana-5.5.3-linux-x86_64]$ nohup: 忽略输入并把输出追加到"/home/esUser/nohup.out"
    

    访问http://192.168.20.230:5601进入kibana!

    相关文章

      网友评论

        本文标题:ElasticSearch环境搭建

        本文链接:https://www.haomeiwen.com/subject/objckftx.html