ES-安装部署篇

本篇主要讲述如何部署一个ES服务器。
ES版本:5.6.0。
服务器版本:centOS6.9,macOS。

下载地址:ELK当前版本下载地址
ELK旧版本下载

ES是基于JAVA开发的,所以需要JDK(自行百度安装)。ES5.6.0需要JDK8。
ES5.6.0只需要JDK的JRE即可,其JAVA_OPTS在内部有自定义的文件来处理。

centos安装在前面,macOS安装在后面。

centos安装:

修改参数

#1
vim /etc/sysctl.conf
#添加如下语句
vm.max_map_count = 262144
#2
vim /etc/security/limits.conf
#添加如下语句
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
#3
vim /etc/security/limits.d/90-nproc.conf
#修改如下属性,该值原为1024,需要修改为2048
*      soft    nproc    2048

-----或者------
还有一说:
root执行以下脚本:

#!/bin/bash 
echo "* soft nofile 65536" >> /etc/security/limits.conf 
echo "* hard nofile 65536" >> /etc/security/limits.conf 
echo "* soft memlock unlimited" >> /etc/security/limits.conf 
echo "* hard memlock unlimited" >> /etc/security/limits.conf 
echo "vm.max_map_count = 262144" >> /etc/sysctl.conf 
sysctl -p 
ulimit -l unlimited

防火墙设置

vim /etc/sysconfig/iptables
#在指定区域加入端口:
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
iptables -I INPUT -p tcp --dport 9300 -j ACCEPT
#重启
service iptables restart

执行启动
elasticSearch的启动需要用非root用户。

如果没有用户,可以添加用户,下面的示例使用的是kindo用户,没有使用es用户,按需。es用户需要赋予读jdk目录的权限
[root@kindoServer tools]# useradd es
#赋予权限给kindo组的kindo
[root@kindoServer tools]# chown -R es.es elasticsearch-5.6.0/
#切换用户
[root@kindoServer bin]# su - es
#切换目录
[es@kindoServer ~]$ cd /usr/local/elasticsearch-5.6.0/bin
#前台启动
[es@kindoServer bin]$ ./elasticsearch
#后台启动
[es@kindoServer bin]# ./elasticsearch -d
#查看启动
[es@kindoServer elasticsearch-5.6.0]$ jps
3446 Elasticsearch
3581 Jps
#启动成功!

Tips:

  • 有时我们的bin/elasticsearch文件不是加粗的(即不可用),需要执行:[es@kindoserver02 bin]$ chmod +x elasticsearch
  • 如果执行后台启动,一般在执行启动后10S后查看jps,此时ES已经启动稳定了。
  • 关闭ES,使用kill -9 JPS命令下ES的ID命令关闭。

连接测试
Linux服务器测试命令curl http://192.168.1.22:9200/_cluster/health?pretty或浏览器访问http://192.168.1.22:9200/_cluster/health?pretty查看ES的集群状态,出现如下界面,即成功:

{
  "cluster_name" : "kindo",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 5,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Tips:

     关于ES的重启或者停止,只有使用 ps -ef | grep elastic,杀死对应进程ID。
   默认 9300 是 Java 客户端的端口。9200 是支持 HTTP 的接口。

elasticsearch 集群健康状况返回颜色取值

颜色 意义
green 所有分片和复制分片均可用
yellow 所有主分片可用,部分或全部复制分片不可用
red 主分片部分或全部不可用

head插件的安装

因为head插件是用nodejs写的,所以在安装head插件时,需要安装nodejs,grunt,Head插件。

安装node:

[root@kindoServer tools]# wget https://npm.taobao.org/mirrors/node/latest-v6.x/node-v6.11.1-linux-x64.tar.gz
[root@kindoServer tools]# tar -zxvf node-v6.11.1-linux-x64.tar.gz
#链接到local
[root@kindoServer node-v6.11.1-linux-x64]# ln -s /home/kindo/data/tools/node-v6.11.1-linux-x64/bin/node  /usr/local/bin/node
[root@kindoServer node-v6.11.1-linux-x64]# ln -s /home/kindo/data/tools/node-v6.11.1-linux-x64/bin/npm /usr/local/bin/npm
#检查是否成功
[root@kindoServer node-v6.11.1-linux-x64]# npm -v
3.10.10
[root@kindoServer node-v6.11.1-linux-x64]# node -v
v6.11.1

安装grunt:

[root@kindoServer node-v6.11.1-linux-x64]# npm install -g grunt-cli

/etc/profile文件中,添加以下:

#上述完成后,配置grunt的环境变量
GRUNT_HOME=/home/kindo/data/tools/node-v6.11.1-linux-x64/lib/node_modules/grunt-cli

PATH = (以前的path):$GRUNT_HOME/bin

export (以前的变量) GRUNT_HOME

保存后,source /etc/profile立即刷新。使用grunt -V来进行测试。

安装head

安装git,然后下载并安装head。

[root@kindoServer ~]# yum install git -y
[root@kindoServer tools]# git clone git://github.com/mobz/elasticsearch-head.git
#切换到elasticsearch-head目录下
[root@kindoServer elasticsearch-head]# npm install && npm install grunt --save

在上述命令执行完之后,会出现

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression

,忽视掉即可。

修改配置

elasticsearch-head/Gruntfile.js文件中添加http: '*',,结果如下所示:

 connect: {
        server: {
                options: {
                        http: '*',
                        port: 9100,
                        base: '.',
                        keepalive: true
                }
        }

如上片段所示位置在93行附近,编辑模式:93会跳转到93行。

elasticsearch-head/_site/app.js中修改localhost为ES主机IP,结果如下所示:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.1.22:9200";

如上片段所示位置在4354行附近。

elasticsearch-5.6.0/config/elasticsearch.yml文件中添加以下文字:

http.cors.enabled: true
http.cors.allow-origin: "*"

开放9100端口:

 vim /etc/sysconfig/iptables
#添加一下语句
 iptables -I INPUT -p tcp --dport 9100 -j ACCEPT
#保存并重启
 service iptables restart

启动head:
在head主目录下执行下面命令启动:

[root@kindoServer elasticsearch-head]# grunt server

后台启动:

nohup grunt server &

以下全部是mac安装:

macOS安装:

xxxdeMacBook-Pro:local xxx$ brew update
xxxdeMacBook-Pro:local xxx$ brew install elasticsearch
#查看版本信息
xxxdeMacBook-Pro:local xxx$ brew info elasticsearch
#启动  加-d可以后台启动
xxxdeMacBook-Pro:local xxx$ elasticsearch

本人一口气也安装了logstash、kibana,ELK一家人要整整齐齐的嘛。

查看进程:

xxxdeMacBook-Pro:local xxx$ jps
95777 Elasticsearch
95779 Jps

关闭进程kill -d 进程号

安装head插件:

mac安装

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

修改跨域问题:在/usr/local/Cellar/elasticsearch/5.6.4/libexec/config/elasticsearch.yml文件尾部下添加:

http.cors.enabled: true
http.cors.allow-origin: "*"

最后这条命令会启动head的。然后浏览器输入http://localhost:9100即可。

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

推荐阅读更多精彩内容