Elasticsearch入门(一):CentOS 7.6 安装ES 7.0.0

引子:

最近兄弟项目组搞Elasticsearch搞得如火如荼,而自己也深知ES现在非常火爆。所以,自己也准备学习一下,一步一个脚印,在这里记录下所踩的坑。

软件环境:

Linux:CentOS 7.6          Elasticsearch:7.0.0         Java:1.8.0_202

安装步骤:

首先,需要确保Java已经安装好,并且配置好了JAVA_HOME 环境变量

一、下载并解压Elasticsearch;我的ES最终路径为:/home/tom/data/elasticsearch-7.0.0

cd /home/tom/data
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz

二、进入  /elasticsearch-7.0.0/bin 目录,运行 elasticsearch;

cd /home/tom/data/elasticsearch-7.0.0/bin
./elasticsearch

如果需要后台运行,则可以在执行elasticsearch时加上 -d 参数。

./elasticsearch -d

三、本地访问 localhost:9200 ,若出现下图,则运行成功。

至此,Elasticsearch 7.0.0 就成功安装了。还是比较简单,但是,还是有一些坑,下面记录下:

问题解决:

1、Elasticsearch不能以 root 权限启动。

如上图所示,当我们以root用户执行  ./elasticsearch 的时候,会报错。这里,我们需要手动创建用户,下面给出我的解决方式。

# 首先切换到 root 用户,输入密码,然后执行以下步骤:
su root
# 一,创建一个用户组,这里,我给用户组取名为 toms
groupadd toms
# 二、创建一个用户 tom,并将其添加到 toms 用户组
useradd tom -g toms
# 三、为tom用户赋予 /home/tom 目录权限
chown -R tom:toms /home/tom

然后切换到 tom 用户,再执行elasticsearch 即可。

# 切换到 tom 用户
su tom
# 执行 elasticsearch
./elasticsearch

2、可以在本机通过 localhost:9200 进行访问,但是却不能在远程通过 IP:9200进行访问。

修改 elasticsearch-7.0.0/config/elasticsearch.yml文件,找到 Network ,修改下面的项目,重新启动即可。

network.host: 0.0.0.0

3、开启远程访问后,报以下错误:

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: 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

下面我们一一解决这几个问题:

第一个问题:

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

这个错误,是linux下常见的错误,主要是因为linux会限制进程的最大打开文件数,只需要按照下面的配置修改一下即可解决:

# 首先切换到 root 用户
su root
# 输入密码,然后编辑下面文件
vi /etc/security/limits.conf
# 在文件末尾添加以下内容
tom     -     nofile        65536   # 将 tom 替换为自己的用户名

第二个问题:

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

这个是ES使用的虚拟内存太小,直接调大即可,在 root 用户下执行下面命令:

sysctl -w vm.max_map_count=262144

第三个问题:

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

还是找到 config/elasticsearch.yml 文件,编辑,找到 Discovery 配置附近,修改:

# 取消注释,并修改属性
cluster.initial_master_nodes: ["127.0.0.1"]

至此,所有问题解决完毕,切换回 tom 用户,启动 elasticsearch,应该能正常启动。

值得一提的是,关于这个问题的详细讲解,可以参考我后面的这篇文章 Elasticsearch入门(三):Elasticsearch 7.0.0 集群搭建关于这个配置的讲解部分。

最后,笔者是跟着慕课网的学习视频在学习的,教程地址:https://www.imooc.com/learn/889

参考文章:

1、https://www.elastic.co/cn/products/elasticsearch

2、https://blog.csdn.net/lahand/article/details/78954112

3、http://kael-aiur.com/elk/ES配置给外部机器通过ip访问.html

4、https://blog.csdn.net/happyzxs/article/details/89156068

5、https://www.imooc.com/learn/889

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值