Twenty-five years without you

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

第零步:文件准备

需要准备的文件如下:

  • 第一个文件是elasticsearch的安装包,这里用的是7.14.0的版本;
  • 第二个文件是ik中文分词器,可以更智能的将一个中文语句按“词”进行拆分查询,默认的分词器会将语句逐字拆分,不太适用于中文语境。
  • 第三个是head插件,可以更直观的操作elasticsearch,不过在装了Kibana后,就主要以Kibana为主来操作ES。
  • 第四个是JDK 11的安装程序。
  • 第五个是node安装包,由于head插件是基于nodejs开发,所以需要nodejs。

文件准备好后,可以开始执行安装。

 

第一步:安装JDK 11

1:解压JDK安装包至/usr/local/java目录:

 

 

2:配置环境变量:

执行vi /etc/profile命令,在文档末尾增加:

export JAVA_HOME=/usr/local/java/jdk-11.0.11

export ES_JAVA_HOME=$JAVA_HOME

export PATH=$JAVA_HOME/bin:$PATH

执行 :x 保存并退出后,执行source /etc/profile命令使配置生效。

3:检查安装是否完成:

[root@aris ~]# java -version

java version "11.0.11" 2021-04-20 LTS

Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)

Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

出现上述内容则表示安装成功,可以进行下一步操作。

 

第二步:安装ES 7.14.0

如果你的系统配置足够(主要是可用内存大于1G)ES 7.14几乎是开箱即用的。

1:ES不允许以root身份运行,因此需要先创建专用用户,这里创建一个elastic用户,专门用于启动ES相关的内容。

使用 useradd elastic 命令添加用户;

使用 passwd elastic 命令为用户设置密码;

 

2:将ES安装文件解压至/usr/local/elastic目录。

在elastic所在文件夹中,执行chown -R elastic:elastic 命令,将该文件夹及其所有内容的所有者改为elastic。

 

 

 

 

 

3:其实这时候已经可以用elastic用户启动ES了,但通常用来开发测试的服务器配置不够,需要调整配置参数。另一方面,ES启动后默认只允许在本地访问,如果要通过服务器的外网IP访问ES,也需要修改一些配置,要修改位于config目录下的

elasticsearch.yml文件。

在该文件的NET WORK部分:

 

 

 

 

 

 

Discovery和Various部分

 

 

最后两行配置主要用于允许跨域访问,ES 默认端口是9200,Head默认使用9100,当用浏览器打开head页面,连接9100端口的ES时,浏览器会提示跨域无法访问,这里的配置就是为了解决这个问题。

另外需要调整jvm堆大小(如果配置内存足够大4G以上,则可以不修改这个配置):

 

 

 

 

接下来配置/etc/security/limits.conf文件,在末尾增加下面两行:

elastic soft nofile 65536

elastic hard nofile 131072

配置用于修改分配给elastic用户的文件描述符数量,解决启动可能出现 max number of threads [2048] for user [es] is too low, increase to at least [4096]的问题。

 

 

 

4:尝试启动ES

以elastic用户身份进入ES的bin目录,执行./elasticsearch -d启动:

 

如果启动报错,根据错误提示排查即可,没有错误输出,则可以尝试访问:

 

 

看到经典的问候语:“You know,for Search”则表示启动成功,从外部尝试访问:

 

 

 

至此,ES安装成功。

 

第三步:安装node环境:

1:node安装也非常简单,将下载的node-v14.17.4-linux-x64.tar文件解压到/usr/local/node目录,配置环境变量即可:

 

 

 

环境变量仍然是在/etc/profile中配置:

export NODE_HOME=/usr/local/node/node-v14.17.4-linux-x64/

export PATH=$NODE_HOME/bin:$PATH

2:检查安装是否成功:

 

 

 

 

3:安装cnpm,也非常简单,一条命令搞定:

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成后,执行cnpm命令检查是否安装成功:

 

 

 

第四步:安装head插件

head插件安装也非常简单:

1:解压安装文件elasticsearch-head-master.zip,我这里还是解压到/usr/local/elastic/目录:

 

 

 

 

2:install一下然后启动

进入解压后的elasticsearch-head-master目录,执行cnpm install:(我这里是已经执行过了的,第一次执行会需要一些时间)

 

 

启动(使用nohup可以让程序在后台运行,末尾的&符号可以让你在启动程序后继续执行命令):

 

 

如果需要看启动日志,则查看nohup.out文件即可,如果不想将日志输出到这里,可以使用 > 重定向输出。

 

3:访问验证:

浏览器输入 http://服务器ip:9100 来访问:

 

 

如果无法访问,需要查看上一步的启动日志。

此时还没连接到ES,修改connect按钮左边的地址为服务器ip:9200后,点击连接按钮连接到ES:

 

 

 

(这里已经有了一些练习时建立的索引)

至此,head插件安装完毕。

 

第五步:安装Kibana

Kibanaan也是开箱即用的,将下载的安装文件kibana-7.14.0-linux-x86_64.tar.gz解压,进入解压后文件夹中的bin目录,执行kibana文件即可成功启动:

 

看到下面的提示信息表示已经启动成功:

 

尝试访问5601端口,看到下面的界面表示启动成功:

 

 

第六步:IK分词器安装

IK分词器是ES的一个插件,只需要解压文件到plugin文件夹下就可以:

 

重启ES即可使IK分词器生效。

 

上述安装流程只适用于个人学习,正式生产环境中,即使不使用集群环境(ES单节点也是自成集群),也需要进行安全配置后才可以对外提供访问。

 

环境准备好后,ES的学习重点在于熟练掌握ES提供的Restful风格的API接口,如何操作索引和文档,这些熟悉后再去学习与springboot的集成都是非常简单的。

 

posted on 2021-08-12 23:06  Rumble Zheng  阅读(944)  评论(0编辑  收藏  举报