以前在项目中使用过elasticsearch 5.x,最近闲来无事,研究了下elasticsearch 6.x的安装配置,以供大家参考!
一、 elasticsearch 6.x安装教程
1、下载安装包
推荐到官网上下载后,上传安装
官网https://www.elastic.co/cn/products/elasticsearch
2、 解压
tar -zxvf *.tar.gz
3、修改配置文件elasticsearch.yml
cluster.name: 集群名 #集群的名字
node.name: 节点名称 #节点名称
index.number_of_shards: 5 #索引分片个数,默认为5片
index.number_of_replicas: 1 #索引副本个数,默认为1个副本
path.data: /app/es/data #数据存储目录(多个路径用逗号分隔)
path.logs: /app/es/logs #日志目录
network.host: 192.168.40.133 #修改一下ES的监听地址,这样别的机器才可以访问
transport.tcp.port: 9300 #设置节点间交互的tcp端口(集群),默认是9300
http.port: 9200 #监听端口(默认的就好)
# 增加新的参数,这样head插件才可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
4、修改elasticsearch运行内存jvm.options
-Xmx=512m -Xms=512m
5、修改系统参数
vi /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
vi /etc/sysctl.conf
vm.max_map_count= 262144
注意:这边配置好后需执行sysctl -p ,之后重启服务器,访问前需要开放访问端口!这里自己玩,直接关闭防火墙即可!
6、启动elasticsearch
./bin/elasticsearch -d (后台运行)
二、安装可视化插件 head
1、下载安装包
wget https://github.com/cd _smobz/elasticsearch-head/archive/master.zip
unzip elasticsearch-head-master.zip
2、 安装node
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
tar -zxvf node-v4.4.7-linux-x64.tar.gz
3、编译node环境变量
vim /etc/profile
export NODE_HOME=安装路径
export PATH=$NODE_HOME/bin
source /etc/profile
4、安装grunt
切换到head目录下
npm install -g grunt-cli
npm install
修改Gruntfile.js
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
修改_site.app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200" 把localhost换成ip
启动head
grunt server & (后台运行)
三、分词插件
说到 elasticsearch就不得不说,与其相关的分词插件了! elasticsearch自带的分词插件有很多,譬如:Standard Analyzer(标准分词器,也是默认分词器)、simple Analyzer(按非字母分词)、whitespace Analyzer(空白分词器)、Stop Analyzer(语气助词分词器)、keyword Analyzer(不分词)、Pattern Analyzer(正则分词器);但这些分词器对中文都不够友好,故此这边我推荐一款比较好的分词器,IK中文分词器;
这款分词器对中文划分比较好,而且可以根据项目自身创建分词库!
github上有已经编译好的分词插件,下载下来解压到es的plugins文件夹下就可以了!由于解压文件很多,最好是创建一个文件夹放置(ik);
个人觉得还是下载源码,使用maven打包生成符合你elasticsearch版本的ik分词插件!
源码下载连接:
可以去github上
https://github.com/medcl/elasticsearch-analysis-ik
打包编译前需要修改ik版本号和jdk版本号
pom.xml文件中的
<elasticsearch.version>6.3.2</elasticsearch.version>
<maven.compiler.target>1.8</maven.compiler.target>