docker搜索下載ElasticSearch鏡像
-
1.執行docker命令
輸入:docker search elasticSearch,結果如下
在這里插入圖片描述 -
2.docker官方倉庫 搜索elasticsearch如下
在這里插入圖片描述
點擊ElasticSearch進入在這里插入圖片描述
學習使用直接用最新的,邊學習邊探索,挑戰自我,正式環境不建議直接使用最新的版本 -
拉取鏡像 docker pull elasticsearch:7.8.1 查看本地鏡像 docker images
在這里插入圖片描述
docker安裝es
- 安裝命令
docker run -d --name elasticSearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" a529963ec236
-p 設置端口
-e ES_JAVA_OPTS配置JVM參數 Xmx 最大堆大小和 -Xms 最小堆大小,防止啟動占用內存過大默認2g,我分配的虛擬機最大內存才2g
-e "discovery.type=single-node"使用單個節點,避開引導檢查
5601端口不用開放的圖中操作錯誤,后續檢查文檔發現的。。。。
在這里插入圖片描述 - 設置防火墻
防火墻開放端口 5601后續配置kibana使用
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload 重啟防護墻
我是虛擬機所以直接關閉防護墻了
關閉防火墻命令:systemctl stop firewalld.service
關閉開機自啟動:systemctl disable firewalld.service
-
創建簡單索引測試一下
在這里插入圖片描述 -
查詢索引
在這里插入圖片描述
ok沒毛病,可以使用了
-
但是,但是,但是如果不小心把docker es容器刪除掉會導致數據丟失,嘗試下
重啟操作如下沒毛病,索引還在
在這里插入圖片描述
容器刪除,再次啟動
在這里插入圖片描述
在這里插入圖片描述
酸爽。解決方案 需要將數據文件和配置文件掛在到宿主機上,保證數據安全
docker掛載方式啟動部署es
準備工作
- 進入home目錄 cd /home
- 創建多個文件夾 mkdir -p es/config
- 進入es目錄 cd es
- 創建數據目錄 mkdir data
- 創建插件目錄 mkdir plugins
- 在config下創建es.yml配置文件 cd es
vi config/es.yml 將下面內容粘貼修改ip地址受權 設置任何人都有讀、寫、運行三項權限,也可以單獨給100用戶設置,100是docker啟動es的帳號
chmod 777 /home/es/data
chmod 777 /home/es/plugins
chmod 777 /home/es/config/es.yml
在這里插入圖片描述
在這里插入圖片描述
es.yml
# 集群名稱
cluster.name: elasticsearch-cluster
# 節點名稱
node.name: es-node1
# 綁定host,0.0.0.0代表當前節點的ip
network.host: 0.0.0.0
# 設置其它節點和該節點交互的ip地址,如果不設置它會自動判斷,值必須是個真實的ip地址(本機ip)
network.publish_host: 192.168.22.130
# 設置對外服務的http端口,默認為9200
http.port: 9200
# 設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
# 是否支持跨域,默認為false
http.cors.enabled: true
# 當設置允許跨域,默認為*,表示支持所有域名,如果我們只是允許某些網站能訪問,那么可以使用正則表達式。比如只允許本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示這個節點是否可以充當主節點
node.master: true
# 是否充當數據節點
node.data: true
# 所有主從節點ip:port
discovery.seed_hosts: ["192.168.22.130:9300"]
# 這個參數決定了在選主過程中需要 有多少個節點通信 預防腦裂
discovery.zen.minimum_master_nodes: 1
docker 命令啟動走你
docker run -d --name es7.8.1 -p 9200:9200 -p 9300:9300 -v /home/es/data:/usr/share/elasticsearch/data -v /home/es/plugins:/usr/share/elasticsearch/plugins -v /home/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" a529963ec236
在這里插入圖片描述
設置es容器docker啟動時自動啟動
docker container update --restart=always es7.8.1
在這里插入圖片描述
查看docker日志 ,啟動成功了
配置X-Pack設置es用戶密碼
- 為什么要配置X-Pack,外網裸奔這么刺激容易被攻擊,親身經歷過測試環境百G數據被攻擊的痛感,索引全部變為空白索引,希望大家以此為戒
~嗯,真香!
正式環境建議內網訪問、內網訪問、內網訪問
-
打開 es.yml文件
docker exec -it es7.8.1 /bin/bash
vi config/elasticsearch.yml
在這里插入圖片描述
在最后增加如下參數
# 跨域允許設置的頭信息,默認為X-Requested-With,Content-Type,Content-Lengt http.cors.allow-headers: Authorization # 這條配置表示開啟xpack認證機制 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true
- 退出容器,重啟es
exit
docker restart es7.8.1
docker logs es7.8.1 查看日志啟動成功后進入容器中在這里插入圖片描述
docker exec -it es7.8.1 /bin/bash
cd bin/
./elasticsearch-setup-passwords interactive
在這里插入圖片描述
設置elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user等密碼,密碼需要記住要不然還得找回
我虛擬機直接123456
,正式環境不要這么簡單,否則那滋味值得你回味~嗯,真香!
possman與瀏覽器測試完美
在這里插入圖片描述
在這里插入圖片描述 - 不要刪除此類索引.security-7 eq-8u82gQr-osTg1kRkr5g這是存儲密碼的
當然你也可以嘗試下,經歷過的才值得回味~嗯,真香!
在這里插入圖片描述
docker安裝kibana
-
docker官方倉庫 搜索kibana選擇與es對應的版本,執行docker命令
在這里插入圖片描述
下載好慢~難受
在這里插入圖片描述創建kibana目錄
mkdir -p /home/kibana/config
受權
chmod 777 /home/kibana/config
創建配置文件
vi /home/kibana/config/kibana.yml
在這里插入圖片描述kibana.yml
server.name: kibana # kibana的主機地址 0.0.0.0可表示監聽所有IP server.host: "0.0.0.0" # kibana訪問es的URL elasticsearch.hosts: [ "http://192.168.22.130:9200" ] elasticsearch.username: 'kibana' elasticsearch.password: '123456' # 顯示登陸頁面 xpack.monitoring.ui.container.elasticsearch.enabled: true # 語言 i18n.locale: "zh-CN"
-
執行docker命令部署kibana
docker run -d -it --restart=always --privileged=true --name=kibana -p 5601:5601 -v/home/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml 22bc1dd9a48a
在這里插入圖片描述設置es容器docker啟動時自動啟動
--restart=always
設置特權
--privileged=true測試 http://192.168.22.130:5601
在這里插入圖片描述
輸入es帳號密碼 登陸 開始你的表演~得勁
在這里插入圖片描述
在這里插入圖片描述
進入控制臺查看下索引,這些是初始索引,密碼等信息,不要刪除,當然也可以刪除尋找刺激~嗯,真香
在這里插入圖片描述
創建一個索引PUT search_demo_v1 { "aliases": { "search_test": {} }, "mappings": { "properties": { "content": { "type": "text" }, "createTime": { "type": "date" }, "id": { "type": "integer" } } }, "settings": { "index": { "number_of_shards": "1", "number_of_replicas": "1" } } }
在這里插入圖片描述
如有錯誤的操作或者期待的內容,歡迎提出寶貴意見,一定吸取建議,感謝您查看
下一篇課程《二、ElasticSearch+Kibana配置文件詳解》敬請期待