ES学习笔记(1)---部署篇

ES学习笔记一

此处借鉴于我哈希大神的博客:http://blog.csdn.net/zhxdick/article/details/52120394

以下为研发环境部署步骤:
一共三台机器

域名配置:

10.202.7.184 nosql1
10.202.7.185 nosql2
10.202.7.186 nosql3

硬件配置 :CPU 8核 / 内存 16384MB

操作系统 :
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.6 (Final)
Release: 6.6
Codename: Final

软件环境 :
Java version “1.7.0_65”
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

对于三台机器之间配置的无密登录,暂时还没有细看,先附上哈希大神的笔记:Hadoop学习使用笔记(1)

软件列表:

  1. Elastic Search
  2. Kibana:用于可视化查看ES中的数据
  3. Marvel:监控ES,这里给的是离线安装步骤。注意,安装时,里面的三个源文件和sha文件都要下载。

文件列表如下:

  1. elasticsearch-2.3.5.tar.gz
  2. kibana-4.5.4-linux-x64.tar.gz
  3. license-2.3.5.zip
  4. license-2.3.5.zip.sha1
  5. marvel-agent-2.3.5.zip
  6. marvel-agent-2.3.5.zip.sha1
  7. marvel-2.3.5.tar.gz
  8. marvel-2.3.5.tar.gz.sha1.txt

解压es:

tar zxvf elasticsearch-2.3.5.tar.gz

修改配置文件,在配置文件中添加:

#集群名称,ES通过集群名称识别自己属于哪一集群
cluster.name: hash-es
#节点名称,用于标示本节点
node.name: hash-es-node-1
#这个一定要配置,用来广播发现集群
discovery.zen.ping.unicast.hosts: ["10.202.7.184", "10.202.7.185","10.202.7.186"]
#本节点绑定的IP,一定要属于上面集合中的IP
network.host: 10.202.7.184
#数据存放位置
path.data: /home/elasticsearch/elasticsearch-2.3.5/data
#日志存放位置
path.logs: /home/elasticsearch/elasticsearch-2.3.5/logs

启动ES(启动后才能安装后续的Marvel插件,默认通信端口9300,RESTFUL端口9200)

./bin/elasticsearch &

访问:http://nosql1:9200,可以得到类似于如下的JSON:

{
  "name" : "hash-es-node-1",
  "cluster_name" : "hash-es",
  "version" : {
    "number" : "2.3.5",
    "build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f",
    "build_timestamp" : "2016-06-30T11:24:31Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

由于时间关系暂时只装了es,没有装Kibana和Marvel。


接下来安装IK分词插件:

IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。

安装步骤:
1、获取分词的依赖包
git下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v1.10.0
不同版本的ES会对应不同版本的IK,对应不上会有问题,以下为部分版本对应关系。

IK version ES version
master 2.3.1 -> master
1.9.1 2.3.1
1.9.0 2.3.0
1.8.1 2.2.1
1.7.0 2.1.1
1.5.0 2.0.0
1.4.1 1.7.2
1.4.0 1.6.0
1.3.0 1.5.0
1.2.9 1.4.0
1.2.8 1.3.2
1.2.7 1.2.1
1.2.6 1.0.0
1.2.5 0.90.x
1.1.3 0.20.x
1.1.2 0.19.x
1.0.0 0.16.2 -> 0.19.0

2、这里我下载的是zip包,解压之后有三个重要步骤:

  1. 将/ik/target/elasticsearch-analysis-ik-1.7.0-sources.jar文件拷到/elas/lib/下
  2. 将/ik/target/releases/elasticsearch-analysis-ik-1.7.0.zip文件拷贝到/elas/plugins/analysis-ik/下并解压,如果没有文件夹就手动创建
  3. 将/ik/config/下所有文件拷贝到/elas/config/下

3、修改ES配置文件
配置/elas/config/elasticsearch.yml文件
在文件最后加上一句话(注意:没有引号)
index.analysis.analyzer.ik.type: ik

4、启动elas


测试分词:

 curl -XGET "localhost:9200/_analyze?analyzer=ik&pretty=true" -d "我是中国人"

{
  "tokens" : [ {
    "token" : "我",
    "start_offset" : 0,
    "end_offset" : 1,
    "type" : "CN_CHAR",
    "position" : 0
  }, {
    "token" : "中国人",
    "start_offset" : 2,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "中国",
    "start_offset" : 2,
    "end_offset" : 4,
    "type" : "CN_WORD",
    "position" : 2
  }, {
    "token" : "国人",
    "start_offset" : 3,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 3
  } ]
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章