Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1
Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1安装记录
最近工作需要,开始研究ES,当前ES的最新版本为5.0.1,从之前的2.x的版本号一下升级到5.x,主要是之前Elastic的产品版本号因为收购等原因很乱,ES 2.X版本的和Kibana 4.x版本的配套使用,让人感觉不爽。这下一步到位,所有的产品系列版本号都从5.0开始,这样,5.0的ES就和5.0的Kibana一致了。
本篇会记录ES5.0.1 + Kibana 5.0.1 + ik 5.0.1的安装。
首先,去Elastic官网 https://www.elastic.co/downloads ,下载页有所有Elastic的产品,都是最新的版本(版本号还一致)。

下载Elasticsearch和Kibana。
然后去GitHub下载配套的IK分词器,Smartcn也可以,不过据说没有ik灵活,目前还没有深入到分词,以后再试验。https://github.com/medcl/elasticsearch-analysis-ik/releases ,直接下编译好的zip包。

好了,工具备齐。统一上传到服务器上。我用的是CentOS,MAC的话,ES和IK都是一样的,Kibana注意一下就行,Kibana区分平台和32位/64位。
将三个文件放到一个文件夹中,scp到服务器

之后就开始在服务器上安装了。
导航到存放安装文件目录:

全部解压,使用unzip和tar -xvzf
然后尝试去启动elasticsearch,到elasticsearch的bin目录下,执行./elasticseharch。
如果遇到下面的错误:

说明是用root账户来启动的,因为ES是没有权限限制的,还可以接收用户的脚本,所有用root账户很不安全,需要新建一个账户来启动。为了让普通账户启动的ES能够写入数据,需要将elasticsearch文件夹的操作权限付给新建的账户(ES的索引数据就放在elasticsearch/data/下)。
创建elsearch用户组及elsearch用户
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
-g是添加到组,-p是密码
更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
cd /opt
chown -R elsearch:elsearch elasticsearch
同时,需要给新建的账户修改一下权限,ES要求的进程数和最大的内存都比原来大了。
修改vm.map 限制
vi /etc/sysctl.conf vm.max_map_count=262144
修改文件限制:
vi /etc/security/limits.conf
新建用户名 hard nofile 65536
新建用户名 soft nofile 65536
修改线程限制(这个比较特殊 centos 6.5的原因)
vi /etc/security/limits.d/90-nproc.conf
* soft nproc 65535
* hard nproc 65535
然后用su指令切换到新建的普通用户 ,启动。如果需要后台启动的话,使用./elasticsearch -d。
然后就可以在命令行中用curl http://localhost:9200?pretty 看看输出

此时,ES可以在本地访问,但是用浏览器远程的话,还是无法访问的,因为相应的端口没有打开。此时需要两个步骤:
- 用iptables添加白名单,命令:vi /etc/sysconfig/iptables

然后添加如下

9200,9300ES使用,5601Kibana使用,后面会说到。
Service iptables restart生效。
2. 此时请求进来是可以的,但是ES也有配置,可以接受外部请求,进到安装目录/config/elasticsearch.yml,将network.host设置为0.0.0.0

然后重启ES。此时,远程就可以访问ES

接下来安装Kibana,也挺简单,解压之后,先进到安装目录/config/kibana.yml中,将server.host修改一下,否则远程无法访问,这个配置在Kibana4.6.1(对应ES2.4.0)的时候还不需要配置,但是5.0.1就需要了。

然后kibana里面有默认的ES访问路径,如果你没有改动过ES的端口,并且Kibana跟ES部署在一起,就不需要改动,否则需要配置这里:

然后远程启动,看下Kibana5.0.1的样子:

之前ES和Kibana配合还需要使用plugin安装一些Marvel,sense等,现在都不需要了,DevTools就是之前的Sense,好用!!
现在开始安装ik分词器,安装之前,先说明一些变化:
- 之前可以在node节点上配置index默认的分词器,如果是多节点,那么在每个节点上都配置就行了。这个有点不灵活,所以。5.0之后,ES已经不再支持在elasticsearch.yml中配置分词器,改而在新建索引时,使用settings去配置,这个会在后面的编程中说到。
- 之前使用delete-by-query插件来实现type的整个删除。这个插件也是从5.0开始没有了,被整个岛ES的Core中

3.从5.0开始ik的tokenizer发生了变化,提供了两种,一种为ik_smart,一种为ik_max_word。直接一点,ik_max_word会尽量从输入中拆分出更多 token,而ik_smart则相反,个人感觉,ik_max_word就是原来的ik,ik_smart是新加的。
好了,开始安装,只需要把elasticsearch-analysis-ik-5.0.1.zip解压,然后拷贝到ES安装目录下的plugins文件夹内,并把elasticsearch-analysis-ik-5.0.1文件夹名修改为ik。这样,就安装好了。正如前面说的,安装完插件,现在不需要在配置文件中配置了,需要在新建索引的时候指定分词器。
重启启动ES,可以看到如下log

用kibana查看一下,后续会谈到如何这样做。

好啦,至此,ES+Kibana+IK安装好了。从2.4.1到5.0.1版本号跨度很大,很多地方也发生了很多变化,总体来说,更简便了。后面接着说下用JAVA API来操作ES。今天先到这里。
Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1的更多相关文章
- Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1安装记录
最近工作需要,开始研究ES,当前ES的最新版本为5.0.1,从之前的2.x的版本号一下升级到5.x,主要是之前Elastic的产品版本号因为收购等原因很乱,ES 2.X版本的和Kibana 4.x版本 ...
- centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解
centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解 环境准备: 操作系统:centos ...
- 转:solr6.0配置中文分词器IK Analyzer
solr6.0中进行中文分词器IK Analyzer的配置和solr低版本中最大不同点在于IK Analyzer中jar包的引用.一般的IK分词jar包都是不能用的,因为IK分词中传统的jar不支持s ...
- 我与solr(六)--solr6.0配置中文分词器IK Analyzer
转自:http://blog.csdn.net/linzhiqiang0316/article/details/51554217,表示感谢. 由于前面没有设置分词器,以至于查询的结果出入比较大,并且无 ...
- [大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<1>
一.Elasticsearch,Kibana简介: Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域, Lucene可以被认为是迄今为止最先 ...
- 解决: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19
错误信息:C:\Python27\lib\site-packages\sklearn\utils\validation.py:395: DeprecationWarning: Passing 1d a ...
- Bash 中的 $0 在什么时候不是 argv[0]
每个 C 程序都有一个 main 函数,每个 main 函数都有一个 argv 参数,这个参数是一个字符串数组,这个数组的值是由该 C 程序的父进程在通过 exec* 函数启动它时指定的. 很多人说 ...
- Nuget自己打包引用的时候出现错误:Package is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package 1.0.1 supports: net (.NETFramework,Version=v0.0)
Nuget自己打包引用的时候出现错误:Package is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package ...
- 在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client
在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client 阅读目录 验证代码流程 Refreshing a Token Built-In Providers 这个包能够让你 ...
随机推荐
- 公路通行税Ceoi99(BFS+图的直径)
公路通行税(Ceoi99) 版权声明:本篇随笔版权归作者YJSheep(www.cnblogs.com/yangyaojia)所有,转载请保留原地址! 在PALMIA国家内,有N个城市由公路相连(每条 ...
- Linux_Oracle10 下载安装
Linux_Oracle10 安装文档及oracle下载地址 http://download.csdn.net/detail/u012750578/8177405 一.启动数据库服务 [root@hq ...
- Spring MVC数据转换
样例:把一个字符串封装而一个对象. 如:username:password格式的数据ZhangSan:1234.我们把这个数据封装成一个User对象.以下分别使用属性编辑器与转换器来实现. 1.自己定 ...
- 线程池系列一:线程池作用及Executors方法讲解
线程池的作用: 线程池作用就是限制系统中执行线程的数量. 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果:少了浪费了系统资源,多了造成系统拥挤效率不高.用线程池控制线程数量 ...
- Mysql之索引的基本概念
一.索引是什么? 比如我们要在字典中找某一字,如何才能快速找到呢?那就是通过字典的目录. 对数据库来说,索引的作用就是给‘数据’加目录. 二.索引算法 设有N条随机记录,不用索引,平均查找N/2次,那 ...
- 在不足256M内存的机器上启动RHAS 3时总要停顿10秒的问题
在VM里安装rhas3.0,由于只分配了256M RAM,系统起动总是提示不足256M.我查了一下[root@rhas3 mrtg]# grep -ri "Normal startup wi ...
- Python(七) 高级部分:面向对象
一.类的定义 # 面向对象 #有意义的面向对象代码 # 类 = 面向对象 # 类.对象 #实例化 # 类最基本的作用:封装 class Student(): name = '' age = 0 def ...
- Tensorflow 学习笔记 -----tf.where
TensorFlow函数:tf.where 在之前版本对应函数tf.select 官方解释: tf.where(input, name=None)` Returns locations of true ...
- 研究一些复杂java开源软件代码的体会(转)
原文地址:http://herman-liu76.iteye.com/blog/2349026 有时候看源代码是非常有趣的事情,象是思考游戏,象是思考棋局... 平时做J2EE项目中, ...
- swift 编译提前定义 --不知道怎么定义,可是能够#if
var v:Int; #if _COND//不知道怎么定义.可是能够#if v = ; #else ; #endif println(v);//2