下個月又開始搞搜索了,幾個月沒動這塊還好沒有落下. 晚上在本身虛擬機上搭建了一個簡易搜索集羣,分享一下.html
操做系統環境: Red Hat 4.8.2-16java
elasticsearch : elasticsearch-1.4.1node
集羣搭建方式: 一臺虛擬機上2個節點. centos
集羣存放路徑:/export/search/elasticsearch-cluster
瀏覽器
必備環境: java運行環境elasticsearch
集羣搭建實例展現:tcp
1. 解壓tar包,建立集羣節點分佈式
#進入到集羣路徑
[root@localhost elasticsearch-cluster]# pwd
/export/search/elasticsearch-cluster #重命名解壓包
[root@localhost elasticsearch-cluster]# ls
elasticsearch-1.4.1 [root@localhost elasticsearch-cluster]# mv elasticsearch-1.4.1 elasticsearch-node1 #進入到節點配置路徑
[root@localhost elasticsearch-cluster]# cd elasticsearch-node1/config/
[root@localhost config]# ls
elasticsearch.yml logging.yml
2.建立集羣配置信息:工具
# elasticsearch-node1配置 # 配置集羣名稱
cluster.name: elasticsearch-cluster-centos # 配置節點名稱
node.name: "es-node1"
# 爲節點之間的通訊設置一個自定義端口(默認爲9300)
transport.tcp.port: 9300
# 設置監聽HTTP傳輸的自定義端(默認爲9200)
http.port: 9200
elasticsearch配置文件說明見: http://blog.csdn.net/an74520/article/details/10175603
3.安裝head插件搜索引擎
#進入到節點bin路徑
[root@localhost bin]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node1/bin 安裝插件 [root@localhost bin]# ./plugin -install mobz/elasticsearch-head
安裝完插件以後會在es節點bin路徑同級建立一個plugins目錄,存放安裝的插件
4.複製一份配置好的節點爲elasticsearch-node2
[root@localhost elasticsearch-cluster]# ls
elasticsearch-node1 elasticsearch-node2
5.修改節點2中的集羣配置信息
# elasticsearch-node2配置 # 配置集羣名稱
cluster.name: elasticsearch-cluster-centos # 配置節點名稱
node.name: "es-node2"
# 爲節點之間的通訊設置一個自定義端口(默認爲9300)
transport.tcp.port: 9301
# 設置監聽HTTP傳輸的自定義端(默認爲9200)
http.port: 9201
說明:
上面配置表示集羣中有2個節點,節點名爲別爲,"es-node1"和 "es-node2",同屬於集羣"elasticsearch-cluster-centos"
節點二中端口能夠不用配置,es在啓動時會去檢測,若是目標端口被佔用,會檢測下一個端口.由於兩節點部署在同一天虛擬機上爲了更好的說明問題,這裏手動配置了對應的端口.
咱們能夠從es對應日誌中()查看對應的啓動信息,以及端口綁定信息。
6.分別啓動節點
[root@localhost bin]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node1/bin [root@localhost bin]# ./elasticsearch -d -Xms512m -Xmx512m
如上,爲啓動節點1的命令,es啓動配置相關日誌查看elasticsearch-cluster-centos.log便可.
[root@localhost logs]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node2/logs [root@localhost logs]# ls
elasticsearch-cluster-centos_index_indexing_slowlog.log elasticsearch-cluster-centos.log elasticsearch-cluster-centos_index_search_slowlog.log
7. 至此咱們的簡易集羣配置完成.查看集羣
由於咱們安裝了head插件,因此能夠經過該插件查看,虛擬機ip爲192.168.1.108.
http://192.168.1.108:9200/_plugin/head/ (對應節點1) http://192.168.1.108:9201/_plugin/head/ (對應節點2)
集羣狀態如圖:
8.安裝Marvel插件
Marvel是Elasticsearch的管理和監控工具,對於開發使用免費的。它配備了一個叫作Sense的交互式控制檯,方便經過瀏覽器直接與Elasticsearch交互。
Marvel是一個插件,在Elasticsearch目錄中運行如下代碼來下載和安裝:
./bin/plugin -i elasticsearch/marvel/latest
若是要禁止Marvel,能夠經過以下方式
echo 'marvel.agent.enabled: false' >> ./config/elasticsearch.yml
附錄: elasticsearch使用JavaAPI開發相關
分佈式搜索ElasticSearch構建集羣與簡單搜索實例應用:
http://www.cnblogs.com/dennisit/p/3346228.html
ElasticSearch搜索實例含高亮顯示及搜索的特殊字符過濾
http://www.cnblogs.com/dennisit/p/3363851.html
基於Luence的分佈式搜索引擎ElasticSearch搜索實例演示(Java API)
http://www.cnblogs.com/dennisit/archive/2013/04/08/3008631.html
轉載請註明出處:[http://www.cnblogs.com/dennisit/p/4132269.html]