一、简介

公司又来了,这次的任务是搭建elk。

好吧,好像很多博客都是在工作中写出来的。

本来以为两行命令搞定的事情,坑没那么多的,结果。。。

 

二、安装与启动ElasticSearch

链接:https://www.elastic.co/downloads

elk都有,各个系统版本都有,全家桶,要啥有啥。

到自己的服务器上执行

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz

$ tar -zxvf elasticsearch-6.5.1.tar.gz

$ cd elasticsearch-6.5.1

$ cd conf

# 这里主要添加端口跟地址
# 修改一下这四行
# network.host: 10.0.98.69   # 这里的ip改成你的服务器地址
# http.port: 9200            # 端口
# bootstrap.memory_lock: false
# bootstrap.memory_lock: false
$ vim elasticsearch.yml


$ cd ../bin

# 启动elastic
$ ./elasticsearch

# 好像就是这么简单,然而这是噩梦的开始。

 

三、可能踩到的坑(可能遇到的错误)

我先列出我个人踩到的坑,再把网上浏览的借鉴(侵删~)过来。

1.Caused by: java.lang.RuntimeException: can not run elasticsearch as root

启动的时候可能会遇到这个错误。

什么意思?es可以直接脚本操作,为了保证系统安全,不允许以root角色启动es

那就。。。切换角色咯

# 切换到someone用户再去执行./elasticseach操作

$ su someone(用户名)
password:

$ someone ~:

这里有另一个说法,是说执行 chown  -R someone:someone elasticsearch-5.6.0

把目录权限给到someone去运行即可,这个我没试过。有遇到的可以试试看!

2.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;

# 切换到root用户

# 执行命令:

$ sysctl -w vm.max_map_count=262144

# 查看结果:

$ sysctl -a|grep vm.max_map_count

# 显示:

$ vm.max_map_count = 262144

 

# 上述方法修改之后,如果重启虚拟机将失效,所以:

# 解决办法:

# 在   /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

# 即可永久修改

3.org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: unknown setting [http.cors.enable] did you mean [http.cors.enabled]

这个是因为elasticsearch 5.0 以上在启动时增加了参数校验

使用./elasticsearch -d 或者 ./elasticsearch -& 启动

如果还是希望使用./elasticsearch 启动,

则在elasticsearch.yml文件中加入这两个配置

bootstrap.memory_lock: false
bootstrap.memory_lock: false

 

四、安装kibana

$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz

$ tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz

$ cd kibana-6.5.1

# 如果你是在本地启动的,忽略修改配置文件这一步

$ vim config/kibana.yml

# 修改 server.host: 你的IP

$ ./bin/kibana

访问 http://你的IP:5601,看到下图界面就说明搭建成功!

centos搭建elk带xpack linux部署搭建elk_centos搭建elk带xpack

 

五、安装logstash

$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.1.tar.gz

$ tar -zxvf logstash-6.5.1.tar

$ cd logstash-6.5.1

$ cp config/logstash-sample.conf logstash.conf

# 跟kibana一样,如果是本地启动的则无需修改yml配置文件,直接启动即可

$ vim config/logstash.conf

# 修改output对象中 es的host属性,把localhost改为你的IP

$ vim config/logstash

# 修改http.host: "你的 IP"


# 启动
$ ./bin/logstash -f ./config/logstash.conf

启动后访问http://你的IP:9600/,看到下图画面则说明启动成功

centos搭建elk带xpack linux部署搭建elk_elasticsearch_02