之前大家一直鼓吹Lucene、Solr搜索引擎集羣,當前最流行是Elasticsearch,我寫這篇文章的主要目的是向大家介紹一下Elasticsearch搜索引擎的搭建,我的技術文章傻子都能看懂,而且比網上一些技術屌絲寫的更爲詳細
軟件環境 : CentOS6.4、Elasticsearch1.4.1、JDK7、elasticsearch-servicewrapper (ES的服務插件)
下載地址:
elasticsearch-servicewrapper: https://github.com/elasticsearch/elasticsearch-servicewrapper
運行這個插件的好處是:elasticsearch需要的jvm參數和其它配置都已經配置好了,非常方便。
Elasticsearch1.4.1:https://www.elastic.co/downloads/past-releases/elasticsearch-1-4-1
提示:集羣配置文件的細節配置我在此不做過多解釋,因爲配置細節你記住不住,用的時候上網看看配置解釋拿來主義就行了,我的目的是搭建集羣讓他能跑起來,我只做最基礎的集羣配置!
前提:JDK環境自己搭建,搭建不好你就不配玩Elasticsearch,也沒必要看我的文章!
步驟:
第零步:cd /usr/local/src/
第一步:上傳軟件到/usr/local/src/:Elasticsearch1.4.1、elasticsearch-servicewrapper
第二步:在/usr/local/src/下創建集羣目錄
[root@atguigu src]# mkdir elasticsearch-cluster
[root@atguigu src]# ll
total 171408
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 2 root root 4096 Jul 22 13:26 elasticsearch-cluster
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]#
第三步:在/usr/local/src/下解壓elasticsearch-1.4.4.zip文件,重命名爲elasticsearch-node-1,移動到/usr/local/elasticsearch-cluster/下
[root@atguigu src]#
[root@atguigu src]# ll
total 171408
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 2 root root 4096 Jul 22 13:26 elasticsearch-cluster
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]# unzip ./elasticsearch-1.4.4.zip
[root@atguigu src]#
[root@atguigu src]# ll
total 171412
drwxr-xr-x 5 root root 4096 Feb 19 2015 elasticsearch-1.4.4
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 2 root root 4096 Jul 22 13:26 elasticsearch-cluster
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]# mv ./elasticsearch-1.4.4 ./elasticsearch-node-1
[root@atguigu src]# ll
total 171412
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 2 root root 4096 Jul 22 13:26 elasticsearch-cluster
drwxr-xr-x 5 root root 4096 Feb 19 2015 elasticsearch-node-1
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]#
[root@atguigu src]# mv /usr/local/src/elasticsearch-node-1 /usr/local/src/elasticsearch-cluster/
[root@atguigu src]# ll
total 171408
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 3 root root 4096 Jul 22 13:42 elasticsearch-cluster
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]# ll /usr/local/src/elasticsearch-cluster/
total 4
drwxr-xr-x 5 root root 4096 Feb 19 2015 elasticsearch-node-1
[root@atguigu src]#
第四步:解壓elasticsearch-servicewrapper-master.zip,將解壓後文件裏的service拷貝到elasticsearch-cluster/elasticsearch-node-1/bin/
[root@atguigu src]# ll
total 171408
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 3 root root 4096 Jul 22 13:42 elasticsearch-cluster
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]# unzip ./elasticsearch-servicewrapper-master.zip
[root@atguigu src]# ll
total 171412
-rw-r--r-- 1 root root 31082255 Jul 22 13:18 elasticsearch-1.4.4.zip
drwxr-xr-x 3 root root 4096 Jul 22 13:42 elasticsearch-cluster
drwxr-xr-x 3 root root 4096 Feb 14 2016 elasticsearch-servicewrapper-master
-rw-r--r-- 1 root root 2054227 Jul 22 13:21 elasticsearch-servicewrapper-master.zip
-rw-r--r--. 1 elasticsearch es 142376665 Jan 3 2017 jdk-7u67-linux-x64.tar.gz
[root@atguigu src]# ll ./elasticsearch-servicewrapper-master
total 8
-rw-r--r-- 1 root root 2553 Feb 14 2016 README.md
drwxr-xr-x 4 root root 4096 Feb 14 2016 service
[root@atguigu src]# cp -r ./elasticsearch-servicewrapper-master/service /usr/local/src/elasticsearch-cluster/elasticsearch-node-1/bin/
[root@atguigu src]# ll /usr/local/src/elasticsearch-cluster/elasticsearch-node-1/bin/
total 328
-rwxr-xr-x 1 root root 6953 Feb 19 2015 elasticsearch
-rw-rw-r-- 1 root root 870 Feb 19 2015 elasticsearch.bat
-rw-rw-r-- 1 root root 2788 Feb 19 2015 elasticsearch.in.bat
-rwxr-xr-x 1 root root 2190 Feb 19 2015 elasticsearch.in.sh
-rw-rw-r-- 1 root root 104448 Feb 19 2015 elasticsearch-service-mgr.exe
-rw-rw-r-- 1 root root 103936 Feb 19 2015 elasticsearch-service-x64.exe
-rw-rw-r-- 1 root root 80896 Feb 19 2015 elasticsearch-service-x86.exe
-rwxr-xr-x 1 root root 1080 Feb 19 2015 plugin
-rw-rw-r-- 1 root root 451 Feb 19 2015 plugin.bat
drwxr-xr-x 4 root root 4096 Jul 22 13:55 service
-rw-rw-r-- 1 root root 6190 Feb 19 2015 service.bat
[root@atguigu src]#
第五步:將elasticsearch-cluster文件夾移動到/usr/local/下
[root@atguigu src]# mv ./elasticsearch-cluster /usr/local/
第六步:授權並安裝head監控集羣
[root@atguigu src]# cd /usr/local/elasticsearch-cluster/elasticsearch-node-1
[root@atguigu elasticsearch-node-1]# useradd elasticsearch
[root@atguigu elasticsearch-node-1]# passwd elasticsearch
[root@atguigu elasticsearch-node-1]#
[root@atguigu elasticsearch-node-1]# groupadd es
#這裏注意下,如果提示用戶es不存在,那麼是因爲服務器版本問題,你可以換成 usermod -G es elasticsearch ,也就是用戶和用戶組對調一下使用。
[root@atguigu elasticsearch-node-1]# usermod -G elasticsearch es
#在elasticsearch-node-1 根目錄下,給定用戶權限。-R表示逐級(N層目錄) , * 表示 任何文件
[root@atguigu elasticsearch-node-1]# cd /usr/local/elasticsearch-cluster/elasticsearch-node-1
[root@atguigu elasticsearch-node-1]# chown -R elasticsearch.es *
[root@atguigu elasticsearch-node-1]# su elasticsearch
[root@atguigu elasticsearch-node-1]$ cd ./elasticsearch/bin
[root@atguigu bin]$ ./plugin install mobz/elasticsearch-head
第七步:複製三份elasticsearch-node-1,分別命名爲elasticsearch-node-2,elasticsearch-node-3
第八步:在elasticsearch-node-2,elasticsearch-node-3下執行以下操作
[root@atguigu elasticsearch-node-2]# chown -R elasticsearch.es *
[root@atguigu elasticsearch-node-3]# chown -R elasticsearch.es *
第九步:修改配置文件(elasticsearch-node-1,elasticsearch-node-2,elasticsearch-node-3都執行)
[root@atguigu elasticsearch-cluster]# vim /usr/local/elasticsearch-cluster/elasticsearch-node-1/config/elasticsearch.yml
[root@atguigu elasticsearch-cluster]# vim /usr/local/elasticsearch-cluster/elasticsearch-node-2/config/elasticsearch.yml
[root@atguigu elasticsearch-cluster]# vim /usr/local/elasticsearch-cluster/elasticsearch-node-3/config/elasticsearch.yml
node-1需要修改的位置:
cluster.name: zzu-cluster
node.name: zzu-node-1
network.host: 192.168.150.164
transport.tcp.port: 9301
http.port: 9201
node-2需要修改的位置:
cluster.name: zzu-cluster
node.name: zzu-node-2
network.host: 192.168.150.164
transport.tcp.port: 9302
http.port: 9202
node-3需要修改的位置:
cluster.name: zzu-cluster
node.name: zzu-node-3
network.host: 192.168.150.164
transport.tcp.port: 9303
http.port: 9203
第十步:一次性啓動三個節點:
[root@atguigu elasticsearch-cluster]$ /usr/local/elasticsearch-cluster/elasticsearch-node-1/bin/elasticsearch
[root@atguigu elasticsearch-cluster]$ /usr/local/elasticsearch-cluster/elasticsearch-node-2/bin/elasticsearch
[root@atguigu elasticsearch-cluster]$ /usr/local/elasticsearch-cluster/elasticsearch-node-3/bin/elasticsearch
進入9201,9202,9203任意管控臺觀察集羣狀態
至此集羣已經安裝完成,其實配置起來非常簡單,主要就是解壓拷貝配置安裝head授權,是不是soeasy。下一節將介紹SpringData整合Elasticsearch
提供兩個我學習搭建ES的文章,兩位大牛都是很厲害的
http://www.sojson.com/blog/81.html
http://www.cnblogs.com/tianjixiaoying/p/4316011.html