写在前面

常说:"工欲善其事必先利其器",这话想想也是一点毛病也没有,在开始学习任何技术之前,我们总得有一个实际可供操作的实验环境.有人说,"看十遍不如用一遍",我想大概就是这个道理.废话不多说,直接开始.

实验环境

CentOs7.2

JDK1.8及其以上

node-v8.10.0-linux-x64(安装Head插件,版本>V8)

elasticsearch-6.1.3

kibana-6.1.3-linux-x86_64

logstash-6.1.3

ps:注意在选择ELK版本的时候,每个组件的版本号要一致

这个直接官网下载即可,下载还是很快地

新建用户

在正式开始之前,我先说明,因为elasticsearch是不能以root用户启动的.所以,为了避免这种麻烦的事情发生.我们事先创建好用户.

[root@csylh ~]# groupadd liuge
[root@csylh ~]# useradd liuge -g liuge
[root@csylh ~]# passwd liuge
Changing password for user liuge.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

为liuge用户赋予ROOT权限,方便后面命令的执行

[root@csylh ~]# vim /etc/sudoers

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
liuge ALL=(ALL) ALL

JDK和Node环境的配置

要启动ES集群,你必须保证你的机器上必须先要安装上jdk的运行环境先.我这里采用比较简单的安装方式.官网下载解压后,添加到当前用户的环境变量就可以啦

1.下载解压到指定目录

[liuge@csylh jdk1.8.0_161]$ pwd
/home/liuge/apps/jdk1.8.0_161
#我的jdk解压地址

2.添加到环境变量

[liuge@csylh jdk1.8.0_161]$ vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
#jdk环境
export JAVA_HOME=/home/liuge/apps/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH #:wq保存退出

3.再source一下环境变量,查看

[liuge@csylh jdk1.8.0_161]$ source ~/.bash_profile
[liuge@csylh jdk1.8.0_161]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[liuge@csylh jdk1.8.0_161]$

Node环境的安装

可能很多小伙伴不熟悉没有接触过node,我其实也不熟悉,我们这里也只是需要使用node提供的npm这个包管理工具来安装Head插件而已.简单命令

1.下载啊(直接去官网下载,版本大于v8即可)

2.解压啊

[liuge@csylh softs]$ ll
total 270304
-rw-r--r-- 1 root root 28454781 Jan 30 23:07 elasticsearch-6.1.3.tar.gz
-rw-r--r-- 1 root root 64640541 Jan 30 23:07 kibana-6.1.3-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 118581153 Jan 30 23:07 logstash-6.1.3.tar.gz
-rw-r--r-- 1 root root 921421 Mar 31 12:50 master.zip
-rw-r--r-- 1 root root 63887360 Mar 31 12:50 node-v8.10.0-linux-x64.tar
[liuge@csylh softs]$ tar -xf node-v8.10.0-linux-x64.tar -C ../apps/
[liuge@csylh softs]$ ll ../apps/
total 8
drwxr-xr-x 8 root root 4096 Mar 31 12:50 jdk1.8.0_161
drwxrwxr-x 6 liuge liuge 4096 Mar 7 06:47 node-v8.10.0-linux-x64
[liuge@csylh softs]$

3.添加到环境变量



:wq保存退出

4.source环境变量,检查是否成功

[liuge@csylh node-v8.10.0-linux-x64]$ source ~/.bash_profile
[liuge@csylh node-v8.10.0-linux-x64]$ node -v
v8.10.0
[liuge@csylh node-v8.10.0-linux-x64]$

看到上面的输出,就说明你的基础环境已经安装完毕

正式开始

前面讲了这么久的基础环境的配置,终于可以正式搭建我们的ELK环境啦

ElasticSearch的安装

1.下载啊(前面也说过,直接在官网下载就可以啦),这是官网的下载地址

https://www.elastic.co/downloads/past-releases,我这里选择的是6.1.3版本

我直接使用wget命令,下载到服务器上的

[liuge@csylh softs]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.3.tar.gz

2.解压到指定目录

3.做基础配置

因为我使用的是腾讯云的2G内存的服务器,所以需要在某些地方做一定修改.



编辑JVM文件,默认分配jvm空间大小为2g,需要改小一点

我这里修改为256M,这个大小主要看自己的服务器的内存大小

编辑elasticsearch.yml文件

修改一下几项:

cluster.name: liuge-cluster #集群名称,以此作为是否是同意集群的判断

node.name: node-liuge #节点名称,以此作为集群中不同节点的分区条件

path.data: /home/liuge/datas/data #数据存储地址 文件目录需要自己新建

path.logs: /home/liuge/datas/logs #日志存储地址

network.host: 0.0.0.0#(主机地址)对外发布的网络地址,因为我需要远程

http.port: 9200 #ES默认监听的端口

上面的host地址说明:因为我需要开启远程连接,所以就设置为0.0.0.0,你本地的话,直接localhost就是可以的

4.在开始启动之前:我们需要修改系统的环境参数

系统参数要求
fd 最低需要65536
vm 最低262144
max locked memory最低64

以Root用户执行下面语句即可

[root@csylh ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf
[root@csylh ~]# echo "* hard nofile 65536" >> /etc/security/limits.conf
[root@csylh ~]# echo "* soft memlock unlimited" >> /etc/security/limits.conf
[root@csylh ~]# echo "* hard memlock unlimited" >> /etc/security/limits.conf
[root@csylh ~]# echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
[root@csylh ~]# sysctl -p
vm.max_map_count = 262144
vm.max_map_count = 262144
[root@csylh ~]# ulimit -l unlimited
[root@csylh ~]#

这样就可以正式启动啦:

./bin/elasticsearch

[liuge@csylh elasticsearch-6.1.3]$ pwd
/home/liuge/apps/elasticsearch-6.1.3
[liuge@csylh elasticsearch-6.1.3]$ ./bin/elasticsearch

后台永久启动

nohup ./bin/elasticsearch &

看见上面的输出,就说明,启动成功

web测试:



解决启动可能报错问题

ERROR: [1] bootstrap checks failed...

你需要在配置文件中添加:

安装head插件

1.下载啊

[liuge@csylh softs]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip

2.解压啊

3.进入解压后的目录,使用npm install 安装(稍微有点慢,静静等待)

4.启动head插件:npm run start

Kibana安装

还是老套路,下载,解压

下载地址:https://www.elastic.co/downloads/kibana

我这里下载:

[liuge@csylh softs]$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.3-linux-x86_64.tar.gz

ps:注意位数的选择

解压之后,

[liuge@csylh softs]$ tar -zxvf kibana-6.1.3-linux-x86_64.tar.gz -C ../apps/

进去到主目录,修改默认的配置文件

[liuge@csylh config]$ vim kibana.yml

# 分别找到以下几项进行修改
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://你的公网地址(或者是localhost):9200"
#:wq保存退出

这样就可以启动啦:



启动成功,注意再启动kibana之前需要先启动elasticsearch

web测试:

Kibana常用功能说明

Discover数据搜索查看

Visualize图表制作

Dashboard仪表盘制作

Timelion时序数据的高级可视化分析

DevTools开发者工具(经常会用到)

Managerment配置管理

Logstash 安装

软件的安装都是很类似的

下载,解压,做一定配置的修改

1.下载地址

https://www.elastic.co/downloads/past-releases

我这里下载的是:

[liuge@csylh softs]$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.3.tar.gz

2.解压到指定目录

3.进入到解压后的目录,做配置的修改

jvm参数

4.开始验证;

简单测试Logstash服务是否正常,预期将输入的内容结构化的输出到界面上

[liuge@csylh logstash-6.1.3]$ bin/logstash -e 'input{stdin{}} output{stdout{}}'



测试通过.说明我们的logstash安装成功

------好啦,到这里,我们的ELK环境就搭建好啦.接下来,我们就是去学习如何去使用这里组件,下一篇准备把X-pack这个插件装上.---------

环境搭建-ELK单节点环境搭建(02)的更多相关文章

  1. ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建

    当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...

  2. Spring-Cloud之Eureka注册中心环境搭建(单节点)

    一 Eureka概述 服务启动时会生成服务的基本信息对象InstanceInfo,然后在启动时会register到服务治理中心. 注册完成后会从服务治理中心拉取所有的服务信息,缓存在本地. 之后服务会 ...

  3. 《k8s-1.13版本源码分析》-测试环境搭建(k8s-1.13版本单节点环境搭建)

    本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/prepare/debug-environment. ...

  4. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)

    前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...

  5. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)(Ubuntu系统)

    前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...

  6. hadoop-2.6.0.tar.gz + spark-1.6.1-bin-hadoop2.6.tgz的集群搭建(单节点)(CentOS系统)

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  7. 纯手工搭建K8s(单节点)

    准备说明: 因为为纯手动搭建,所以针对安装时需要的一些安装包需提前下载好 cfssl_linux-amd64. cfssljson_linux-amd64. cfssl-certinfo_linux- ...

  8. (九)OpenStack---M版---双节点搭建---Swift(单节点)安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本次搭建仅采用Compute单节点做swift组件 1.Controller安装并配置控制节点 ...

  9. HDFS环境搭建(单节点配置)

    [参考文章]:hadoop集群搭建(hdfs) 1. Hadoop下载 官网下载地址: https://hadoop.apache.org/releases.html,进入官网根据自己需要下载具体的安 ...

随机推荐

  1. Java中时间格式处理,指定N天/小时等之后的时间

    1)根据当前时间,获取具体的时刻的时间 N天前 M小时之前 可用 new Date().getTime() - 24 * 60 * 60 * 1000*N[N天之前]的方法来获取处理时间之后的具体的值 ...

  2. 剖析nsq消息队列(一) 简介及去中心化实现原理

    分布式消息队列nsq,简单易用,去中心化的设计使nsq更健壮,nsq充分利用了go语言的goroutine和channel来实现的消息处理,代码量也不大,读不了多久就没了.后期的文章我会把nsq的源码 ...

  3. (一)配置linux环境实现持续集成

    目录 1.Centos7操作系统 2.Gnome 可视化桌面 3.远程shell工具 4.远程桌面工具 5.Jdk 6..Net Core 7.Git 8.Docker 容器 9.Kubernetes ...

  4. x86—EFLAGS寄存器详解(转载)

    鉴于EFLAGS寄存器的重要性,所以将这一部分内容从处理器体系结构及寻址模式一文中单独抽出另成一文,这部分内容主要来自Intel Developer Mannual,在后续的内核系列中遇到的许多和EF ...

  5. 【selenium】- 自动化测试必备工具FireBug&FirePath

    本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. FireBug FireBug的安装: 如果使用Firefox浏览器的话,推荐使用较低版本,比如27-32.否则会报错. 点击右上角的菜 ...

  6. 北京2018网络赛 hihocoder#1828 : Saving Tang Monk II (BFS + DP +多开一维)

    hihocoder 1828 :https://hihocoder.com/problemset/problem/1828 学习参考:https://www.cnblogs.com/tobyw/p/9 ...

  7. R:ggplot2数据可视化——进阶(1)

    ,分为三个部分,此篇为Part1,推荐学习一些基础知识后阅读~ Part 1: Introduction to ggplot2, 覆盖构建简单图表并进行修饰的基础知识 Part 2: Customiz ...

  8. go 学习笔记之无心插柳柳成荫的接口和无为而治的空接口

    如果你还了解编程概念中的接口概念,那么我建议你最好还是先阅读上一篇文章.详情请点击 go 学习笔记之万万没想到宠物店竟然催生出面向接口编程? ,否则的话,请自动忽略上文,继续探索 Go 语言的接口有什 ...

  9. SVN分支与主干合并

    1.主干合并到分支 1在本地trunk中先update一下,有冲突的解决冲突,保证trunk和repository已经完全同步, 2.在/branches /MyProject上右键,依次选择”Tor ...

  10. Go语言标准库之context

    在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理.请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务.用来处理一个请 ...