centos7安装elasticsearch-5.0.0
1、初始环境centos7 内核高于3.5
jdk8
创建用户(用户名无要求)、密码,该软件不能在root用户下运行。
集群配置:
192.168.99.117-119,分别为node1、node2 、node3
useradd xiaoge-d/home/xiaoge-s /bin/bash
passwd xiaoge
系统参数要求:
cat /etc/sysctl.conf
fs.file-max=65536
vm.max_map_count=262144
]# sysctl -p
vm.max_map_count = 262144
# cat/etc/security/limits.conf
xiaoge hard nofile 65536
xiaoge soft nofile 65536
2、操作步骤
node1配置:(其他集群主机相同)
解压:
tar -zxvf elasticsearch-5.0.0.tar.gz -C /usr/local/
修改配之文件:
cd/usr/loca/elasticsearch-5.0.0
vi elasticsearch.yml
cluster.name: ES_cluster
node.name: node-1//(其他主机配置node-2、node-3)
path.data: /usr/local/elasticsearch-5.0.0/data
path.logs: /usr/local/elasticsearch-5.0.0/logs
bootstrap.memory_lock: true
network.host: 192.168.99.117 //(绑定地址)
http.port: 9200 //(绑定端口)
discovery.zen.ping.unicast.hosts: ["192.168.99.117", "192.168.99.118","192.168.99.119"]
//集群配置
discovery.zen.minimum_master_nodes: 2
# 增加新的参数,这样head插件可以访问eshttp.cors.enabled: truehttp.cors.allow-origin: "*"
2、运行elasticsearch :
配置jvm。
# pwd
/usr/local/elasticsearch-5.0.0/config
# catjvm.options
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms512m
-Xmx512m
若想让es后台运行,则
$ ./elasticsearch -d &
2.关闭elasticsearch:
前台运行:可以通过”CTRL+C”组合键来停止运行
后台运行,可以通过”kill -9 进程号”停止.也可以通过REST API接口:
curl -XPOST http://主机IP:9200/_cluster/nodes/_shutdown
来关闭整个集群,
通过:curl -XPOST http://主机IP:9200/_cluster/nodes/节点标示符(如es-node1)/_shutdown
来关闭单个节点
3、插件及其安装(5.0版本后不再支持head插件,需要单独安装)
BigDesk Plugin : 对集群中es状态进行监控。
Elasticsearch Head Plugin: 对ES进行各种操作,如查询、删除、浏览索引等。
1.安装head插件
进入到节点elasticsearch-node1/bin路径,并安装插件。
第一步:通过git拉取,或者单独下载
yum -y install git
git clone git://github.com/mobz/elasticsearch-head.git
下载后,修改下777权限(简单粗暴),因为是独立启动head的,所以随便放一个位置就行了,参考:
/home/xiaoge
第二步,安装node
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)
去官网下载nodejs,https://nodejs.org/en/download/
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/72e68ed25c93417796bdbe23217d7a29/clipboard.png
下载下来的jar包是xz格式的,一般的linux可能不识别,还需要安装xz.
yum -y install xz
xz -d node*.tar.xztar -xvf node*.tar
# cat/etc/profile
export JAVA_HOME=/opt/jdk1.8.0_92
export NODE_HOME=/opt/node-v6.10.2-linux-x64
export PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin:$HOME/bin
# source /etc/profile
第三步,安装grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装一下grunt:
npm install grunt-cli -g
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
打开elasticsearch-head目录下的package.json文件,找到license位置,修改为上面这个网站上存在Identifier,就可以了。如图所示,把原来的Apache内容修改为Apache-2.0
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/9a2ab2752f4a4837be6375953d722478/clipboard.png
在elasticsearch-head目录下node_modules/grunt下如果没有grunt二进制程序,需要执行
cd elasticsearch-head
npm install grunt --save
/usr/local/elasticsearch-head/node_modules/grunt/bin/grunt server
或者
cd elasticsearch-head
grunt server &
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/682efd9c8d9f4105a68e9f478890a0cf/clipboard.png
安装 kibana 5.0
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.0.0-linux-x86.tar.gz
tar -zxvf kibana-5.0.0-linux-x86.tar.gz
mvkibana-5.0.0-linux-x86.tar.gz/usr/local/
cd/usr/local/kibana-5.0.0-linux-x86/
# catconfig/kibana.yml | grep -v '^#'
server.port: 5601
server.host: "192.168.99.118"
server.name: "kibana_server"
elasticsearch.url: "http://192.168.99.118:9200"
# ./bin/kibana &
5011
# ./bin/kibana: /usr/local/kibana-5.0.0-linux-x86/bin/../node/bin/node: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
./bin/kibana: line 24: /usr/local/kibana-5.0.0-linux-x86/bin/../node/bin/node: Success
+Exit 126 ./bin/kibana
解决办法:
# yum install ld-linux.so.2
# ./bin/kibana &
7062
# ./bin/../node/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
+Exit 127 ./bin/kibana
解决办法:
yum install libstdc++.so.6
kibana 5.0 已经集成了各插件实现了常用和重要的功能,Marvel 和 sense 已不再需要安装了,kibana 中的 Dev Tools 实现了这样的功能。
哪些插件有用,参考官方文档: https://www.elastic.co/downloads
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/1284bffa461249daa7b206ec4fee0f28/clipboard.png
把输出直接传输到elasticsearch:
input {
file {
path =>"/var/log/messages"
}
}
output {
file {
path => "/tmp/log-%{+YYYY-MM-dd}.messages.gz"
gzip => true
}
elasticsearch {
host => ["192.168.10.206"]
protocol => "http"
index => "system-message-%{+YYYY.MM.dd}"
}
}
#############logstash配置,日志文件输入到redis,redis输入到elasticsearch数据库
在使用logstash前,需要对它有一定的了解。logstash的组件其实很简单,主要包括input、filter、output、codec四个部分。
[*]input 用于读取内容,常用的有stdin(直接从控制台输入)、file(读取文件)等,另外还提供了对接redis、kafka等的插件
[*]filter 用于对输入的文本进行处理,常用的有grok(基于正则表达式提取字段)、kv(解析键值对形式的数据)、csv、xml等,另外还提供了了一个ruby插件,这个插件如果会用的话,几乎是万能的。
[*]output 用于把fitler得到的内容输出到指定的接收端,常用的自然是elasticsearch(对接ES)、file(输出到文件)、stdout(直接输出到控制台)
[*]codec 它用于格式化对应的内容,可以再Input和output插件中使用,比如在output的stdout中使用rubydebug以json的形式输出到控制台
以下日志流程为nginx日志---->redis--->elasticsearch
$ pwd
/usr/local/logstash-5.3.0
$ cat config/file2redis.conf
input {
file {
type => "nginx_access log"
path => ["/usr/local/nginx/logs/access.log"]
}
}
filter {
grok {
match => {
"message" => "%{NOTSPACE:url}\s*%{NOTSPACE:date}\s*%{NOTSPACE:pvs}\s*%{NOTSPACE:uvs}\s*%{NOTSPACE:ips}\s*%{NOTSPACE:mems}\s*%{NOTSPACE:new_guests}\s*%{NOTSPACE:quits}\s*%{NOTSPACE:outs}\s*%{NOTSPACE:stay_time}"
}
}
}
output {
stdout {
codec => rubydebug
}
redis {
host => "192.168.99.119"
port => 6379
data_type => "list"
key => "f1-nginx-json-log"
}
}
#####启动日志服务
$ ./bin/logstash -f config/file2redis.conf --verbose
$ cat config/redis2es.conf
input {
redis {
data_type => "list"
key => "f1-nginx-json-log"
host => "192.168.99.119"
port => 6379
}
}
output {
stdout{
codec => rubydebug
}
elasticsearch {
hosts => ["192.168.99.117:9200"]
index => "nginx117-%{+YYYY.MM.dd}"#######elasticsearch库的创建名称,如果对应不上不能创建。
}
}
$ ./bin/logstash -f config/redis2es.conf --verbose
###打开kibana,management -->Index Patterns -->Add New
http://192.168.99.119:5601
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/4f3573b21c0f4919a9bed46467b99b94/clipboard.png
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/1fd4e647e6fc459d8907a7083510d1e1/clipboard.png
或者用*匹配
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/ca3cb935d32b4e029eb91871115cf442/clipboard.png
页:
[1]