设为首页 收藏本站
查看: 2930|回复: 2

[经验分享] elasticsearch 安装部署以及插件head安装,和使用教程

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-12-7 11:31:58 | 显示全部楼层 |阅读模式
                                                1.环境初始化
最小化安装 Centos 7.3 x86_64操作系统的虚拟机,vcpu 2,内存4G或更多,操作系统盘50G,主机名设置规则为linux-hostX.exmaple.com,其中host1和host2为elasticsearch服务器,为保证效果特额外添加一块单独的数据磁盘大小为50G并格式化挂载到/data。
1.1 主机名和磁盘挂载:
使用blkid /dev/sdb  查看UUID  使用UUID挂载更加直接,更准确。
1

2

3

4

5

[iyunv@linux-node1 ~]# hostnamectl set-hostname linux-node1.luffycity.com
[iyunv@linux-node2 ~]# hostnamectl set-hostname linux-node2.luffycity.com
[iyunv@linux-node1 ~]# mkdir /luffy
[iyunv@linux-node1 ~]# mount /dev/sdb /luffy
[iyunv@linux-node1 ~]# echo "/dev/sdb /luffy/  xfs  defaults    0 0" >> /etc/fstab
1.2 防火墙和selinux:
关闭防所有服务器的火墙和selinux,包括web服务器、redis和logstash服务器的防火墙和selinux全部关闭,此步骤是为了避免出现因为防火墙策略或selinux安全权限引起的各种未知问题,以下只显示了host1和host2的命令,但是其他服务器都要执行。
1

2

3

4

5

[iyunv@linux-node1 ~]#  systemctl  disable  firewalld
[iyunv@linux-node1 ~]#  #systemctl  disable  NetworkManager  # 这个不懂就先别关了,不然网卡起不来。
[iyunv@linux-node1 ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[iyunv@linux-node1 ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf
[iyunv@linux-node1 ~]# echo "* hard nofile 65536" >> /etc/security/limits.conf
1.3 各服务器配置本地域名解析:
[iyunv@linux-node1 ~]# vim /etc/hosts
1

2

192.168.56.11 linux-node1.luffycity.com
192.168.56.12 linux-node2.luffycity.com
1.4 设置epel源、安装基本操作命令并同步时间
1

2

3

4

5

6

yum install -y epel-release
yum install -y net-tools vim lrzsz tree screen lsof tcpdump wget ntpdate
cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
echo "*/5 * * * *  ntpdate time1.aliyun.com &> /dev/null && hwclock -w" >> /var/spool/cron/root
systemctl  restart crond
shutdown -r now
1.5 在两台服务器准备java环境
因为elasticsearch服务运行需要java环境,因此两台elasticsearch服务器需要安装java环境,可以使用以下方式安装:
方式一:直接使用yum安装openjdk
1

yum install -y java-1.8.0*
方式二:本地安装在oracle官网下载rpm安装包:
1

2

yum  localinstall jdk-8u92-linux-x64.rpm
# 或者 rpm -ivh  jdk-8u92-linux-x64.rpm
方式二需要配置各种环境变量。博主使用的是yum安装。
2. 官网下载elasticsearch并安装
1

2.1两台服务器分别安装elasticsearch
1

2

cd /usr/src/
wget https://artifacts.elastic.co/dow ... ticsearch-5.6.3.rpm<br>yum localinstall -y elasticsearch-5.6.3.rpm
2.2配置文件的解释
配置文件/etc/elasticsearch/elasticsearch.yml
1

2

3

4

5

6

7

8

cluster.name: ELK-Cluster #ELK的集群名称,名称相同即属于是同一个集群
node.name: elk-node1 #本机在集群内的节点名称
path.data: /elk/data  #数据保存目录
path.logs: /elk/logs   #日志保存目
bootstrap.memory_lock: true #服务启动的时候锁定足够的内存,防止数据写入swap 开启该参数需要 LimitMEMLOCK=infinity 下面启动文件加一条参数。
network.host: 192.168.56.11 #监听IP 锁定IP,防止出现意想不到的问题。
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.56.11", "192.168.56.12"] # 组播方式,方式广播风暴,公有云环境启动会失败
2.3修改内存限制,并同步配置文件  5.6版本貌似已经优化
vim /usr/lib/systemd/system/elasticsearch.service #修改内存限制
1

LimitMEMLOCK=infinity  #去掉注释   5.6.3 版本没找到该内容。好吧,没有就自己添加。<br>systemctl daemon-reload
vim /etc/elasticsearch/jvm.options # 修改JVM内存参数
1

2

22 -Xms2g
23 -Xmx2g #最小和最大内存限制
官方推荐最大内存30G内存以内
将以上配置文件scp到node2并修改自己的node名称,算啦,自己拷贝过去吧。
2.4目录权限更改
各服务器创建数据和日志目录并修改目录权限为elasticsearch
1

2

mkdir /elk/{data,logs} -p
chown  elasticsearch.elasticsearch /elk/ -R
2.5启动elasticsearch服务并验证
1

2

systemctl start elasticsearch
systemctl status elasticsearch
2.6访问查看
1010036-20171106205614528-1953388392.jpg
3.安装elasticsearch插件之head
插件是为了完成不同的功能,官方提供了一些插件但大部分是收费的,另外也有一些开发爱好者提供的插件,可以实现对elasticsearch集群的状态监控与管理配置等功能。
3.1安装5.x版本的head插件
在elasticsearch 5.x版本以后不再支持直接安装head插件,而是需要通过启动一个服务方式,git地址:https://github.com/mobz/elasticsearch-head
# NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。
1

2

3

4

5

6

7

8

yum install -y npm
cd /usr/local/src/
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
npm install grunt -save
ll node_modules/grunt  #确认生成文件
npm install #执行安装
npm run start  &  #后台启动服务
3.2修改elasticsearch服务配置文件
开启跨域访问支持,然后重启elasticsearch服务
vim /etc/elasticsearch/elasticsearch.yml
1

2

http.cors.enabled: true #最下方添加
http.cors.allow-origin: "*"
1

systemctl restart elasticsearch
3.3docker版本启动head插件
1

2

3

yum install docker -y
systemctl  start docker && systemctl  enable docker
docker run -d  -p 9100:9100 mobz/elasticsearch-head:5
3.4测试
1010036-20171107104239763-1942456583.jpg
3.5.1测试提交数据
1010036-20171107104738825-1499515129.jpg
1

2

3

4

5

6

7

testindex/test

{
  "name":"ago",
  "age":18,
  "job":"devops"
}
3.5.2验证索引是否存在
1010036-20171107105001794-652471116.jpg
3.6查看数据
1010036-20171107105119231-1802811446.jpg
3.7Master与Slave的区别
Master的职责:
统计各node节点状态信息、集群状态信息统计、索引的创建和删除、索引分配的管理、关闭node节点等
Slave的职责:
同步数据、等待机会成为Master
4.elasticsearch插件之kopf
Git地址为https://github.com/lmenezes/elasticsearch-kopf,但是目前还不支持5.x版本的elasticsearch,但是可以安装在elasticsearc 1.x或2.x的版本安装。

5.监控
1




els-cluster-monitor.py
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#!/usr/bin/env python
#coding:utf-8
#Author Zhang Jie

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import subprocess
body = ""
false="false"
obj = subprocess.Popen(("curl -sXGET http://192.168.56.11:9200/_cluster/health?pretty=true"),shell=True, stdout=subprocess.PIPE)
data =  obj.stdout.read()
data1 = eval(data)
status = data1.get("status")
if status == "green":
    print "50"
else:
print "100"



                                       


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421653-1-1.html 上篇帖子: 全文搜索引擎Elasticsearch的安装过程 下篇帖子: ElasticSearch +IK 分词 400w 搜狗词库
累计签到:534 天
连续签到:302 天
发表于 2017-12-18 15:19:53 | 显示全部楼层
多谢楼主分享

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表