linux中(安装系统centos7.4)ElasticSearch的安装遇到的问题

elasticsearch的安装很简单,下载源码包:点击这里

 elasticsearch需要以普通的用户方式去执行,原因是:elasticsearch非常强大,可以接收和执行用户的脚本文件,所以为了安全考虑,只允许普通用户启动!这里简单了解下

下面创建普通用户

     groupadd elsearch

     useradd -g elsearch -p elsearch

将下载的包解压缩

    tar -zxf elasticsearch-7.3.1-linux-x86_64.tar.gz

更换目录的所有者

 chown -R elsearch.elsearch elasticsearch-7.3.1

进入elasticsearch-7.3.1/config目录:vi elasticsearch.yml文件中55和59行去掉注释改为如图:

到此基本已经安装完成,如图:

elasticsearch 的启动很简单:进入elasticsearch-7.3.1/bin目录下,有个elasticsearch可执行文件,直接

./elasticsearch即可;

想要在后台执行:

./elasticsearch &

下面将一下遇到的坑:

1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

  每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn ulimit -Sn或者 ulimit -a

  修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效

* soft nofile 65536 * hard nofile 65536

2、max number of threads [3818] for user [es] is too low, increase to at least [4096]

  问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf,增加配置

soft    nproc           4096
hard    nproc           4096

  可通过命令查看

ulimit -Hu ulimit -Su

特别注意:如何上述在limits.conf中的配置不生效,可以在/etc/security/limits.d/下修改20-nproc.conf,具体修改如下图:

 

3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

  修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144

vi /etc/sysctl.conf

sysctl -p

  执行命令sysctl -p生效

正确的limits.conf

处理bootstrap checks failed问题

[1]: 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文件,将 #cluster.initial_master_nodes: ["node-1", "node-2"] 修改为 cluster.initial_master_nodes: ["node-1"],

另一种解决办法:

报错:ERROR: bootstrap checks failed

解决:在elasticsearch.yml中配置bootstrap.system_call_filter为false,要在Memory下面:

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

最后,附带一个我写的elasticsearch.sh启动脚本:将脚本复制到/usr/local/bin里面即可,脚本需要执行权限!

#!/bin/bash
var=$1
elarchsearch=/mnt/elasticsearch-7.3.1/bin #这个是elarchsearch的安装目录记得改成自己的

case $var in
    start )
    sh ${elarchsearch}/elasticsearch -d &
    [ $? == "0" ] && { echo -e "\e[1;32m Starting:[OK]...! \e[0m"; } || { echo -e "\e[1;31m Starting Failed...! \e[0m";exit 1; }
    ;;
    stop )
     elsearpid=$(ps -ef| grep -v grep | grep elasticsearch | awk '{print $2}')
     kill -9 $elsearpid
    ;;
    restart )
    sh $0 stop
    sh $0 start
    ;;
    * )
    echo -e "\e[1;31m Usage:Error argument! \e[0m"
    exit 2
    ;;
esac

对了,如何测试elasticsearch。可以浏览器中如何elasticsearchsh服务器的ip:9200如出现如下图:

说明安装已经成功了!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值