系统:centOS6.8/7.0 jdk版本:1.8以上 ELK版本:6.0.1
Elasticsearch 的安装需要在非root用户下安装,而且需要修改系统部分配置,需要给用户配置sudo权限。
$ useradd elastic
$ passwd elastic
用root编辑 vi /etc/sudoers 在文件的如下位置,为elastic添加一行即可 root ALL=(ALL) ALL elastic ALL=(ALL) ALL
登录elastic用户下面,创建安装目录,上传安装包。
$ mkdir elk
上传安装包:
jdk要求:java8以上,oracle’s和openJdk。
$ tar -zxvf jdk-xxx-xxx-xxx.tar.gx -C /path
$ vi .base_profile
JAVA_HOME=/path/xxx CLASSPAHT=.:$JAVA_HOME/lib.tools.jar ATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
$ source .base_profile
$ java -version
安装方式:解压缩安装
$ unzip Elasticsearch 6.1.0.zip
然后进入到安装目录 启动
$ cd bin $ ./bin/elasticsearch
注意:elasticsearch默认是不能在root用户下启动的。
另外需要修改系统相关配置。
1、修改系统文件句柄数 修改文件(这里需要root用户的权限才可以) /etc/security/limits.conf 在文件下面添加elastic 这里为系统用户 elastic - nofile 65536 这里表示只在这个用户下才起作用
2、修改虚拟内存的大小 修改文件/etc/sysctl.conf 添加: vm.max_map_count = 262144 查看是否生效: sysctl vm.max_map_count
3、其他情况有: /etc/security/limits.conf 添加一行: xxx - nproc 2048 其中"xxx"为启动elasticsearch的用户 /etc/security/limits.d/90-nproc.conf * soft nproc 4096 如果启动在出错,在centOS6以上不支持SecComp 修改修改elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false
配置config/elasticsearch.yml
基本配置说明
启动:
$ ./bin/elasticsearch
后台启动:
$ ./bin/elasticsearch -d -p pid
查看基本情况
$ curl -XGET '172.16.144.101:9200/_cat/health?v&pretty'
我们也可以得到我们集群中的节点列表
curl -XGET '172.16.144.101:9200/_cat/nodes?v'
安装x-pack安装框架
x-pack是elasticsearch的安全框架、提供安全、监控等相关的插件。但是x-pack是收费项目,基础项目只能提供最基本的功能,如果安装后不付费,会限制使用,可以下载申请证书,试用一年时间,但是网上有破解方法,下面我根据网上破解的方法,将破解的功能安装上。点击破解方法,下面是我已经破解并且已经试用过的安装过程。
$ bin/elasticsearch-plugin install file:///path/to/file/x-pack-6.1.0.zip
$ bin/x-pack/setup-passwords interactive
初始开始会设置 elastic,kibana,logstash_system 用户密码,我设置为: elastic:elastic kibana:kibana logstash_system:logstash_system
当你安装好x-pack后查看es的健康情况会报错401或者403。而是需要加入用户名和密码。如下
curl -XGET -u elastic:elastic '172.16.144.101:9200/_cat/health?v&pretty’
$ mv x-pack-6.0.1.jar plugins/x-pack/
$ curl -XPUT -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license' -H "Content-Type: application/json" -d @license.json
或者
$ curl -XPUT -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json
$ curl -XGET -u elastic:elastic 'http://172.16.144.103:9200/_xpack/license'
测试结果应该如: { "license" : { "status" : "active", "uid" : "348ddac9-398d-46fb-a0c0-13356e591c88", "type" : "platinum",
"issue_date" : "2017-12-12T00:00:00.000Z", "issue_date_in_millis" : 1513036800000, "expiry_date" : "2049-12-31T16:00:00.999Z", "expiry_date_in_millis" : 2524579200999, "max_nodes" : 100, "issued_to" : "yang kailan (AsiaInfo)", "issuer" : "Web Form", "start_date_in_millis" : 1513036800000 } } 这里的type和expiry_date分别是platinum和2049-12-31T16:00:00.999Z就是修改版本和失效时间。
xpack.security.enabled: false xpack.monitoring.enabled: false xpack.graph.enabled: false xpack.watcher.enabled: false
集群中所有节点都替换x-pack-xxx.jar包,然后重启更新签名。
{"error":{"root_cause":[{"type":"illegal_state_exception","reason":"Can not upgrade to a production license unless TLS is configured or security is disabled"}],"type":"illegal_state_exception","reason":"Can not upgrade to a production license unless TLS is configured or security is disabled"},"status":500}
解决方法
这个错误,是因为elasticsearch6.0.0,现在更新license文件时,要么配置SSL\TLS,要么就禁用security。
那就临时禁用,更新完了再启用就行了: vim config/elasticsearch.yml xpack.security.enabled: false #xpack.security.transport.ssl.enabled: true 更新完了license后,再改为:
xpack.security.enabled: true xpack.security.transport.ssl.enabled: true
官方提供了yum安装,具体看官方文档 这里是解压缩安装:
上传安装包logstash-6.1.0.tar.gz
解压缩安装
$ tar -zxvf logstash-6.1.0.tar.gz
$ bin / logstash -e'input {stdin {}} output {stdout {}}’
配置文件需要写conf文件,这里就不说了。
$ bin/logstash-plugin install file:///path/to/file/x-pack-6.0.1.zip 然后config/logstash.yml配置文件中添加 xpack.monitoring.elasticsearch.username: logstash_system xpack.monitoring.elasticsearch.password: logstashpassword 然后重启就可以了。
filebeat是从logstash拆分出来的,现在很多logstah的插件的功能都已经移到 不同的beats下面了 官方也是提供的yum安装,具体可以看官方文档
解压缩安装
$ tar -zxvf filebeat-6.1.0-linux-x86_64.tar.gz
$ ./filebeat -e -c filebeat.yml
kibanna是一个界面展示,依赖node.js运行。下面是解压缩安装过程。
$ tar -zxvf kibana-6.1.0-linux-x86_64.tar.gz
elasticsearch.url: "http://172.16.144.101:9200" 如果需要认证的的话,还需要用户名和密码。 其他配置可以看官方文档。
$ ./bin/kibana
$ bin/kibana-plugin install file:///path/to/file/x-pack-6.0.1.zip
然后在配置文件kibana.yml添加以下配置: elasticsearch.username: "kibana" elasticsearch.password: "kibanapassword" 重起就可以了。