Elasticsearch使用系列-ES增刪查改基本操作+ik分詞
Elasticsearch使用系列-基本查詢和聚合查詢+sql插件
Elasticsearch使用系列-.NET6對接Elasticsearch
Elasticsearch使用系列-Docker搭建Elasticsearch集群
一、簡介
Elasticsearch是一個基於Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java語言開發的,並作為Apache許可條款下的開放源碼發布,是一種流行的企業級搜索引擎。根據DB-Engines的排名顯示,Elasticsearch是最受歡迎的企業搜索引擎,其次是Apache Solr,也是基於Lucene。
能解決問題:全文索引,大數據量秒查詢,PB級別數據搜索,毫秒級響應,支持結構化查詢,完整api接口,自動備份,集群穩定,擴容方便
使用場景示例:商城,文章類網站,單表數據量太大,日志系統儲存,報表統計查詢慢。
二、Windows搭建ES
1.安裝java jdk,安裝java11以上。
下載地址:https://www.oracle.com/java/technologies/downloads。
下載后直接雙擊安裝,不需要配環境變量。
2.下載ES,官網:https://www.elastic.co/cn/downloads/elasticsearch
如果要下載前面的版本,這個地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
現在下載的是當前7.x的最新版本7.16.3
下載完解壓后進入到config目錄的jvm.options,修改配置,把默認的4g改成512m,這里是本地測試使用不需要這么高內存。
Xmx:能夠使用的最大內存數。
Xms:用來設置程序初始化的時候內存棧的大小。
修改config目錄下的elasticsearch.yml文件。
network.host填上自己的ip,如果不改,只能用localhost和127.0.0.1訪問ES,也可以填0.0.0.0,這樣暴露全部的網絡地址都可以訪問。
然后回到bin目錄,雙擊elasticsearch.bat啟動。
啟動成功后,瀏覽器輸入 http://ip:9200看是否成功,如果出現下面就是搭建成功了。
三、Linux搭建ES
這里用的是CentOS7.9
1.安裝 java jdk
官網: https://www.oracle.com/java/technologies/downloads/
這里用rpm包的方式安裝,下載下來上傳到Linux服務器,或直接在linux服務器下載,這里選擇后者。
先建一個文件夾存放es文件,這里的目錄為/home/es
#創建es目錄
mkdir /home/es
#進入es目錄
cd /home/es
下載es的rpm和安裝
#下載elasticsearch rpm包文件
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
#授權限
chmod +x jdk-17_linux-x64_bin.rpm#安裝
rpm -ivh jdk-17_linux-x64_bin.rpm
安裝完成,查看java版本
java -version
到這里java sdk安裝完成了,上面的rpm文件也可以刪除了。
2.調高jvm線程數限制,不然啟動es會報錯
#修改sysctl.conf
vi /etc/sysctl.conf
#修改max_map_count調大,如果沒有這個設置,則新增一行
vm.max_map_count=262144
#改完保存后, 執行下面命令讓sysctl.conf文件生效
sysctl -p
3.修改limits.conf文件
不然啟動時會報這個錯誤: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
#修改文件 vi /etc/security/limits.conf
在后面增加這兩行,如果有就不用了:
* soft nofile 65536 * hard nofile 65536
修改完文件后在使用命令修改一遍
ulimit -n 65536
4.下載ES
官網:https://www.elastic.co/cn/downloads/elasticsearch
下載上傳到linux服務器,或直接在linux服務器下載,這里選擇后者。
#下載es壓縮包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz
#解壓
tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
解壓完后的文件夾 elasticsearch-7.16.3
進入解壓的目錄看一下結構
5.修改配置文件 elasticsearch.yml
#修改配置文件 vi config/elasticsearch.yml
6.創建一個普通用戶
因為es默認不能通過root用戶啟動,所以需要建一個普通用戶
#創建一個名為elastic的用戶
adduser elastic
#修改用戶elastic的密碼
passwd elastic
把/home/es 目錄下的權限給elastic用戶
#給es用戶迭代權限
chgrp -R elastic /home/es
chown -R elastic /home/es #把es目錄權限變為可讀可執行 chmod 777 /home/es
切換為elastic 用戶
#把當前登錄用戶切換為elastic用戶 su elastic
從root用戶變成了elastic用戶
7.啟動es
#進入es文件目錄 cd elasticsearch-7.16.3 #啟動es -d表示后台啟動 bin/elasticsearch -d
看到這個界面就是安裝成功啦!如果局域網訪問不到,看防火牆是否沒關。
四、Docker搭建ES
1.先安裝docker環境
參考:https://www.cnblogs.com/wei325/p/15139701.html
2.新建elasticsearch.yml配置文件
新建elasticsearch.yml配置文件並上傳到主機目錄用於配置文件掛載,方便后面修改,這里上傳到/home/es目錄。
具體有什么其它配置可以參考前面兩種安裝方式里面的elasticsearch.yml文件,是一樣的。
http.host: 0.0.0.0
#跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
位置如下:
3.docker 拉取es鏡像
#拉取鏡像,指定版本號 docker pull elasticsearch:7.16.3
4.把鏡像啟動為容器
docker run -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms128m -Xmx256m" -v /home/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.16.3 #9200是對外端口,9300是es內部通信端口 #-e ES_JAVA_OPTS="-Xms128m -Xmx256m" Xms初始化時內存棧大小,Xms程序限制占用內存 #-v 把配置文件掛載到es的docker里的配置文件
查看啟動的容器
搭建完成,瀏覽器打開 http://ip:9200看到下面的界面就搭建成功了。