zl程序教程

您现在的位置是:首页 >  其他

当前栏目

elasticsearch7.2安装

2023-04-18 12:32:10 时间

今天搞了一把elasticsearch, 安装了单机服务和一些插件,感觉这个软件的安装相较于其他的软件稍微复杂一点。因为安装的过程中可能会有各种报错需要解决。在此记录一下。既然是软件的安装,还是离不开这四个步骤: 下载, 解压,配置,启动。

目前最新的版本是7.7,我装的是7.2, 因为下载实在太慢,网太差,就找了下硬盘里以前下载的7.2版本的安装包搞的。

下载包,大家可以直接去es官网即可。根据你的机器系统和版本选择对应的包进行下载。下载后传到服务器上即可。我下载的tar包。

官网地址:https://www.elastic.co/cn/downloads/past-releases

国内加速下载地址:https://www.newbe.pro/tags/Mirrors/

一. 安装步骤

将下载好的tar包传到服务器上指定位置,解压。

tar xzf elasticsearch-7.2.0-linux-x86_64.tar.gz

解压后出现elasticsearch文件夹。 一般来讲直接启动就行了,但就是有时候会有问题。

启动命令,直接使用bin下的命令:

./bin/elasticsearch -d

-d代表的是后台运行。

这时候一般会有一个提示。意思是es7对应的jdk版本是11, 你现在用的jdk8, 希望你以后升级,这个可以忽略。当然也可以处理,处理就是使用jdk11,你也不用自己安装,es里自带了一个jdk,但具体怎么指定,我还没试过。

接下来我们ps一下,看看有没有启动成功

果然没有成功,去看日志: tail -200f logs/elasticsearch.log

报错原因,es不能使用root用户启动。 所以创建一个新用户。

useradd es   #创建一个叫es的用户

passwd es   # 给es用户设置一个密码,输入两次密码

chown -R es ../elasticsearch-7.2.0  # 给es用户授权。
su es         # 切换es用户

su之后,你会发现前边的用户变了,代表切换成功

重新启动。

./bin/elasticsearch -d

ps 一下。

出来一大堆,好像成功了。我们测试一下

curl localhost:9200

出来一堆,好像成功了,此时我们在浏览器试一下。 把localhost: 改成服务器ip

访问不了。因为es默认只有localhost能访问,怎么办呢,修改配置文件

vim config/elasticsearch.yml

1. 打开network.host 改成 0.0.0.0

2. 打开 node.name

3. 打开cluster.initial_master_nodes: 设置为node-1

4. 最下边加两行,允许跨域。

http.cors.enabled: true

http.cors.allow-origin: "*"

重启服务,先kill, 在重启。

再ps,发现没起来,看日志。 这样的问题下面可能还会经历几次。

果然一堆错误。需要修改一些系统参数, 先切换回root用户

su -

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

vim /etc/security/limits.conf 最下面加两行

* soft nofile 65536

* hard nofile 65536

退出回话,重新连接,执行ulimit -Hn 验证。

接下来不一一展示了,直接列举错误和解决方法

错误: max number of threads [1024] for user [es] is too low, increase to at least [4096]

vim /etc/security/limits.d/90-nproc.conf 下图红框改为4096

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

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

再次启动成功。 浏览器测试

二. 安装插件:

1. 安装head:

head插件主要是一个可以用于监控和操作es的一个图形化界面,安装这个插件,需要先安装node.js 从官网下载最新的稳定版安装包,上传到服务器。安装比较简单,这里不推荐使用yum, 有的yum源里的node.js版本过低,安装后升级也比较麻烦,不如索性安装一个比较新的版本。

解压: 注意J大写,这种方式是直接解压.tar.xz 也可以先用xz -d 解压,得到一个tar ,在用tar xf 解压

tar Jxvf node-v12.16.3-linux-x64.tar.xz

然后配置两个软链,也可以配置环境变量:

ln -s /usr/software/node-v12.16.3-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/software/node-v12.16.3-linux-x64/bin/node /usr/local/bin/node

主要目的就是可是识别node, npm命令。 执行完毕之后验证一下:

node -v

npm -v 看版本信息是否出现

如果缺包,yum安装一下

下载head插件: 地址 https://github.com/mobz/elasticsearch-head

可以下载zip包传到服务器上解压, 如果机器上有git , 也可以使用git clone 复制下来。然后要改一个配置,把localhost改为ip地址。否则head监控的是localhost的地址,如果head和es不在一台机器上会有问题。参看下面文章。

下载下来之后,cd 进入head 目录, npm run build 编译。 npm run start 执行。 也可以使用 grunt server启动。

参见: https://www.cnblogs.com/yqzc/p/12330453.html

2. 安装ik分词器。 这个比较简单,下载之后,解压到es安装目录下的plugin目录中即可。

ik地址: https://github.com/medcl/elasticsearch-analysis-ik

然后重启es。

重启之后:访问 ip:9100 如果出现下面页面代表head 和 es都已启动成功。

好了,安装就介绍到这里。 主要就是中间的砍比较多。还就就是大家一定要注意,es启动不能使用root用户。 好了,如果大家安装上有什么其他问题,欢迎一起交流讨论。