在Linux系统中ELK的安装配置

一.ES简介

  • ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。
  • 特点:高可用,高扩展,是一种NOSQL的数据存储工具

二.ES安装前的准备工作:下载安装包

  • 链接: https://pan.baidu.com/s/1jcBPUedBon6s-k3N7SZ_vw 提取码: cr5j

三.ELK安装

  • 1.在根目录新建software软件包的目录:mkdir -p /software,把下载好的安装包,拖拽到/software目录中
  • 2.下载解zip包的压缩工具:yum install -y unzip
  • 3.进入安装包目录,输入ll可以查看目录中的文件:cd /software 回车 然后 ll 回车
  • 4.安装elasticsearch到/opt目录下:tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt
  • 5.安装kibana到/opt目录下:tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C/opt
  • 6.安装logstash到/opt目录下:tar -zxvf logstash-6.2.2.tar.gz -C /opt
  • 7.安装node到/opt目录下:tar -zxvf node-v8.9.1-linux-x64.tar.gz -C/opt
  • 8.解压elasticsearch-head-master文件:unzip elasticsearch-head-master.zip
  • 9.把解压的文件夹移动并改名: mv elasticsearch-head-master /opt/head
  • 10.进入opt目录:cd /opt
  • 11.对kilbana改名:mv kibana-6.2.2-linux-x86_64/ kilbana
  • 12.对logstash改名:mv logstash-6.2.2/ log
  • 13.对node改名:mv node-v8.9.1-linux-x64/ node
  • 14.对elasticsearch改名: mv elasticsearch-6.2.2/ es622

四.ELK的配置

1)ES的配置

  • 1.修改主机名,将localhost.localdoumain修改为bigdata01: vi /etc/hostname
  • 2.修改主机列表,新增主机地址和主机名如下:vi /etc/hosts
192.168.56.101 bigdata01	
192.168.56.102 bigdata02
192.168.56.103 bigdata03
  • 3.配置es的参数
  • (1)输入: vi /opt/es622/config/elasticsearch.yml,按shift+g快速定位到尾部,按o(小写)在下一行插入以下内容
cluster.name : bigdata               --集群名
node.name : master          --节点名
node.master : true               --是否是主节点
network.host : 192.168.56.101     --本机地址
discovery.zen.ping.unicast.hosts : ["192.168.56.101"]      --同上地址
http.cors.enabled : true                       
http.cors.allow-origin : "*"
  • 4.配置系统参数
  • (1)输入: vi /etc/sysctl.conf,插入内容:vm.max_map_count=655360,保存退出
  • (2)输入: sysctl -w vm.max_map_count=655360 若出现vm.max_map_count = 655360即配置成公
  • (3)输入: vi /etc/security/limits.conf(部分人的机器可能需要重启才会生效),插入如下内容,保存退出
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
  • 5.添加普通用户: useradd es
  • 6.修改es622目录的属组(因为es不可使用root用户启动): chown -R es:es es622
  • 7.切换到es普通用户: su es
  • 8.进入opt目录: cd /opt
  • 9.启动elasticsearch(前提要安装好Java) :./es622/bin/elasticsearch
  • 若底部出现 started即是启动成功,若只想在后台运行在命令后面加上-d参数
  • jdk安装链接https://blog.csdn.net/sun_0128/article/details/106771700
  • 10.在windows界面打开网页(最好使用chrome浏览器),输入http://192.168.56.101:9200,可以正常出页面,切有节点的信息,即启动成功
    效果

2)Head-master及node的配置

  • 1.修改PATH路径,输入: vi /etc/profile ,插入以下内容:export NODE_HOME=/opt/node 在原Java的PATH下加入:$NODE_HOME/bin
    path
  • 2.输入: source /etc/profile使该文件生效,输入 node -v 查看版本号若能出现版本号即配置成功
  • 3.进入head-master文件中: cd /opt/head
  • 4.输入 : npm install -g grunt-cli --等待的时间可能比较长,要有点耐心
  • 5.输入: npm install 若等待时间过长按ctrl+c强制退出执行以下命令: npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
  • 6.输入: vi Gruntfile.js,在以下位置(进入文件可按93gg快速定位)增加一行代码:
 hostname : '*',

gjs

  • 7.输入: vi _site/app.js ,找到如下代码(进入文件输入4360gg快速定位,找行号的代码为:cat app.js | grep localhost -n),进行修改,将localhost改为主机地址:192.168.56.101
    local
  • 8.启动head-master: npm run start
  • 后台启动:nohup grunt server &
  • 9.在windows界面,打开网页(chrome浏览器),输入:http://192.168.56.101:9100若能正常显示则无问题
    效果图

3)kibana安装

  • 1.进入kibana目录: cd /opt/kilbana
  • 2.输入: vi config/kibana.yml ,按shift+g跳转到行末,按o(小写)增加以下内容:
server.host: "192.168.56.101"
elasticsearch.url : "http://192.168.56.101:9200"
  • 3.启动kilbana: ./bin/kibana
  • 后台启动:nohup ./bin/kibana &
  • 4.在windows界面打开网页(推荐chrome浏览器),输入http://192.168.56.101:5601/能出页面代码即可,效果如下:
    kibana

4)logstash测试(退出logstash按ctrl+c)

  • 1.进入log目录: cd /opt/log
  • 2.输入: ./bin/logstash -e 'input{ stdin{} } output { stdout{} }'来测试logstash是否正常工作,输入一些字符,出现如下效果则成功:
    测试
  • 3.输入:./bin/logstash -e 'input{ stdin{} } output { stdout{ codec => json } }' 把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的,输入字符测试,出现如下效果即成功:
    json
  • 4.输入: ./bin/logstash -e 'input{ stdin{} } output { stdout{ codec => json } elasticsearch{ hosts => [ "192.168.56.102:9200" ] } }' 然后输入信息, 把控制台输入的数据转换成rubydebug类型的数据,同时上传到es服务器,可以在对应192.168.56.102:9100的页面进行查看,页面效果如下:
    页面效果
  • 5.使用logstash读取文件
  • 1)在log目录下新建一个temp文件夹: mkdir temp
  • 2_在temp目录下新建一个测试文件a.txt:vi temp/a.txt,插入一些内容
  • 3)在temp目录下新建如下内容的格式文件:vi temp/logstash.conf
#配置文件输入
input{
        file{
                path =>"/opt/log/temp/a.txt"
                start_position => "beginning"
                sincedb_path => "/dev/null"
        }
}
filter{
        ruby{
                code => "event.timestamp.time.localtime"
        }
}
#输出格式
output{
        stdout{
                 codec => rubydebug
        }
        elasticsearch{
                hosts => ["192.168.56.102:9200"]
        }
}

  • 4)运行命令测试:./bin/logstash -f temp/logstash.conf,出现如下效果即读取成功了
    读取成功

五.附安装视频

六.shell脚本一键安装

#!/bin/bash
cd /opt/software
userdel -r es 
#解压安装并改名
mkdir -p /opt/install/elk
yum install -y unzip
cd /opt/software
tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt/install/elk
tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C /opt/install/elk
tar -zxvf logstash-6.2.2.tar.gz -C /opt/install/elk
tar -zxvf node-v8.9.1-linux-x64.tar.gz -C /opt/install/elk
unzip elasticsearch-head-master.zip 
mv elasticsearch-head-master /opt/install/elk/head
mv /opt/install/elk/kibana-6.2.2-linux-x86_64/ /opt/install/elk/kibana
mv /opt/install/elk/logstash-6.2.2/ /opt/install/elk/log
mv /opt/install/elk/node-v8.9.1-linux-x64/ /opt/install/elk/node
mv /opt/install/elk/elasticsearch-6.2.2/ /opt/install/elk/es622

#配置es文件
echo 'cluster.name : bigdata' >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'node.name : master'  >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'node.master : true' >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'network.host : hadoop01' >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'discovery.zen.ping.unicast.hosts : ["hadoop01"]' >> /opt/install/elk/es622/config/elasticsearch.yml 
echo 'http.cors.enabled : true' >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'http.cors.allow-origin : "*"' >> /opt/install/elk/es622/config/elasticsearch.yml
echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
sysctl -w vm.max_map_count=655360
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf
echo '* soft nproc 4096'   >> /etc/security/limits.conf
echo '* hard nproc 4096'   >> /etc/security/limits.conf

#添加es用户并启动es
useradd es
chown -R es:es /opt/install/elk/es622
su - es <<EOF
/opt/install/elk/es622/bin/elasticsearch -d 
EOF
#配置node节点环境变量
echo 'export NODE_HOME=/opt/install/elk/node' >> /etc/profile
echo 'export PATH=$PATH:$NODE_HOME/bin' >> /etc/profile
source /etc/profile
node -v

#配置head master
cd /opt/install/elk/head/
npm config set registry https://registry.npm.taobao.org
npm config get registry
npm install -g grunt-cli
npm config set registry https://registry.npm.taobao.org
npm config get registry
npm install
npm config set registry https://registry.npm.taobao.org
npm config get registry
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
sed -i "93a  hostname : '*'," Gruntfile.js
sed -i "4360s/localhost/hadoop01/g" _site/app.js
#npm run start 后台启动如下 只需要在第一次启动即可
nohup grunt server &


#配置kibana
cd /opt/install/elk/kibana
echo 'server.host: "hadoop01"' >> config/kibana.yml
echo 'elasticsearch.url : "http://hadoop01:9200"' >> config/kibana.yml
nohup ./bin/kibana &
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值