搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(八) elasticsearch配置外网访问及常见错误处理

摘要:
elasticsearch这个东西,相当的吃内存。像前面一样使用默认设置,正常得一笔,但是只要修改了elasticsearch.yml里面的内容,就可能错误不断了。所以,这里有一个过来人告诉你,真的需要耐心……哈哈,还是自己太弱了,刚入门走了不少弯路。



我们先配置elasticsearch的外网访问
在上一节中,我们做了一个elasticsearch demo。但是当时我们只是在终端里查询了结果,有的人就会想,这样会不会太局限了。是的,我们还有其他思路。


1、首先,在终端里输入ip addr或者ifconfig查看本地局域网ip地址,如果是远程服务器,知道ip的,就可以省略这一步了。


2、然后我们先修改elasticsearch的配置文件
修改elasticsearch 文件夹下/config/elasticsearch .yml文件,我这里的完整路径为/home/husen/Desktop/elasticsearch-5.5.1/config/elasticsearch .yml

修改大概第50几行处的两个位置

  • #network.host: 192.168.0.1这行后面添加一行network.host: 0.0.0.0
  • 去掉#http.port: 9200这行前面的#


3、然后运行回到elasticsearch目录下运行elasticsearch

cd /home/husen/Desktop/elasticsearch-5.5.1/
./bin/elasticsearch

4、这时候在另一台机器打开浏览器(我这里是虚拟机的centos运行的elasticsearch,所以我直接在wimdows里面用浏览器访问),输入

http://10.45.32.103:9200/_search?pretty

可以看到有内容输出,不过全都为0,这是因为我们还没有从logstash输出过内容


5、接着我们在运行logstash试试,准备好配置文件,内容如下,保存为logstash.conf,并放在logstash文件目录下

input{
    stdin{}
}

output{
    # 输出到elasticsearch
    elasticsearch {
            hosts  => "10.45.32.103:9200" ##填写自己的主机ip
        }
}


6、 在logstash目录下输入以下命令运行logstash

./bin/logstash -f logstash.conf 


7、 运行成功后,在logstash终端里输入Hello World, Hello husen!

刷新刚刚浏览器的界面,可以看到以下输出,搞定!



常见错误 1

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案

  • 临时修改 (重启后失效)在终端输入
[root@localhost elasticsearch-5.5.1]# sysctl -w vm.max_map_count=262144
  • 永久性修改
##备份
[root@localhost elasticsearch-5.5.1]# cd /etc/
[root@localhost etc]# cp sysctl.conf sysctl.conf_bk

##增加变量
[root@localhost etc]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf

##查看是否生效
[root@localhost etc]# sysctl -p
vm.max_map_count = 262144

常见错误 2

[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

解决方案

这个是不能用root账户运行,elasticsearch 5之后,都不能用root运行了,不要问我为什么….


常见错误 3

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

解决方案

##切换到root用户
[husen@localhost ~]$ su
Password: 

##备份
[root@localhost husen]# cp /etc/security/limits.conf /etc/security/limits.conf_bk

##增加下面两行,其中husen为我运行elasticsearch的用户名
##这里elasticsearch不能用root运行,所以得为elasticsearch新建一个用户
[root@localhost husen]# echo "husen hard nofile 65536" >> /etc/security/limits.conf
[root@localhost husen]# echo "husen soft nofile 65536" >> /etc/security/limits.conf

更多常见错误详见其他博客
centos7虚拟机安装elasticsearch5.0.x-安装篇
Elasticsearch5.0 安装问题集锦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值