环境搭建-ELK单节点环境搭建(02)
写在前面
常说:"工欲善其事必先利其器",这话想想也是一点毛病也没有,在开始学习任何技术之前,我们总得有一个实际可供操作的实验环境.有人说,"看十遍不如用一遍",我想大概就是这个道理.废话不多说,直接开始.
实验环境
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这个插件装上.---------