ElasticSearh作為目前比較流行的全文搜索引擎。目前使用的公司以及個(gè)人比較多。其是基于RESTful web接口使用java語(yǔ)言開發(fā),其能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。本篇簡(jiǎn)單介紹下如何在linux系統(tǒng)上進(jìn)行安裝配置。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括留壩網(wǎng)站建設(shè)、留壩網(wǎng)站制作、留壩網(wǎng)頁(yè)制作以及留壩網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,留壩網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到留壩省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1. 操作系統(tǒng):CentOS 7.4
2. 安裝Elasticsearch前提條件:JDK1.8及以上,我這里使用的版本是 jdk1.8.0_181
3. 目前Elasticsearch最新的版本是 7.5.1,我這里使用的版本是 5.2.2
說(shuō)明:ElasticSearch的運(yùn)行不能用root執(zhí)行,必須普通用戶來(lái)啟動(dòng)。
一、jdk 安裝
JDK安裝
二、elasticsearch安裝1.創(chuàng)建用戶 [root@test-01 ~]# groupadd elastic [root@test-01 ~]# useradd elastic -g elastic -m
2.下載安裝 [root@test-01 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz [root@test-01 ~]# tar zxvf elasticsearch-5.2.2.tar.gz [root@test-01 ~]# mv elasticsearch-5.2.2 /usr/loca/elasticsearch //創(chuàng)建數(shù)據(jù)及日志目錄 [root@test-01 ~]# mkdir -p /data/elasticsearch/data [root@test-01 ~]# mkdir -p /data/elasticsearch/logs //添加權(quán)限 [root@test-01 ~]# chown elastic:elastic elasticsearch /usr/loca/elasticsearch -R [root@test-01 ~]# chown elastic:elastic elasticsearch /data/elasticsearch/logs -R [root@test-01 ~]# chown elastic:elastic elasticsearch /data/elasticsearch/data -R
3.修改配置文件(修改方法參考如下:)集群配置文件略同 [root@test-01 ~]# cat /usr/local/elasticsearch/config/elasticsearch.ym l egrep -v '^(#|$)' cluster.name: es_cluster node.name: node-01 //隨機(jī)定義 node.master: true //主true 從false node.data: true path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs network.host: 192.168.0.164 http.port: 9200 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["192.168.0.165", "192.168.0.164"] discovery.zen.minimum_master_nodes: 1 xpack.security.enabled: true http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization,Content-Type xpack.security.authc: accept_default_password: true
解釋說(shuō)明: bootstrap.memory_lock: false bootstrap.system_call_filter: false 一看就知道是關(guān)于內(nèi)用訪問(wèn)的方面的配置 cluster.name 集群名字,同一個(gè)集群中使用相同名字,單機(jī)就隨意 node.name: node-01 節(jié)點(diǎn)名字 node.master: 是否為集群的master機(jī)器 node.data: true 是否作為數(shù)據(jù)節(jié)點(diǎn) network.host: 192.168.0.164 這個(gè)不用自然是配置ip地址的,也可以配置成0.0.0.0 http.port: 9200 端口號(hào),不配置的話默認(rèn)9200 discovery.zen.ping.unicast.hosts: [“192.168.0.165”,”192.168.0.164”] 這個(gè)就是配置集群的時(shí)候要用的到了,[]中填上集群中其他集群的ip的地址,如果是master的話請(qǐng)把所有salve的機(jī)器地址填上 discovery.zen.minimum_master_nodes: 1 關(guān)于這個(gè)值配置多少合適的話大家去搜一下,自己權(quán)衡一下集群,這里我用了3臺(tái)機(jī)器模擬集群,所以填上2。 http.cors.enabled: true 這個(gè)參數(shù)的設(shè)置和下面一個(gè)配置就關(guān)于ip的訪問(wèn)策略了,如果你發(fā)現(xiàn)其他ip地址訪問(wèn)不了就有可以這參數(shù)沒(méi)有配置
4.調(diào)整系統(tǒng)參數(shù) [root@test-01 ~]# vim /etc/security/limits.conf root soft nofile 65535 root hard nofile 65535 * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 [root@test-01 ~]# vim /etc/sysctl.conf vm.max_map_count=662144 vm.overcommit_memory = 1 執(zhí)行命令,使配置文件生效 [root@test-01 ~]# sysctl –p
5.啟動(dòng)與停止 [root@test-01 ~]# su elastic -c "/usr/local/elasticsearch/bin/elasticsearch -d" [root@test-01 ~]# kill -9 `ps aux|grep [e]lasticsearch |grep -v tail|awk '{print $2}'`
三、安裝head插件 一般安裝在/usr/local/elasticsearch/elasticsearch-head路徑下 1.安裝node 源碼安裝方法如下: [root@test-01 ~]# yum -y install gcc make gcc-c++ openssl-devel 下載源碼及解壓: [root@test-01 ~]# wget http://nodejs.org/dist/v4.4.7/node-v4.4.7-linux-x64.tar.gz [root@test-01 ~]# tar zxvf node-v4.4.7-linux-x64.tar.gz [root@test-01 ~]# mv node-v4.4.7-linux-x64 /usr/local/node [root@test-01 ~]# ln -s /usr/local/node/bin/node /usr/local/bin/node [root@test-01 ~]# ln -s /usr/local/node/bin/npm /usr/local/bin/npm [root@test-01 ~]# node -v 2.安裝grunt grunt是一個(gè)很方便的構(gòu)建工具,可以進(jìn)行打包壓縮、測(cè)試、執(zhí)行等等的工作,5.2里的head插件就是通過(guò)grunt啟動(dòng)的。因此需要安裝一下grunt: [root@test-01 ~]# git clone git://github.com/mobz/elasticsearch-head.git [root@test-01 ~]# cd elasticsearch-head [root@test-01 ~]# npm install -g grunt-cli //執(zhí)行后會(huì)生成node_modules文件夾 [root@test-01 ~]# npm install 注意:5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目錄下,否則elasticsearch啟動(dòng)會(huì)報(bào)錯(cuò)。 修改vim Gruntfile.js文件:增加hostname屬性,設(shè)置為*
3.啟動(dòng)grunt [root@test-01 ~]# grunt server & 不安裝 grunt 也可以啟動(dòng): [root@test-01 ~]# npm run start &