ES服务器搭建以及常遇问题处理

最近一直想做一个ES订单同步功能实现,ES服务器已经搭建好,以及kibana前端图形化操作工具。

一、软件以及环境准备

linux环境版本:Linux version 3.10.0-693.2.2.el7.x86_64 (查看服务器命令:uname -a或者cat /proc/version)
jdk版本:java version “1.8.0_171” (查看命令:java -version)

ES软件:elasticsearch-6.4.0.tar.gz 百度云下载地址:链接下载地址:
链接:https://pan.baidu.com/s/1UQgEYpvzN_OyublZGCdSOQ
提取码:jexb

kibana前端图形化操作工具:kibana-6.4.0-linux-x86_64.tar.gz 链接下载地址:
https://pan.baidu.com/s/1KKcb9oFfdAheQxBuXV-fEw
提取码:ksk8

二、JDK安装配置

下载并解压jdk,解压命令:tar -xvf jdk-8u181-linux-x64.tar.gz /alidata/server/java/
并设置/etc/profile添加如下环境变量

#set java environment
export JAVA_HOME=/alidata/server/java/
export JRE_HOME=/alidata/server/java/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

最后要重置环境变量:soure /etc/profile 并查看java的版本:java -version

三、ElasticSearch安装及配置

下载解压elasticsearch-6.4.0.tar.gz,解压命令:tar -xvf elasticsearch-6.4.0.tar.gz /home/zhutr

修改es-node-1节点的配置文件elasticsearch.yml:

#修改以下项
#表示集群标识,同一个集群中的多个节点使用相同的标识  (单机版无需配置)
#cluster.name: elasticsearch
#节点名称
node.name: "es-node-1"
#数据存储目录
path.data: /home/zhutr/data
#日志目录
path.logs:  /home/zhutr/logs
#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点
network.host: 0.0.0.0
#绑定监听的网络接口,监听传入的请求,可以设置为IP地址或者主机名
#network.bind_host: 192.168.0.11
#发布地址,用于通知集群中的其他节点,和其他节点通讯,不设置的话默认可以自动设置。必须是一个存在的IP地址
#network.publish_host: 192.168.0.11
#对外提供服务的http端口,默认为9200
http.port: 9200
#集群中主节点的初始列表,当主节点启动时会使用这个列表进行非主节点的监测
#discovery.zen.ping.unicast.hosts: ["192.168.0.11","192.168.0.12"]
#下面这个参数控制的是,一个节点需要看到的具有master节点资格的最小数量,然后才能在集群中做操作。官方推荐值是(N/2)+1;
#其中N是具有master资格的节点的数量(我们的情况是3,因此这个参数设置为2)
#但是:但对于只有2个节点的情况,设置为2就有些问题了,一个节点DOWN掉后,肯定连不上2台服务器了,这点需要注意
discovery.zen.minimum_master_nodes: 2
#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

启动ES命令:cd /home/zhutr/elasticsearch-6.4.0/bin/ 执行启动命令: ./elasticsearch -d 注意:-d参数表示以后台进程启动,默认情况下会在控制台输出日志。

ES启动一般会遇到三个问题:

第一个问题是:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决方案:

[root@es-master local]# vim /etc/security/limits.conf
#在文件末尾添加如下内容:
elk soft nofile 65536
elk hard nofile 131072
elk soft nproc 4096
elk hard nproc 4096

第二个会遇到的问题:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决方案:
切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:

* soft nproc 1024

#修改为

 soft nproc 2048

第三个问题:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决方案:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后,重新启动elasticsearch,即可启动成功。

四、安装及配置ES前端图形化操作工具

下载解压 tar -xvf kibana-6.4.0-linux-x86_64.tar.gz /home/zhutr/

修改kibana的配置文件kibana.yml

[root@es-master local]# cd kibana-6.4.0/config
[root@es-master config]# vim kibana.yml
#修改如下内容:
#对外服务监听端口
server.port: 5601
#绑定可以访问5601端口服务的IP地址,0.0.0.0表示任何地址在没有防火墙限制的情况下都可以访问,生产环境别这样设置,不安全。
server.host: "0.0.0.0"
#默认值为主机名称,表示kibana实例绑定的主机,可以是IP地址或者主机名称.
server.name: "es-master"
#用来处理ES请求的服务URL
elasticsearch.url: "http://******:9200"
#用来控制证书的认证,可选的值为full,none,certificate。此处由于没有证书,所以设置为null,否则启动会提示错误.
elasticsearch.ssl.verificationMode: none

启动kibana 启动命令:nohup ./kibana & tail -f nohup.out

如果启动正常,在浏览器端访问http://******:5601,即可看到图形化操作工具。查看linux服务器的外网ip

curl ifconfig.me

期待下一篇ES同步订单,可是直接上代码的哦,哈哈哈哈哈!!!!

你可能感兴趣的:(elasticsearch)