下個月又開始搞搜索了,幾個月沒動這塊還好沒有落下. 晚上在自己虛擬機上搭建了一個簡易搜索集群,分享一下.
操作系統環境: Red Hat 4.8.2-16
elasticsearch : elasticsearch-1.4.1
集群搭建方式: 一台虛擬機上2個節點.
集群存放路徑:/export/search/elasticsearch-cluster
必備環境: java運行環境
集群搭建實例展示:
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]