学习ES时最新版本已经是6.2,个人觉得学习使用不要用最新的版本,选择了上个版本5.6学习并运用生产实践。
ES部署根据官网介绍,看起来很简单。java8+官方包 ,执行bin/elasticsearch 就ok了。但实际部署过程中有很多需要注意的服务器细节问题。在此只记录linux服务器安装部署遇到的问题以及自己搜集的信息,windows不在考虑范围内。
1 JAVA8以上版本是必须要准备的。甲骨文官网下载JAVA8版本包,服务器解压,配置JAVA运行环境:
vi /etc/profile
#set java environment
JAVA_HOME=/opt/java/jdk1.8.0_161
JRE_HOME=/opt/java/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
2 修改linux服务器系统配置信息
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
第一步:liunx创建新用户 adduser XXX 然后给创建的用户加密码 passwd XXX 输入两次密码。
第二步:切换刚才创建的用户 su XXX 然后执行elasticsearch 会显示Permission denied 权限不足。
第三步:给新建的XXX赋权限,chmod 777 * 这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。
2.1 检查系统配置
添加 /etc/security/limits.conf
xx - nofile 65536
root用户执行
sysctl -w vm.max_map_count=262144
避免es启动报max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]错误
3 修改es 目录下config/elasticsearch.yml文件
重要几项:
cluster.name :集群自动识别
node.master :主节点配置
network.host:网络ip绑定
http.port :默认9200端口
path.data: 数据文件存放目录
path.logs:日志存放目录