【ElasticSearch】本地安装部署

一、ElasticSearch安装部署

1、下载软件包

【ElasticSearch】本地安装部署_第1张图片

2、解压软件包

  • 解压命令
tar -zxvf ./elasticsearch-7.8.0-linux-x86_64.tar.gz

image.png

3、创建启动用户并启动应用

elasticsearch为了安全,不能用root用户运行应用实例,需要为实例创建用户。如果用root用户运行,会出现以下异常。

java.lang.RuntimeException: can not run elasticsearch as root

【ElasticSearch】本地安装部署_第2张图片

  • 创建用户命令
adduser elasticsearch
  • 修改用户密码
passwd elasticsearch
  • 将es解压目录的所有者授予此用户
chown -R elasticsearch elasticsearch-7.8.0
  • 切换至elasticsearch用户
su elasticsearch
  • 进入es安装目录,运行启动脚本
/usr/local/elasticsearch-7.8.0/bin/elasticsearch -d

4、常见错误

完成上述步骤后,在本地虚拟机中启动es单实例,直接运行,通常会抛出如下错误。
常见错误.png

  • 用户被限制打开的文件描述符数量过低
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解决方法:编辑 /etc/security/limits.conf,追加以下内容,注意此文件修改后需要重新登录用户,才会生效

elasticsearch hard nofile 65536
elasticsearch soft nofile 65536

执行命令查看用户限制

ulimit -a

【ElasticSearch】本地安装部署_第3张图片

  • 用户别限制打开的线程数过低
max number of threads [3796] for user [elasticsearch] is too low, increase to at least [4096]

解决方法:编辑 /etc/security/limits.conf,追加以下内容,注意此文件修改后需要重新登录用户,才会生效

elasticsearch soft nproc 4096
elasticsearch hard nproc 4096

执行命令查看用户限制

ulimit -a

【ElasticSearch】本地安装部署_第4张图片

  • 虚拟内存区域被限制过低
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案: /etc/sysctl.conf文件最后添加一行

echo "vm.max\_map\_count=262144" >> /etc/sysctl.conf  
#使修改立即生效
sysctl -p 

查看修改结果:

sysctl -a | grep vm.max_map_count

【ElasticSearch】本地安装部署_第5张图片

  • 提示默认发现配置不适合生产环境使用
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

解决方法:修改elasticsearch.yml配置

#打开节点名称的配置
node.name: node-1

#这里的node-1为node-name配置的值
cluster.initial_master_nodes: ["node-1"]

#外部ip访问elasticsearch
network.host: 0.0.0.0

5、开放端口

  • 查看开放的端口号
firewall-cmd --list-all

  • 设置开放端口号
firewall-cmd --add-port=9200/tcp --permanent
  • 重启防火墙
firewall-cmd --reload

6、验证是否部署成功

  • 访问部署服务器es实例,默认端口为9200

【ElasticSearch】本地安装部署_第6张图片

你可能感兴趣的:(elasticsearch,搜索,大数据,centos7,linux)