由于在公司里接触es的业务,所以我们来温习一下es相关的知识
下载
生产环境为lnmp,这里我是在wamp环境下搭建的
- zip下载es并解压 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-windows-x86_64.zip 此方式解压后直接在bin目录下找elasticsearch.bat 双击启动
- mis方式下载es https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.msi 下载后傻瓜式安装即可,要注意的是其中有一部是要选择是否注册为系统服务,我这边没有注册,因为我这边只是自己用,需要时再启动会比较方
使用
下载安装后浏览器访问 http://localhost:9200/ 安装成功后会返回当前es的状态信息
踩坑
1.安装es需要先安装jdk-1.8版本以上(我这边用的是es6.x,jdk版本自己选择合适的,我用的是12),如果安装的jdk小于es要求的jdk则会报错
2.如果启动es时闪退并报错error occurred during initialization of vm could not reserve enough space for object heap,可以查看一下jvm.options文件,因为-Xmx -Xms 配置过大,会导致内存不足,可以先将其设置小点然后启动,我这边将其设置为-Xmx256m -Xms256m,则正常启动。
elasticsearch-head插件安装
与es搭配的要数head插件了,它可以很方便的查看管理目前的es,使用head的前提时需要node和grunt
- 下载安装node:https://nodejs.org/en/download/ 下载符合自己机型的msi或者zip包傻瓜式安装即可
- 下载安装grunk: 切到node安装目录下执行 npm install -g grunt-cli (-g代表全局安装。安装路径为C:\Users\你电脑名\AppData\Roaming\npm,并且自动加入PATH变量)
- 安装好node和grunk后 查看一下 node -v / grunk -version 有版本则安装成功
- 下载安装head插件:
- git clone git://github.com/mobz/elasticsearch-head.git 直接从git上clone一个下来,打开head/Gruntfile.js,修改其中的以下代码
connect: { server: { options: { port: 9100, base: '.', keepalive: true } } }
为
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
即怎加hostname: '*'
-
修改连接地址:修改head/_site/app.js文件中的
修改head的连接地址:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://127.0.0.1:9200";
- git clone git://github.com/mobz/elasticsearch-head.git 直接从git上clone一个下来,打开head/Gruntfile.js,修改其中的以下代码
-
修改elasticsearch.yml中的配置参数:
http.cors.enabled: true http.cors.allow-origin: "*" node.max_local_storage_nodes: 3
打开文件后追加如上参数,这里有个坑,:后面要有一个空格,否则启动es会报错,比如: : '*'
-
启动es,直接bin\elasticsearch.exe即可
-
启动成功后再head的安装目录下执行npm install,初次运行安装可能会报警告或错误。可以重新运行一次npm install。
最后,在head源代码目录下启动nodejs:
grunt server,注意执行完毕后不要关闭小黑窗,否则head启动不起来 -
启动完毕后访问 http://localhost:9100/即可