ElasticSearch + Logstash + Kibana使用集锦

ES安装及运行问题


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


解决方法:
sudo vim /etc/sysctl.conf
追加: vm.max_map_count = 262144
执行 sysctl -p 应用配置

max file descriptors [4096] for elasticsearch process is too low

解决方法:
sudo vim /etc/security/limit.conf
追加:
<运行es的用户名称> hard no file 65536
需要重新登录当前用户

max number of threads [1024] for user [es] is too low, increase to at least [2048]

解决方法: sudo vim /etc/security/limits.d/90-nproc.conf
需要重新登录当前用户

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

解决方法: sudo sysctl -w vm.max_map_count=655360

system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解决方法: 修改es配置文件
vim config/elasticsearch.yml
bootstrap.system_call_filter: false

initial heap size [536870912] not equal to maximum heap size [1073741824]; this can cause resize pauses and prevents mlockall from locking the entire heap

解决方法:
将jvm的 -Xms 与-Xmx 的值 保持一致

启动后,如果只有本地可以访问,

解决方法:
修改配置文件 elasticsearch.yml中network.host(注意配置文件格式不是以 # 开头的要空一格, : 后要空一格)
为 network.host: 0.0.0.0
默认端口是 9200
注意:关闭防火墙 或者开放9200端口

指定java8运行

由于运行环境上有其他项目以jdk1.7 运行着,而es最低支持的java版本为jdk1.8
所以需要指定jdk1.8运行

解决方法:
讲elasticsearch运行脚本里指定的java_home 改为java8_home,
并设置java8_home 环境变量指定到jdk8的跟目录


cd 到es/bin目录
cp elasticsearch elasticsearch.bak
vim elasticsearch

找到java_home字符串更改java8_home


if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="$JAVA_HOME/bin/java"
else

改为

if [ -x "$JAVA8_HOME/bin/java" ]; then
JAVA="$JAVA8_HOME/bin/java"
else

配置JAVA8_HOME环境变量:


export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home

客户端选择:Jest, Rest, Flummi

Rest 只能说是一个Http客户端,不能说是ElasticSearchAPI
Flummi 版本兼容有问题,只支持2.4和5.0版本,在github上活跃度比较低,文档比较少
Jest API风格与Flummi类似,有可能是Flummi在模仿JEST,活跃度相对来说比较高,而且文档清晰
我们项目用的是JEST, 但有些功能要使用jdk 1.8才支持,所以如果在同一个环境内分别使用不同的jdk 版本来运行的话,要另外在配置(见下一个要点)

分别使用不同的jdk运行客户端

假如服务器现在使用的jdk 为1.7,客户端用的却是1.8
解决方法:
1.下载并解压jdk1.8
2.使用alias命令创建 java8 的调用:
vim /etc/profile - 编辑文件


export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
alias java8="$JAVA8_HOME/bin/java -classpath .:./lib:$JAVA8_HOME/lib "

调用


java8 -jar XXX.jar

你可能感兴趣的:(ElasticSearch + Logstash + Kibana使用集锦)