準備環境
安裝好docker
安裝好docker-compose
安裝JDK(版本號儘量高點,至少jdk9)
準備elasticsearch.yml文件
version: '3'
services:
elasticsearch:
image: elasticsearch:7.7.0
container_name: elasticsearch
environment:
- "cluster.name=elasticsearch" #設置集羣名稱爲elasticsearch
- "discovery.type=single-node" #以單一節點模式啓動
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #設置使用jvm內存大小
volumes:
- /opt/mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件掛載
- /opt/mydata/elasticsearch/data:/usr/share/elasticsearch/data #數據文件掛載
ports:
- 9200:9200
- 9300:9300
創建es用戶
在root用戶下執行如下命令:
groupadd es
useradd es -g es
#設置es用戶的密碼爲es
passwd es
給es用戶附上sudo權限
在root用戶下給es用戶賦權
vi /etc/sudoers
在root ALL=(ALL) ALL下面一行添加:es ALL=(ALL) ALL
給es用戶附上文件夾權限
在root用戶下給es用戶賦權
#elasticsearch.yml所在文件夾的權限
chown -R es.es /opt/app/harbor/es/
#插件文件掛載的權限
chown -R es.es /opt/mydata/elasticsearch/plugins/
#數據文件掛載
chown -R es.es /opt/mydata/elasticsearch/data/
#docker-compose的操作權限,這一步不知道是否是必須的
chown -R es.es /usr/local/bin/docker-compose
在elasticsearch.yml所在文件夾裏執行安裝命令
在es用戶下執行安裝
sudo docker-compose -f elasticsearch.yml up -d
驗證
sudo curl 127.0.0.1:9200
或者
firewall-cmd --zone=public --add-port=9200/tcp --permanent
本地瀏覽器訪問 :es機器ip:9200