elasticsearch使用docker启动一些注意事项

1. 文件挂载权限问题

在使用docker来部署elasticsearch服务时,通常需要把elasticsearch的索引数据和日志数据映射到本地进行持久化存储,但是经常会遇到权限问题:elasticsearch无法读取数据或者无法写入日志文件,主要有两种处理方法:

  • 将外部文件权限全部打开,有一定安全风险
# 将外面文件夹权限设定为全部用户可读写
chmod -R 777 /PATH/TO/ES_DATA
chmod -R 777 /PATH/TO/ES_LOG
  • 将镜像内文件与宿主机文件的用户及组id统一,因为在校验权限时通过uid和gid来验证,官方elasticsearch镜像内部为elasticsearch用户,uid和gid为1000,因此我们也将外部用户及组id修改为1000
# 将外部文件夹用户与组与镜像内部统一
chown 1000:1000 /PATH/TO/ES_DATA
chown 1000:1000 /PATH/TO/ES_DATA

2. 系统配置设置

基于docker启动elasticsearch,和在linux机器配置elasticsearch类似,同样需要做一些配置:

  • 虚拟内存配置
    elasticsearch使用mmapfs的方式来存储索引,通常系统默认的mmap数值较小,容易产生内存不足的错误,处理方法:
    • 先切换到root用户,执行vi /etc/sysctl.conf
    • 添加配置vm.max_map_count=655360
    • 执行sysctl -p使得配置生效
    • 重新启动elasticsearch配置即生效
  • 进程数配置
    elasticsearch通过线程池来执行不同操作,系统要保证elasticsearch用户至少可以创建4096个线程。
    • 切换root用户,执行vi /etc/security/limits.conf
    • 添加elasticsearch - nproc 4096
  • 打开文件句柄数设置,设定最大可以打开65536个文件句柄
    • 切换root用户,执行vi /etc/security/limits.conf
    • 添加elasticsearch - nofile 65336
    • 重启elasticsearch。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值