linux服务器,docker部署es6.8.7,开启密码认证

1、拉取镜像

docker pull elasticsearch:6.8.7

2、启动es

docker run -d --restart=always -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:6.8.7

3、进入es容器,生成证书

docker exec -it elasticsearch bash

bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

4、退出容器,把容器内配置文件cp到服务器

mkdir -pv /etc/elasticsearch

docker cp elasticsearch:/usr/share/elasticsearch/config/elastic-certificates.p12 /etc/elasticsearch/elastic-certificates.p12

docker cp elasticsearch:/usr/share/elasticsearch/config/jvm.options /etc/elasticsearch/jvm.options

docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml

chmod 660 /etc/elasticsearch/elastic-certificates.p12

5、删除es容器

docker rm -f elasticsearch

6、调整服务器vm.max_map_count参数

vi /etc/sysctl.conf

vm.max_map_count=655360

sysctl -p

7、调整es内存

vim /etc/elasticsearch/jvm.options

-Xms4g

-Xmx4g

-Dlog4j2.formatMsgNoLookups=true

8、修改配置

cat /etc/elasticsearch/elasticsearch.yml 

cluster.name: "docker-cluster"
network.host: 0.0.0.0

mkdir -p /app/elasticsearch/ ; chmod 777 -Rf /app/elasticsearch

9、启动es

docker run -d --privileged=true --restart=always -p 9200:9200 -p 9300:9300 \

-v /etc/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \

-v /etc/elasticsearch/jvm.options:/usr/share/elasticsearch/config/jvm.options \

-v /etc/elasticsearch/elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 \

-v /app/elasticsearch:/usr/share/elasticsearch/data \

--ulimit nofile=65536:65536 \

-e "xpack.security.enabled=true" \

-e "xpack.security.transport.ssl.enabled=true" \

-e "xpack.security.transport.ssl.verification_mode=certificate" \

-e "xpack.security.transport.ssl.keystore.path=elastic-certificates.p12" \

-e "xpack.security.transport.ssl.truststore.path=elastic-certificates.p12" \

--name elasticsearch elasticsearch:6.8.7

10、进入容器、生成密码

docker exec -it elasticsearch bash

#交互方式输入密码

bin/elasticsearch-setup-passwords interactive

或者

#自动生成密码

bin/elasticsearch-setup-passwords auto

11、认证访问

curl localhost:9200 -u elastic:G86LFV1RbnfnN7wFt8vY

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 首先,在三台CentOS服务器上安装DockerDocker Compose。 2. 在其中一台服务器上创建一个Docker网络,以便容器可以相互通信。 ``` $ docker network create es_network ``` 3. 在每台服务器上创建一个目录,用于存储Elasticsearch配置文件、数据和日志。 ``` $ mkdir -p /data/es/config $ mkdir -p /data/es/data $ mkdir -p /data/es/logs ``` 4. 在其中一台服务器上创建一个Elasticsearch配置文件,例如: ``` cluster.name: my-es-cluster node.name: node-1 network.host: 0.0.0.0 discovery.zen.ping.unicast.hosts: ["192.168.1.2", "192.168.1.3"] discovery.zen.minimum_master_nodes: 2 path.data: /usr/share/elasticsearch/data path.logs: /usr/share/elasticsearch/logs ``` 将该配置文件保存为 /data/es/config/elasticsearch.yml。 5. 创建一个Docker Compose文件,例如: ``` version: '3' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es01 environment: - node.name=node-1 - cluster.name=my-es-cluster - network.host=0.0.0.0 - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - /data/es/config:/usr/share/elasticsearch/config - /data/es/data:/usr/share/elasticsearch/data - /data/es/logs:/usr/share/elasticsearch/logs ports: - "9200:9200" - "9300:9300" networks: - es_network es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es02 environment: - node.name=node-2 - cluster.name=my-es-cluster - network.host=0.0.0.0 - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - /data/es/config:/usr/share/elasticsearch/config - /data/es/data:/usr/share/elasticsearch/data - /data/es/logs:/usr/share/elasticsearch/logs networks: - es_network es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es03 environment: - node.name=node-3 - cluster.name=my-es-cluster - network.host=0.0.0.0 - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - /data/es/config:/usr/share/elasticsearch/config - /data/es/data:/usr/share/elasticsearch/data - /data/es/logs:/usr/share/elasticsearch/logs networks: - es_network networks: es_network: driver: bridge ``` 将该文件保存为 docker-compose.yml。 6. 在每台服务器上启动Docker Compose。 ``` $ docker-compose up -d ``` 这将启动三个Elasticsearch容器,并将它们连接成一个集群。 7. 验证Elasticsearch集群是否正常工作。 ``` $ curl -XGET http://localhost:9200/_cluster/health?pretty ``` 如果一切正常,您应该看到一个JSON响应,指示集群状态为“绿色”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波浪理论~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值