第二章 ELKstack部署及配置
一:elasticsearch部署:
1.1:环境初始化:
最小化安装 Centos 7.2 x86_64操作系统的虚拟机,vcpu 2,内存4G或更多,操作系统盘50G,主机名设置规则为linux-hostX.exmaple.com,其中host1和host2为elasticsearch服务器,为保证效果特额外添加一块单独的数据磁盘大小为50G并格式化挂载到/data。
1.1.1:主机名和磁盘挂载:
[root@localhost ~]# hostnamectl set-hostname linux-hostx.exmaple.com && reboot #各服务器配置自己的主机名并重启
[root@localhost ~]# hostnamectl set-hostname linux-host2.exmaple.com && reboot
[root@linux-host1 ~]# mkdir /elk
[root@linux-host1 ~]# mount /dev/sdb /elk/
[root@linux-host1 ~]# echo " /dev/sdb /elk/ xfs defaults 0 0" >> /etc/fstab
hostX 。。。。。
1.1.2:防火墙和selinux:
关闭防所有服务器的火墙和selinux,包括web服务器、redis和logstash服务器的防火墙和selinux全部关闭,此步骤是为了避免出现因为防火墙策略或selinux安全权限引起的各种未知问题,以下只显示了host1和host2的命令,但是其他服务器都要执行。
[root@linux-host1 ~]# systemctl disable firewalld
[root@linux-host1 ~]# systemctl disable NetworkManager
[root@linux-host1 ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[root@linux-host1 ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf
[root@linux-host1 ~]# echo "* hard nofile 65536" >> /etc/security/limits.conf
hostX 。。。。。。
1.1.3:各服务器配置本地域名解析:
[root@linux-host1 ~]# vim /etc/hosts
192.168.56.11 linux-host1.exmaple.com
192.168.56.12 linux-host2.exmaple.com
192.168.56.13 linux-host3.exmaple.com
192.168.56.14 linux-host4.exmaple.com
192.168.56.15 linux-host5.exmaple.com
192.168.56.16 linux-host6.exmaple.com
1.1.4:设置epel源、安装基本操作命令并同步时间:
[root@linux-host1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-host1 ~]# yum install -y net-tools vim lrzsz tree screen lsof tcpdump wget ntpdate
[root@linux-host1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@linux-host1 ~]# echo "*/5 * * * * ntpdate time1.aliyun.com &> /dev/null && hwclock -w" >> /var/spool/cron/root
[root@linux-host1 ~]# systemctl restart crond
[root@linux-host1 ~]# reboot #重启检查各项配置是否生效,没有问题的话给虚拟机做快照以方便后期还原
1.2:在host1和host2分别安装elasticsearch:
1.2.1:在两台服务器准备java环境:
因为elasticsearch服务运行需要java环境,因此两台elasticsearch服务器需要安装java环境,可以使用以下方式安装:
方式一:直接使用yum安装openjdk
[root@linux-host1 ~]# yum install java-1.8.0*
方式二:本地安装在oracle官网下载rpm安装包:
[root@linux-host1 ~]# yum localinstall jdk-8u92-linux-x64.rpm
方式三:下载二进制包自定义profile环境变量:
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[root@linux-host1 ~]# tar xvf jdk-8u121-linux-x64.tar.gz -C /usr/local/
[root@linux-host1 ~]# ln -sv /usr/local/jdk1.8.0_121 /usr/local/jdk
[root@linux-host1 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@linux-host1 ~]# source /etc/profile
[root@linux-host1 ~]# java -version
java version "1.8.0_121" #确认可以出现当前的java版本号
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
1.3:官网下载elasticsearch并安装:
下载地址:https://www.elastic.co/downloads/elasticsearch,当前最新版本5.3.0
1.3.1:两台服务器分别安装elasticsearch:
[root@linux-host1 ~]# yum –y localinstall elasticsearch-5.3.0.rpm
1.3.2:编辑各elasticsearch服务器的服务配置文件:
[root@linux-host1 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml
cluster.name: ELK-Cluster #ELK的集群名称,名称相同即属于是同一个集群
node.name: elk-node1 #本机在集群内的节点名称
path.data: /elk/data #数据保存目录
path.logs: /elk/logs #日志保存目
bootstrap.memory_lock: true #服务启动的时候锁定足够的内存,防止数据写入swap
network.host: 0.0.0.0 #监听IP
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.56.11", "192.168.56.12"]
1.3.3:修改内存限制,并同步配置文件:
[root@linux-host1 ~]# vim /usr/lib/systemd/system/elasticsearch.service #修改内存限制
LimitMEMLOCK=infinity #去掉注释
[root@linux-host1 ~]# vim /etc/elasticsearch/jvm.options
22 -Xms2g
23 -Xmx2g #最小和最大内存限制,为什么最小和最大设置一样大?
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
#官方配置文档最大建议30G以内。
#将以上配置文件scp到host2并修改自己的node名称
[root@linux-host1~]#scp /etc/elasticsearch/elasticsearch.yml 192.168.56.12:/etc/elasticsearch/
[root@linux-host2 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml
cluster.name: ELK-Cluster
node.name: elk-node2 #与host1不能相同
path.data: /data/elk
path.logs: /data/elk
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["192.168.56.11", "192.168.56.12"]
1.3.4:目录权限更改:
各服务器创建数据和日志目录并修改目录权限为elasticsearch:
[root@linux-host1 ~]# mkdir /elk/{data,logs}
[root@linux-host1 ~]# ll /elk/
total 0
drwxr-xr-x 2 root root 6 Apr 18 18:44 data
drwxr-xr-x 2 root root 6 Apr 18 18:44 logs
[root@linux-host1 ~]# chown elasticsearch.elasticsearch /elk/ -R
[root@linux-host1 ~]# ll /elk/
total 0
drwxr-xr-x 2 elasticsearch elasticsearch 6 Apr 18 18:44 data
drwxr-xr-x 2 elasticsearch elasticsearch 6 Apr 18 18:44 logs
vim /etc/security/limits.conf
* soft memlock unlimited
* hard memlock unlimited
* soft nofile 131072
* hard nofile 131072
vim /etc/security/limits.d/90-nproc.conf
* soft nproc 2048
1.3.5:启动elasticsearch服务并验证:
[root@linux-host1 ~]# systemctl restart elasticsearch
[root@linux-host1 ~]# tail -f /elk/logs/ELK-Cluster.log
[root@linux-host1 ~]# tail -f /elk/logs/
1.3.6:验证端口监听成功:
1.3.7:通过浏览器访问elasticsearch服务端口:
1.4:安装elasticsearch插件之head:
插件是为了完成不同的功能,官方提供了一些插件但大部分是收费的,另外也有一些开发爱好者提供的插件,可以实现对elasticsearch集群的状态监控与管理配置等功能。
1.4.1:安装5.x版本的head插件:
在elasticsearch 5.x版本以后不再支持直接安装head插件,而是需要通过启动一个服务方式,git地址:https://github.com/mobz/elasticsearch-head
[root@linux-host1 ~]# yum install -y npm
# NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。
[root@linux-host1 ~]# cd /usr/local/src/
[root@linux-host1 src]#git clone git://github.com/mobz/elasticsearch-head.git
[root@linux-host1 src]# cd elasticsearch-head/
[root@linux-host1 elasticsearch-head]# yum install npm -y
[root@linux-host1 elasticsearch-head]# npm cache clean -f[root@linux-host1 elasticsearch-head]# npm install -g n[root@linux-host1 elasticsearch-head]# n stable
[root@linux-host1 elasticsearch-head]# npm install grunt -save
[root@linux-host2 elasticsearch-head]# ll node_modules/grunt #确认生成文件
[root@linux-host1 elasticsearch-head]# npm install #执行安装
[root@linux-host1 elasticsearch-head]# npm run start & #后台启动服务
1.4.1.1:修改elasticsearch服务配置文件:
开启跨域访问支持,然后重启elasticsearch服务:
[root@linux-host1 ~]# vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true #最下方添加
http.cors.allow-origin: "*"
[root@linux-host1 ~]# /etc/init.d/elasticsearch restart
分片:
curl -XPUT 13.228.119.64:9200/_template/my_template -d'{ "template": "*", "settings": { "index": { "number_of_shards": 6, "number_of_replicas": 1 } }}'
curl -XPUT 13.250.82.220:9200/_template/my_template -d'{ "template": "*", "settings": { "index": { "number_of_shards": 6, "number_of_replicas": 1 } }}'
1.4.1.2:docker版本启动head插件:
[root@linux-host1 ~]# yum install docker -y
[root@linux-host1 ~]# systemctl start docker && systemctl enable docker
[root@linux-host1 ~]# docker run -d -p 9100:9100 mobz/elasticsearch-head:5
1.4.1.3:测试提交数据:
1.4.1.6:Master与Slave的区别:
Master的职责:
统计各node节点状态信息、集群状态信息统计、索引的创建和删除、索引分配的管理、关闭node节点等
Slave的职责:
同步数据、等待机会成为Master
1.4.1.7:导入本地的docker镜像:
[root@linux-host2 ~]# docker save docker.io/mobz/elasticsearch-head > /opt/elasticsearch-head-docker.tar.gz #导出镜像
[root@linux-host1 src]# docker load < /opt/elasticsearch-head-docker.tar.gz #导入
[root@linux-host1 src]# docker images#验证
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mobz/elasticsearch-head 5 b19a5c98e43b 4 months ago 823.9 MB
[root@linux-host1 src]# docker run -d -p 9100:9100 --name elastic docker.io/mobz/elasticsearch-head:5 #从本地docker images 启动容器
1.4.2:elasticsearch插件之kopf:
1.4.2.1:kopf:
Git地址为https://github.com/lmenezes/elasticsearch-kopf,但是目前还不支持5.x版本的elasticsearch,但是可以安装在elasticsearc 1.x或2.x的版本安装。
转载于:https://www.cnblogs.com/martin-wang/p/10655628.html
第二章 ELKstack部署及配置相关推荐
- lua-protobuf 新手入门篇-第二章.Unity lua-protobuf 环境配置
第一章.编译lua-protobuf支持库(Windows插件-Win10编译) 第二章.Unity & lua-protobuf 环境配置 第三章.二进制proto读取功能,与,lua-pr ...
- 第二章:Android之NDK配置与简单使用
使用Android开发App不只是使用Java,还可以使用C/C++,这就是我们要使用NDK的目的 -- 为了能让Java识别所要调用的C/C++. 第二章 NDK配置与简单使用 前言 对于有过开发跨 ...
- WindowsServer实训项目——第二章:安装和配置WindowsServer
一.实训目的 1.熟练使用VMware 2.掌握VMware的详细配置与管理 3.掌握使用VMware进行Windows Server网络操作系统的安装 二.项目背景 公司新购进一台服务器,硬盘空间为 ...
- spring boot @value_spring+vue全栈开发实战-第二章Spring Boot 基础配置-笔记0302-2020
Spring Boot 基础配置 1. Web 容器配置 2.Properties 配置 3.类型安全配置属性 1. Web 容器配置 a.常规配置 在 Spring Boot 项 目 中,可以内置 ...
- 19年8月 字母哥 第一章 spring boot 2.x基础及概念入门 这里全部看完了 热部署没出来 第二章在前面2页 用热点公司网不行
http://springboot.zimug.com/1233100 文档 http://www.zimug.com/page/5 字母哥个人博客 11111 第一章 spring bo ...
- 第十二章 BIRT报表的部署与配置
12.1 报表的工作模式以及相应的部署和配置 虽然为了示例的需要,在前文的第二章讲过BIRT的配置,以及在文本类报表,网格报表,图表中用过birt jsp tag,也做过一些说明.但报表的工作模式,不 ...
- 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍
第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...
- [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK
一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...
- 第二十四章、 X Window 配置介绍
好文章 第二十四章. X Window 配置介绍 http://vbird.dic.ksu.edu.tw/linux_basic/0590xwindow.php 最近升级日期:2009/08/07 在 ...
最新文章
- 用什么擦地最干净脑筋急转弯_22个数学脑筋急转弯答案,你能全部做出来吗?...
- etcd 启动分析_Kubernetes网络分析之Flannel
- java jeditorpane 自动换行_JDIC 中利用WebBrowser内置浏览器到java application中 | 学步园...
- [Jsp] JSP和Servlet页面间的参数的传递和接收
- 编程题:编写一个函数string_copy()完成strcpy()的作用,并验证。
- cpu java poi 导出_让 Java 开发更简单,提高工作效率 | Gitee 项目推荐
- python序列模式的关联算法_关联算法
- 用Oracle归档日志进行恢复方法
- ubuntu16.4安装部署过程
- 一条语句引发的思考:装箱和拆箱,空指针的类型转换
- 《简明微积分》(第四版)学习笔记
- 未能连接到驱动人生服务器,更新显卡驱动提示“无法连接到Nvidia”,驱动人生来解决。...
- VCL界面组件DevExpress VCL v22.1 - 发布全新的Shell组件
- Win10中Jenkins的安装和基本使用流程
- 充分必要条件与C语言,充分条件与必要条件知识点总结,高中数学充分条件与必要条件知识点总结...
- 腾讯会议共享屏幕播放PPT的时候可以实现只能在自己电脑上可以看到PPT的备注么?
- Bubble(17)
- 软件测试报告编写指南
- 论文阅读:2021.11.23~2021.12.1
- PAT甲级真题 1064 完全二叉搜索树
热门文章
- 使用C#进行点对点通讯和文件传输(通讯基类部分+发送接收
- 面向对象的 XSLT编程
- html select onchange 失效
- 【❤️万字长文总结❤️】一篇学会Redis高可用✔集群✔搭建详细教程
- Windows域策略 统一设置本地管理员密码 【全域策略生效】
- 【渗透案例】上班摸鱼误入陌生网址——结果被XSS劫持了
- [转]【建议收藏】优秀实用的OpenCV开源项目汇总
- 海龟交易法则02_揭秘海龟思维
- 南昌大学利用计算机作弊怎样处分,关于江西南昌大学医学院计算机中心教师组织全国计算机二级考试集体作弊的意见书...
- 从企业管理看报表软件的应用