Centos7中ELK集群安装流程
- hostnamectl set-hostname elk
- vim /etc/sysconfig/network修改HOSTNAME=elk
- 安装Java环境:yum install java-1.8.0-openjdk.x86_64
- 添加JAVA环境:vim /etc/profile,添加下列行,保存后执行source /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin - 配置网络:/etc/hosts中添加10.1.3.4 elk
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpm
- rpm -ivh elasticsearch-5.1.1.rpm
- chkconfig --add elasticsearch
- 安装目录:/usr/share/elasticsearch
配置文件:/etc/elasticsearch/elasticsearch.yml
日志路径:/var/log/elasticsearch/ - 使用vim命令修改配置文件/etc/elasticsearch/elasticsearch.yml,按:set number,显示行号,并修改如下行内容:
17:cluster.name: my-application #判别节点是否是统一集群,多台统一集群的名称要一致
23:node.name: elk #节点的hostname
54:network.host: 0.0.0.0 允许访问的ip
58:http.port: 9200 端口
69:discovery.zen.ping.unicast.hosts: [elk]# 手动发现节点 - 配置文件中添加下面两行,允许跨域,主要是5.1版的head插件和老版本不同:
http.cors.enabled: true
http.cors.allow-origin: "*" - 修改权限:执行 chmod 555 /tmp/elasticsearch 和 chmod 555 /tmp/elasticsearch/*
- 启动服务:systemctl start elasticsearch 并查看服务状态。服务启动后,可以访问网址:http://IP:9200来访问。
- 如果启动失败,查看/var/log/elasticsearch下的日志,有如下错误:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536],则可如下解决:
编辑/etc/security/limits.conf,末尾添加:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096 - 如果启动失败,找不到任何日志,请检查/etc/elasticsearch/elasticsearch.yml中配置的日志目录和数据目录的访问权限,或者注释掉目录的配置。
- 如果启动失败,日志中有如下错误:max number of threads [1024] for user [lishang] likely too low, increase to at least [2048],则可以如下 解决:
vi /etc/security/limits.d/90-nproc.conf修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
- 安装Nodejs,cd /usr/local/
- wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz
- tar xf node-v4.6.0-linux-x64.tar.gz
- ln -s /usr/local/node-v4.6.0-linux-x64/bin/node /usr/sbin/node
- ln -s /usr/local/node-v4.6.0-linux-x64/bin/npm /usr/sbin/npm
- 更换安装源:npm config set registry https://registry.npm.taobao.org
- 安装grunt:npm install -g grunt
- ln -s /usr/local/node-v4.6.0-linux-x64/lib/node_modules/grunt/bin/grunt /usr/sbin/grunt
- cd /usr/local/
- yum install git.x86_64
- git clone git://github.com/mobz/elasticsearch-head.git
- cd elasticsearch-head-master
- vim ./_site/app.js的第4354行,中把locahost换成ip地址:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://elk51.chinanorth.cloudapp.chinacloudapi.cn:9200"; - vim ./Gruntfile.js,在约93行处的port:9100前面添加hostname:'0.0.0.0', 保存并退出。
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
} - 运行 npm install ./ 进行安装。
- 修改/etc/elasticsearch/elasticsearch.yml在末尾添加下面两行(如果有就不用不加了):
http.cors.enabled: true
http.cors.allow-origin: "*" - 重启elasticsearch:systemctl restart elasticsearch
- 启动elasticsearch-head:在head插件目录中执行 grunt server ,也可以后台启动:nohup grunt server &
- 因为grunt server命令必须在head插件目录下执行,因此可以新建一个sh角本/usr/local/elasticsearch-head/autostart.sh,角本内空是:
#!/bin/bash
cd /usr/local/elasticsearch-head/
nohup grunt server & - 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加刚刚的角本全路径到末尾,然后执行chmod +x /etc/rc.d/rc.local
- 访问head:http://ip:9100。
- cd /usr/local
- wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.tar.gz
- tar xf logstash-5.1.1.tar.gz
- cd logstash-5.1.1
- vim conf/elastic.conf
- input {
file {
path => "var/log/nginx/access.log"
}
}
output {
elasticsearch {
hosts => "elk51.chinanorth.cloudapp.chinacloudapi.cn"
index => "logstash-nginx-access"
}
stdout {
codec => rubydebug
}
} - 启动:/usr/local/logstash-5.1.1/bin/logstash -f /usr/local/logstash-5.1.1/config/elastic.conf
- 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加启动命令到末尾,然后执行chmod +x /etc/rc.d/rc.local
- wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpm
- rpm -ivh kibana-5.1.1-x86_64.rpm
- 编辑/etc/kibana/kibana.yml修改如下信息:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://elk:9200"; - 执行:nohup /usr/share/kibana/bin/kibana &后台启动。
- 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加刚刚的角本全路径到末尾,然后执行chmod +x /etc/rc.d/rc.local
Centos7中ELK集群安装流程的更多相关文章
- Filebeat-1.3.1安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)(以Console Output为例)
前期博客 Filebeat的下载(图文讲解) 前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticse ...
- Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装
Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...
- Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)
对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员. 前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch ...
- centos7下zookeeper集群安装部署
应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置
RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一 ...
- Centos7 zookeeper单机/集群安装详解和开机自启
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- CentOS7 citus9.5 集群安装及管理
1 所有节点配置 #------服务安装 服务yum update -y #------扩展依赖安装yum install -y epel-release && yum update ...
- centos7下kafka集群安装部署
应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...
随机推荐
- C#编程(六十七)----------LINQ提供程序
原文链接:http://blog.csdn.net/shanyongxu/article/details/47257511 LINQ提供程序 .NET3.5包含了几个LINQ提供程序. LINQ提供程 ...
- HelloWorld 之JasperReports初步
在企业应用系统中,经常要输出各种格式的数据报表. 著名的开源项目<JasperReports可以很好的解决这个问题. 使用JasperReports可以在预先设定好格式的报表基础上进行数据的填充 ...
- Android Butterknife框架
Android Butterknife框架 注解攻略 时间 2014-02-27 09:28:09 Msquirrel原文 http://www.msquirrel.com/?p=95 一.原理. ...
- LeetCode——Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...
- VisualStudio:添加现有项时使用添加为链接
这个特性很容易忘记使用(很多人可能还不知道),这里解释一下. 添加为链接是指:将指定的文件作为链接添加到项目中,这个文件在作用上和一般的文件没有区别,这样做的好处是可以多个项目共享一个文件,如:连接字 ...
- 利用WebSocket传输数组或者Blob的方案
最近在利用Html5的WebSocket进行即时通讯,一点小心得,大家一起讨论吧 首先把WebSocket的协议网址和WebSocket API网址给大家: 协议:http://tools.ietf. ...
- sharepoint 2013 网站集解锁
前言 最近碰到这样的一个问题,就是SharePoint 站点备份(Backup-SPSite)的时候,速度特别慢,然后网站变成只读状态(备份过程中只读属于正常现象).但是,自己手欠把备份命令的Powe ...
- SVG.js 图案使用和use引用
一.SVG.Pattern 图案设置 var draw = SVG('svg1').size(300, 300); //SVG.Pattern 图案设置 var pattern = draw.patt ...
- ADB与AVD的常见问题
一.adb问题常用解决方法 若是模拟器启动正常,但是adb检测不到模拟器,我们给他一套不解释连招,下面教大家几招基础拳法. 1.基础拳法一:循环自动检测 下图那个小按钮,点它,狠狠的点它,然后点运行, ...
- go语言之进阶篇无缓冲channel
1.无缓冲channel 示例: package main import ( "fmt" "time" ) func main() { //创建一个无缓存的ch ...