本人在安装es5.1.1版本时候整理的一些过程,参照了网上部分过程;其中过程中也出现一些其它问题,出现的问题和解决方案都整理在此文中。
1Elasticsearch5.1.1安装
到ES官网https://www.elastic.co/downloads下载ES安装包,Linux系统下载tar格式版本。我们目前使用的ES版本是5.1.1,需要JDK8才能启动,如没有JDK8环境
请自行下载配置(ubuntu下配置JDK环境变量: sudo vi ~/.bashrc)。
ES5.1.1需要进行一些环境配置
设置内核参数
vi /etc/sysctl.conf
# 增加下面的内容
fs.file-max=65536
vm.max_map_count=262144
设置资源参数
vi /etc/security/limits.conf
# 修改
* soft nofile 32768
* hard nofile 65536
修改进程数
ulimit -u 2048
修改ES系统配置
vi config/elasticsearch.yml
增加下面内容
- cluster.name: bropen #集群名称
- node.name: bropen #节点名称
- network.bind_host: 0.0.0.0 #设置绑定的ip地址
- network.publish_host: 0.0.0.0 #设置其它节点和该节点交互的ip地址
- network.host: 0.0.0.0 #用来同时设置bind_host和publish_host参数
- http.cors.enabled: true #新参数,这样head插件就可以访问ES
- http.cors.allow-origin: "*" #新参数,这样head插件就可以访问ES
- transport.tcp.port: 9300 端口
和2xx版本比较需要注释掉的参数,否则ES无法正常启动
- #script.inline: true
- #script.indexed: true
- #script.ingest: true
ES 5xx版本和2xx版本不同,不需要安装插件delete by query
2 head插件的安装
为了方便管理ES可以安装elasticsearch-head插件,一个浏览器管理es的插件,如果出现问题,方便es维护人员通过浏览器进行维护,当然开发者也可以不安装此插件。
和ES 2xx版本不同,ES 5xx版本后的elasticsearch-head插件是独立运行的。
2.1下载head插件
去github下载elasticsearch-head插件(https://github.com/mobz/elasticsearch-head),如果安装有git,也可以使用命令 :git clone git://github.com/mobz/elasticsearch-head.git
2.2 安装node
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)去官网下载nodejs,https://nodejs.org/en/download/
使用命令tar -xvf node*.tar.xz解压缩node
如果linux系统不识别xz格式则需要安装xz。使用命令yum -y install xz
然后执行xz -d node*.tar.xz
tar -xvf node*.tar
Node解压完成后使用mv命令移到要放置的目录下
配置环境变量(ubuntu下使用命令: sudo vi ~/.bashrc)
增加下面内容
- export NODE_HOME=/usr/lib/nodejs/node-v6.9.1-linux-x64
- export PATH=$PATH:$NODE_HOME/bin
执行source /etc/profile 重新生效环境变量
此时可以验证node是否安装成功
bropen@v230:/$ node -v
v6.9.1
bropen@v230:/$ npm -v
3.10.8
2.3 安装grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装一下grunt。
在head插件目录下执行命令npm install -g grunt-cli
- 如果报找不到package.json的错误,则检查当前是否在head插件目录下。
检查是否安装成功
bropen@v230:/$ grunt -version
grunt-cli v1.2.0
配置环境变量
- 修改head/Gruntfile.js文件
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
增加hostname: '*'
- 修改head/_site/app.js文件中head的链接地址,将localhost转化成head的服务器地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.1168.0.230:9200";
2.4 运行head
在head插件目录下执行npm install命令,下载所需要的包。
最后启动head插件,执行grunt server
bropen@v230:~/workspace-ggts/search/elasticsearch-head$ grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
与ES 2xx版本的head插件不同,新版本的head插件单独启动,且只需要在浏览器端输入
3 IK分词器的安装
我们目前使用的ES是 5.1.1版本,所以需要下载对应的5.1.1版本的IK分词器。
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 找到对应版本的分词器,点击zip压缩包链接进行下载。
下载好的压缩包,直接解压到ES的plugins目录下既可使用,重新启动ES,如果解压正确,则不会有异常输出。
注意:
- 最好不要使用clone命令进行下载,否则下载的是源码,需要自己打包。
- 如果用clone命令下载了源码,则需要安装maven进行打包,执行maven package命令。