歡迎大家來到李小白ES踩坑系列,系列記錄了本人李小白在ES學習踩坑過程中的一點小小總結。如果大家覺得有用,歡迎點贊,如有問題,懇請指出。探索路上,一起前行……
第一篇內容簡介:
-
Elasticsearch安裝使用
-
Kibana安裝使用
-
基本命令界面
-
踩坑記錄
假設你已經有一臺centos的虛擬機
假設你已經安裝了Docker環境
假設你已經掌握了Docker的基本操作
假設。。你還想繼續看下去。。
開始
安裝ES:版本7.2.0 當前最新版本
docker pull elasticsearch:7.2.0
啓動:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.2.0
參數解析:
- -d 後臺運行
- --name docker容器名稱
- -p 映射端口
- -e 環境變量
- 最後是剛剛pull下來的鏡像和版本號
啓動成功:
測試一下沒有問題:哎呦不錯
[root@lixiaobai]# curl http://localhost:9200
{
"name" : "8d86cd01c25e",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "quRlLRH1RjSexr_Lvu8S3A",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安裝Kibana:
同樣pull鏡像 啓動鏡像
docker pull kibana:7.2.0
docker run -d --name kibana -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://your-ip:9200" kibana:7.2.0
- --link鏈接elasticsearch容器
- -e設置環境變量
啓動Kibana之後就能看到界面了
訪問以下:http://locahost:5601
可以看到很多個菜單和一個好看的界面
然而事情並不簡單
踩坑實例:
es默認鏡像以集羣方式啓動,如果恰好你的機器是剛配的機器,就會如下問題:
docker run -d -p 9200:9200 --name es elasticsearch:7.2.0
ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
第一個問題:
編輯 /etc/sysctrl.conf添加一行
vm.max_map_count=655360
然後加載配置 sysctl -p
第二個問題:
可以在es:/usr/share/elasticsearch/config/elasticsearch.yml裏添加一行
cluster.initial_master_nodes: ["node-1"]
然後cp到容器裏 restart
docker cp elasticsearch.yml elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml
docker start elasticsearch
如果你 -v 映射了目錄直接改相應文件重啓即可
還有一種就是本文開頭這樣以單機模式啓動 -e "discovery.type=single-node"
好了,今天的就到這裏。李小白第一坑就踩到這。如果想研究ES集羣怎麼整,之後再說。那時候會假設你會docker-compose。。docker stack。。docker swarm。。Kubernetes。。
下次見。。
O(∩_∩)O~