ElasticSearch安装和配置

要求

  1. java版本要求:最低7
  2. es默认是本地访问,启动需要修改,也可以设置固定IP访问
  3. es需要非root用户启动,需要创建用户,并赋权限,包括:部署目录,日志和数据目录
  4. ES需要创建大量文件,需要修改个数
  5. ES需要创建大量线程,linux默认太小,需要修改
  6. linux默认虚拟内存比较小,需要修改
  7. 端口:9300,9200

部署

  1. 目录:/opt/elasticsearch
  2. 获取包:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
  3. 减压:tar -zxvf elasticsearch-6.2.4.tar.gz  减压后目录:/opt/elasticsearch/elasticsearch-6.2.4

配置修改

创建日志和数据目录

mkdir data logs

/opt/elasticsearch/data

/opt/elasticsearch/logs

修改jvm配置文件

cd config

vim jvm.options

默认:

-Xms1g

-Xmx1g

修改为:

-Xms512m

-Xmx512m

修改日志和数据目录:elasticsearch.yml

cd config

vim elasticsearch.yml

ElasticSearch安装和配置_第1张图片

修改绑定的ip:elasticsearch.yml

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

ElasticSearch安装和配置_第2张图片

 


创建用户并赋权

用户名/密码:es/pwd007

useradd es

passwd es

输入密码:pwd007 ,回车

su es

运行,报错没权限

修改文件夹(包括子文件夹)的用拥有者:

chown -R es:es elasticsearch-6.2.4 data logs


运行&暂停

sh /opt/elasticsearch/elasticsearch-6.2.4/bin/elasticsearch -d

ps -ef | grep elasticsearch

kill -9 pid


验证

http://127.0.0.1:9200/

ElasticSearch安装和配置_第3张图片


日志

tail -f /opt/elasticsearch/logs/elasticsearch.log

ElasticSearch安装和配置_第4张图片


问题罗列

错误:can not run elasticsearch as root

ElasticSearch安装和配置_第5张图片

启动报错

[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]

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

原因:无法创建本地文件问题,用户最大可创建文件数太小 

 解决:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

备注:* 代表Linux所有用户名称(比如 hadoop)

   保存、退出、重新登录才可生效

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

原因:无法创建本地线程问题,用户最大可创建线程数太小

解决方案:切换到root用户,进入limits.d目录下,修改20-nproc.conf 配置文件。

vi /etc/security/limits.d/20-nproc.conf

找到如下内容:

* soft nproc 2048

#修改为

* soft nproc 4096

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

原因:最大虚拟内存太小 

解决方案:切换到root用户下,修改配置文件sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后重新启动elasticsearch,即可启动成功。

IP访问不了,localhost可以访问

还有个问题,在启动的时候服务器用localhost:9200访问,用ip访问不了

修改elasticsearch.yml中network.host,打开这一行的注释,就能成功用ip端口访问服务器

network.host: 0.0.0.0


END

你可能感兴趣的:(DevOps,elasticsearch,搜索引擎,大数据)