Elasticsearch(一) 安装和配置启动

前言: 本环境在阿里轻量级服务器(Ubuntu)上 执行

(一) 环境搭建

1.1 java环境

环境:
ES 为 java 语言编写, 需要有 java 环境
版本说明:
ES 5 需要 Java 8 及以上的版本
ES 7 开始内置了 Java 环境

apt update
apt install default-jre // 下载jdk环境

验证输入: java --version 返回以下代码算成功

1.2 Elasticsearch下载

通过官方下载地址挑选你喜欢的下载包
下载地址: https://www.elastic.co/cn/downloads/elasticsearch

或者通过以下命令下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1.tar.gz

下载完后解压

tar -xzvf elasticsearch-7.15.1.tar.gz

解压完后可以进入对应的解压后的文件夹
文件说明(此说明参照源码阅读网,大曾老师的文档):

   bin:脚本文件,包括启动elasticsearch,安装插件。运行统计数据等
   config:集群配置文件,jvm(7.1默认1G),user,role based相关配置(elasticsearch.yml)
   jdk:Java运行坏境 
   data:数据文件(path.data) 
   lib:Java类库 
   logs:日志文件(path.log)
   modules:包含所有ES模块
   plugins:包含所有已安装插件

(二) ElasticSearch启动

ES默认不能用root用户启动,需要创建用户执行安装
创建用户

groupadd esgroup // 添加用户组
useradd esuser -g esgroup // 添加用户
passwd esuser // 设置密码
espwd chown -R esuser:esgroup elasticsearch-7.xx // 设置文件权限
su esuser // 切换用户(注: 一定要记得你root用户的密码哟,要不切换回root用户,切不回去了,哈哈哈)

切换到解压后的文件夹下 直接运行

./bin/elasticsearch -d

哈哈哈,你可能会发现启不起来

(三) 启动和访问问题描述and解决

3.1 jvm未配置,卡顿

执行完这边命令后,你服务器可能会卡顿,原因: jvm参数未配置,可能有点飘,导致cpu占太高了(我猜的)

./bin/elasticsearch -d

解决办法: 进入**/config** 目录下
修改 jvm.options 文件命令和配置如下

cd config
vim jvm.options


# 修改参数如下(服务器小,不配大容量)
-Xms256m
-Xmx256m

配置完后,在执行启动命令
不出意外,它又启动失败了

打印日志如下
在这里插入图片描述
不知道在哪看日志的,直接到logs文件夹下 查看 elasticsearch.log 文件

找到问题,咱就解决问题

3.2 问题一

max number of threads [3458] for user [esuser] is too low, increase to at least [4096]
哈哈哈,问题不会,我找度娘啊

不出意外, 我看到了它 : https://blog.csdn.net/zeorg/article/details/115209262
我先配置了,试试,找到的答案不一定对哦

3.3 问题二

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

我找到了它: https://blog.csdn.net/xcc_2269861428/article/details/100186654
问题正常解决,具体原因未深究

3.4 问题三

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

这个好像是要默认启动一个节点配置啥的
直接贴路径了: https://blog.csdn.net/qq_43655835/article/details/104637625

我按照上面逻辑解决办法操作了下系统,然后重启了下服务器
问题一,还是有问题
经过思考后,我改了以下内容
我将

elasticsearch  soft nproc  65535
elasticsearch  hard nproc  65535

改为了

esuser  soft nproc  65535  
esuser  hard nproc  65535

我默认猜测这个参数是给用户设置线程数(其实问题一的博主也没错,哈哈哈)

(注: 网上查询的解决办法不要一味跟着乱操作,要大概明白原因,才操作,深有体会)

最后可能会出现的问题,就是你访问默认的9200端口访问不到,反正我出现了

可以参照: https://blog.csdn.net/yang958554999/article/details/105334505

然后通过ip+9200(默认端口)访问到以下内容就算搭建成功了
Elasticsearch(一) 安装和配置启动_第1张图片

其他命令
查询进程:
ps -ef | grep elasticsearch
停掉进程:
kill -9 pid

后期备注:
如果启动后服务器卡死, 或者不能使用了 可能是你的内存不够了
像我的内存才1g, 启动后系统直接卡死, 后来斥巨资100多块升了个2g内存的服务器(好像docker安装比较好,我没试)

你可能感兴趣的:(#,Elastic,Search,elasticsearch,大数据,big,data)