ElasticSearch环境搭建

环境准备

采用三台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!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容