作者:小涛
机器的环境是linux系统ctos7.2系统jdk 1.8.45 scala 2.11 hadoop 2.8.7 spark 2.3.0
机器有5台 名称为hadoopambarinw hadoopnd01nw hadoopnd02nw hadoopnd03nw hadoopnd04nw
解压 tar -zxvf elasticsearch-5.5.3.tar.gz -C /apps/es/
进入es的配置文件目录找到config里面有个elasticsearch.yml文件,这个是es的配置端口集群主播,被选举的地址利用vim elasticsearch.yml进行修改
Vim elasticsearch.ym修改如下:
其他机器一样的配置我们可以通过scp拷贝hadoopnd01nw $PWD
然后修改各台机器的ip跟节点名称
然后进入/bin目录 启动es
如果是root用户启动会启动失败报如下错误
所以我们需要切换为非root用户启动
通过cat /etc/paswod查看所有的用户信息。你任意用个自带的普通用户来启动es
本文作者利用hdfs用户启动su hdfs ./elasticsearch这样是在前面的控制台启动,这样不安全,我们需要在后台启动su hdfs ./elasticsearch -d 在后台启动
这个时间可能会报错,因为es在启动的过程中会占用内存比较大跟打开的文件数也比较大
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ulimit -n和-u可以查看linux的最大进程数和最大文件打开数。
如果是在生产环境我们不能随便改从新启动机器这样有其他组件在远行会导致后果产生,所以我们选择临时让配置文件生效
临时生效方法 ulimit -n 56890
永久生效的方法:
1、在/etc/security/limits.d/90-nproc.conf文件尾添加
soft nproc 204800
hard nproc 204800
2:在/etc/security/limits.d/def.conf文件尾添加
soft nofile 204800
hard nofile 204800
这两个文件的设置将会覆盖前面的设置。重启后生效
这个时间在启动es就会成功了
但是启动成功了但是我们通过es-head连接集群看状态信息会看不见这个是因为你的ip可能写错跟有个连接参数没有加
需要在es 的配置文件叫elasticsearch.yml后面加这么参数所有的都的加
http.cors.enabled: true
http.cors.allow-origin: “*”
这个时间你的es集群圆满成功了
通过连接es-herd的端口看es的集群状态访问
http://ip:9100访问如下界面
访问es的集群http://ip:9200
根据上面的步骤你的es集群搭建成功,谢谢观看,有什么问题联系作者一起讨论
本文作者的博客地址里面评论谢谢
http://blog.sina.com.cn/u/6710022829