Elasticsearch簡介
Elasticsearch 是一個分佈式可擴展的實時搜索和分析引擎,一個建立在全文搜索引擎 Apache Lucene™ 基礎上的搜索引擎.當然 Elasticsearch 並不僅僅是 Lucene 那麼簡單,它不僅包括了全文搜索功能,還可以進行以下工作:
分佈式實時文件存儲,並將每一個字段都編入索引,使其可以被搜索。
實時分析的分佈式搜索引擎。
可以擴展到上百臺服務器,處理PB級別的結構化或非結構化數據。
lucene:就是一個jar包,裏面包含了封裝好的各種建立倒排索引,以及進行搜索的代碼,包括各種算法。我們就用java開發的時候
Elasticsearch環境搭建
高版本的elasticsearch需要更高版本的jdk支持,這裏我們採用jdk8、elasticsearch-5.6.2進行學習
elasticsearch官網:https://www.elastic.co/cn/
我們把文件上傳上來,創建文件開始解壓
cd /xuyang
mkdir es
利用rz或者其他工具進行上傳
tar -zxvf elasticsearch-5.6.2.tar.gz
es是不能用root用戶來啓動的,不然會報錯
創建新用戶並授權
useradd es (創建新用戶es)
授權(把我們es文件夾的權限給這個用戶)
語法:chown -R 用戶名 文件夾名
chown -R es es/elasticsearch-5.6.2/
切換用戶
su es
啓動es
進入es文件夾執行elasticsearch-5.6.2/bin/elasticsearch
或者sh elasticsearch-5.6.2/bin/elasticsearch
查看是否啓動成功
curl -XGET ‘http://127.0.0.1:9200’
然後我們配置外網訪問,也就可以在瀏覽器看見
進入文件夾 cd xuyang/es/elasticsearch-5.6.2
vi config/elasticsearch.yml 修改配置文件
配置好你的網絡地址和端口
:wq 保存退出
關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service 禁止防火牆開機啓動
還需要修改Linux的一些系統配置
vi /etc/security/limits.conf
添加如下內容:
- soft nofile 65536
- hard nofile 131072
- soft nproc 2048
- hard nproc 4096
vi /etc/sysctl.conf
添加下面:
vm.max_map_count=2621441
sudo sysctl -p /etc/sysctl.conf
不修改會報一些錯誤,錯誤忘記截圖了,都可以試試
然後我們重新啓動bin/elasticsearch,就能在瀏覽器打開了
Elasticsearch的header插件安裝
elasticsearch-head是一個elasticsearch的集羣管理工具,它是完全由html5編寫的獨立網頁程序,你可以通過插件把它集成到es
我們需要先安裝配置NodeJS
下載地址:https://nodejs.org/en/download/
版本自己看着下就好了
tar - xjf node-v12.16.1-linux-x64.tar.gz 解壓
配置環境變量
vi /etc/profile
export NODE_HOME=/xuyang/es/node-v12.16.1
export PATH=PATH
讓環境變量生效
source /etc/profile
然後輸入命令
node -v 和 npm -v能出現對應的版本號就是配置好了
安裝git
git是一個分佈式版本控制系統
我們在Centos上安裝GIT有好幾種方式。這裏我們用最簡單的yum命令方式 一步到位,省了下載編譯安裝這些繁瑣過程。
yum install -y git
查看是否安裝成功,出現了對應的版本號就是成功了
git --version
打開 https://github.com/mobz/elasticsearch-head
cd es/進入文件夾
下載header
grunt安裝
npm install -g grunt-cli
· git clone git://github.com/mobz/elasticsearch-head.git
· cd elasticsearch-head
· npm install
· npm run start
我們直接啓動是看不到我們的集羣服務的
配置elasticsearch,允許head插件訪問
進入elasticsearch config目錄 打開 elasticsearch.yml
在文件最後加上
http.cors.enabled: true
http.cors.allow-origin: “*”
cd es/elasticsearch-head-master/
然後開啓服務npm run start
end…