文章目錄
1、摘要
Elaticsearch,簡稱爲es, es是一個開源的高擴展的分佈式全文檢索引擎,它可以近乎實時的存儲、檢索數據;本 身擴展性很好,可以擴展到上百臺服務器,處理PB級別的數據。es也使用Java開發並使用Lucene作爲其核心來實 現所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的複雜性,從而讓全文搜索變得簡單。
2、安裝環境
系統:Centos6.9 64位
ES版本:elasticsearch 7.7.0
3、安裝包下載地址
安裝包 | 地址 |
---|---|
elasticsearch-7.7.0-linux-x86_64.tar | https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.7.0 |
elasticsearch-head-master.zip | https://github.com/mobz/elasticsearch-head |
elasticsearch-analysis-ik-master.zip | https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.7.0 |
4、安裝步驟
4.1、解壓elasticsearch-7.7.0-linux-x86_64.tar安裝包
#解壓elasticsearch壓縮包
tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz
4.2 新建es用戶及授權
在啓動elasticsearch之前,ES在啓動的時候是不允許使用root賬戶的,所以我們要新建一個用戶es。
#創建一個es用戶
useradd es
#給es用戶設置密碼
passwd es
#將es解壓後的路徑給予es用戶權限
chown -R es elasticsearch-7.7.0
#在es文件加中創建data文件夾
su es
cd elasticsearch-7.7.0
mkdir data
4.4 修改若干配置,如不修改會導致啓動ES時會報錯
修改一:
#切換到su用戶
su root
#修改limits.d目錄下的配置文件
vi /etc/security/limits.d/90-nproc.conf
修改二:
cd elasticsearch/config/
vim elasticseach.yml
修改三:
修改四:
修改五:
4.3 運行ES
cd /soft/elasticseach7.7/bin
#普通運行
./elasticsearch
#守護線程運行
./elasticsearch -d -p pid
4.4 運行ES成功頁面
瀏覽器運行 http://ip:9200 如果瀏覽器可以返回內容說明啓動成功。
4.5、head圖形插件安裝
1)安裝node.js
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
2)查看node.js是否安裝成功
3)安裝grunt
npm install -g grunt-cli
#設置下載鏡像地址改爲阿里地址
npm config set registry http://registry.npm.taobao.org
npm install
4)修改相關配置文件
修改head-master文件夾下Gruntfile.js文件
修改head-master文件夾下_site文件夾下app.js文件
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.148.133:9200";
#將原來的localhost改爲服務器ip
修改es中conf目錄下elasticsearch.yml文件
#追加內容
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
4.6 運行head-master可視化頁面
運行head-master
#正常運行
grunt server
#後臺運行
nohup npm run start &
5、Elasticsearch概念
5.1 名詞解釋
名稱 | 解釋 |
---|---|
索引 index | 相當於mysql庫的概念 |
類型 type | 相當於mysql表的概念 |
文檔 document | 相當於mysql中row的概念 |
字段 field | 相當於mysql中colum的概念 |
映射 mapping | 相當於mysql中表結構定義的概念,設定數據類型、默認值、分析器、是否索引等等 |