Linux上配置ElasticSearch相关环境总结

半年来前,做了一个小项目,采用SpringBoot框架,数据存储采用的是ElasticSearch和MySQL。本地编完码后,打包为jar,开始在服务器端部署。当时看了好多博客,后来也记录下了自己在服务器端的部署过程,还是搬到这里来吧,免得文档丢了,浪费一番心血。这里主要说一下,我在自己的个人服务器上安装ES的过程:

A 一堆软件

  1. Xshell,用它在服务器上面进行命令操作
链接:https://pan.baidu.com/s/1rX3-lUzaOSZl7ca2Abv1PQ 
提取码:ze03 
  1. JDK,java程序的运行环境
链接:https://pan.baidu.com/s/10gH1lIkdHacKnYLTQCMxqw 
提取码:ho6i 
  1. ElasticSearch7.4.2,存储索引
链接:https://pan.baidu.com/s/1swag9FOx09Nz06sXmYnkuQ 
提取码:wf90 
  1. Node,好像是es-head-master的运行环境?(表述可能不太对,这个我忘了。。。)
链接:https://pan.baidu.com/s/1Bl25ELklXG-et89ow07Y8g 
提取码:7c5d 
  1. es-head-master,ElasticSearch的可视化索引管理工具,就相当于MySQL workbench对MySQL
链接:https://pan.baidu.com/s/1HMOX31mOTxyDpeIf52hYEA 
提取码:80a8 

6.ik分词插件,放在ElasticSearch的plugins(插件)目录下,用于中文分词

链接:https://pan.baidu.com/s/1Gm9Rpcde3Q2mF3CscjEwHA 
提取码:slmn 

B 项目代码环境配置

因为上面有的软件已经下载过了,所以下面的配置步骤中,关于下载软件的步骤命令可以忽略哈。这是我七八个月以前写的文档里的,我这里就直接搬过来了。总体思路不会错的。

1.ElasticSearch7.4.2的配置


首先,安装jdk

参考链接:https://blog.csdn.net/u012176588/article/details/76038646

(1)在xshell中,cd /home/ 回车

在home中添加文件夹:mkdir java 回车

(2)利用xftp将下载好的jdk上传到创建好的java文件夹中

(3)在xshell中,解压jdk:

tar -xvf ( jdk-7u79-linux-x64.tar.gz 这个是你使用xftp上传的jdk名)

(4)检查jdk是否在/home/java/文件夹中。如果在,则配置jdk:vi /etc/profile

添加:

export JAVA_HOME=/home/java/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=./:JAVA_HOME/lib:$JRE_HOME/lib

(5)重新启动: shutdown -r now

输入:java -version查看java版本。

至此,jdk就安装好了,位于服务器上的文件夹,可以输入命令进行查看:cd /home/java


然后, 安装ES

参考链接:
https://www.cnblogs.com/ccbloom/p/11896806.html
https://blog.csdn.net/qq_33417321/article/details/100049355
https://www.jianshu.com/p/fc9012820f08

前提:服务器上开放9200,9300端口。开始~
(1)下载es及其分词器的压缩包,这里版本必须一致。

[root@es ~]# cd /usr/local/src/
[root@es src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-linux-x86_64.tar.gz
[root@es src]# tar xf elasticsearch-7.4.2-linux-x86_64.tar.gz -C ../
[root@es src]# cd ../
[root@es local]# ln -s /usr/local/elasticsearch-7.4.2/ /usr/local/elasticsearch
[root@es local]# echo 'export PATH=/usr/local/elasticsearch/bin:$PATH' >>/etc/profile
[root@es local]# source /etc/profile
[root@es local]# mkdir -p elasticsearch/plugins/ik
[root@es local]# cd elasticsearch/plugins/ik
[root@es ik]# wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
[root@es ik]# unzip elasticsearch-analysis-ik-7.4.2.zip
[root@es ik]# \rm elasticsearch-analysis-ik-7.4.2.zip

(2)es默认禁止使用root启动。创建普通账户es并授权。

[root@es ik]# cd /usr/local/
[root@es local]# useradd es
[root@es local]# passwd es
[root@es local]# chown -R es elasticsearch*

(3)切换为 es 普通用户修改配置并启动 elasticsearch.

[root@es local]# su - es 
[es@es ~]$ cd /usr/local/elasticsearch/config/

配置elasticsearch.yml文件:

[es@es config]$ vim elasticsearch.yml

添加内容:

cluster.name: elk
node.name: node-1
node.master: true
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"

配置jvm.options文件:

[es@es config]$ vim jvm.options
#默认是1g,有点大,我们修改为512M,默认配置如下
#-Xms1g
#-Xmx1g

#修改为512m
-Xms512m
-Xmx512m

启动ES:

#切换为普通用户wind(这是我自己已经创建过的一个普通用户)
[root@cat ~]# su - wind
#前台启动,可看到日志。(初次启动推荐使用,Ctrl+c中止)
[wind@cat ~]$ elasticsearch
#后台启动,ES后台运行
[wind@cat ~]$ elasticsearch -d

(4)启动过程中可能出现的错误及解决办法

ERROR: [1] bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[root@cat ~]# vim /etc/sysctl.conf       #追加以下内容
vm.max_map_count= 262145

(5)结果:
在这里插入图片描述

至此,es就安装好了,位于服务器上的文件夹,可以输入命令进行查看:cd /usr/local/

2.配置ElasticSearch的可视化索引管理工具:es-head-master


首先,安装node.js

参考链接:https://www.cnblogs.com/mmzuo-798/p/11190244.html

(1)解压上传到/usr/local/文件夹下,解压,重命名:

①tar -xvf node-v14.6.0-linux-x64.tar.xz
②mv node-v14.6.0-linux-x64 nodejs

确认一下nodejs下bin目录是否有node 和npm文件,若有则继续
(2)建立软连接,变为全局:

①ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
②ln -s /usr/local/nodejs/bin/node /usr/local/bin/

(3)检查:执行node -v命令

至此,node.js就安装好了,位于服务器上的文件夹,可以输入命令进行查看:cd /usr/local/ 和ls


其次,安装Grunt

参考链接:
https://blog.csdn.net/haoqi9999/article/details/77018585

#安装grunt
npm install -g grunt-cli
#查看版本
grunt -version

若查看版本时报错:-bash: grunt: command not found

[root@cat /]# vi ~/.bash_profile

在这里插入图片描述
保存退出。


最后,安装es-head-master
参考链接:
https://blog.csdn.net/wang_zhenwei/article/details/78389253

  1. 下载head包:https://github.com/mobz/elasticsearch-head
  2. 进入elasticsearch-head-master目录,安装依赖:npm install
  3. 在elasticsearch的conæg目录下找到yml文件:elasticsearch.yml后编辑:vim
    elasticsearch.yml 加入:
http.cors.enabled: true
http.cors.allow-origin: "*"

PS:head等插件访问es。设置参数的时候[key: value]中,冒号后面要有空格

  1. 修改elasticsearch-head-master配置:编辑Gruntfile.js里的connect属性(vim Gruntfile.js),加入一行hostname: ‘0.0.0.0’(若是在自己电脑上则改为localhost或*,这里都试下)
    在这里插入图片描述
  2. 运行head插件:grunt server
    (若后台运行,则nohup grunt server &)
    在这里插入图片描述
  3. 网页测试
    在这里插入图片描述

至此,es-head-master就安装好了,位于服务器上的文件夹,可以输入命令进行查看:cd /usr/local/application/和ls


关于上面的图里,测试的ip地址不一样,有部分不一致的地方,是因为这个过程我用三个个人服务器部署了三遍,踩了很多很多坑,最后才决定整理为一份文档,我记录的文档在下面:
(1)链接:https://pan.baidu.com/s/1_IPhkGeME5MO0DBmLOnIkw
提取码:q08l
(2)链接:https://pan.baidu.com/s/1v7cMolUP1lTxqQy1wPobSA
提取码:pezb

C 可能出现的问题错误总结

1.使用unzip解压缩命令出错:-bash: unzip: command not found
安装解压命令:yum install -y unzip zip
2.查看端口被占用的进程,并杀死进程:
(1)lsof -i:9200 #查看端口9200运行的进程,得到该进程的PID为2598
(2)kill -9 2598 #杀死进程
tips:当使用lsof命令报错:-bash: lsof: command not found
安装lsof命令:yum install -y lsof

D 项目上传和运行

1.jar包上传:rz
2.运行:java -jar demo-0.01-SNAPSHOT.jar(这个是你上传的jar包名)

  • java -jar xxx.jar 关闭窗口,项目也停止运行
  • nohup java -jar xxx.jar & 后台运行,关闭窗口,项目继续运行,会产生nohup.out文件

E 一些Linux命令

① ls:查看目录下的文件
② cd或cd~:返回根目录
③ mkdir 文件名:新建文件
④ mv 文件名 目录:移动文件到另一个目录下
⑤ mv 文件旧名 文件新名:给文件更改名称
⑥ rm -rf  文件夹或文件 :删除(谨慎使用)

最后,环境的安装总是一个比较费时的过程,总是莫名其妙的出现错误,唯一要说的是:耐心,忌浮躁,然后多查多看。古人说,书读百遍,其意自现。放到现在,大概就是,你走的每一步路都算数吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值