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
  } ]
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章