elasticsearch6.8.11安装部署开启用户密码访问

本文详细描述了如何在Linux系统上安装并配置Elasticsearch6.8.11,包括创建用户组、添加用户、设置环境变量、自定义配置文件、网络设置、防火墙管理以及生成和分发证书,确保集群正常运行和安全连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装

groupadd elastic
useradd -g elastic elastic -s /sbin/sbin/nologin
mkdir /data/elasticsearch/
cd /data/elasticsearch/
wget http://shu.share/soft/linux/elk/elastic/elasticsearch-6.8.11.tar.gz
tar zxvf elasticsearch-6.8.11.tar.gz
chown -R elastic:elastic /data/elasticsearch/elasticsearch-6.8.11
vim /etc/sysctl.conf

#添加内容
vm.max_map_count=655360
# 使用配置生效
sysctl -p
hosts添加
#es
192.168.1.120 es-node1
192.168.1.121 es-node2
192.168.1.122 es-node3
开机自启
vim /etc/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch 6.8.11
After=network.target

[Service]
Type=forking

User=elastic
LimitNOFILE=65536
LimitNPROC=65536
ExecStart=/data/elasticsearch/elasticsearch-6.8.11/bin/elasticsearch -d

[Install]
WantedBy=multi-user.target

修改配置文件elasticsearch.yml
cluster.name: es-cluster
#节点主机名
node.name: es-node1 
path.data: /data/elasticsearch/elasticsearch-6.8.11/data
path.logs: /data/elasticsearch/elasticsearch-6.8.11/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.1.120", "192.168.1.121", "192.168.1.122"]
discovery.zen.minimum_master_nodes: 2

#跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

#配置密码访问es集群
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

启动es(集群各机器)
systemctl start elasticsearch
防火墙放行
firewall-cmd --zone=public --add-port=9200/tcp --permanent&&firewall-cmd --reload
firewall-cmd --zone=public --add-port=9300/tcp --permanent&&firewall-cmd --reload
生成证书(其中1台机器)
cd /data/elasticsearch/elasticsearch-6.8.11
./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

#修改属主
chown elastic:elastic elastic-certificates.p12
拷贝证书到其余节点相同目录
#修改属主
chown elastic:elastic elastic-certificates.p12
执行命令生成密码
/data/elasticsearch/elasticsearch-6.8.11/bin/elasticsearch-setup-passwords interactive
重启es(所有节点)
systemctl stop elasticsearch
systemctl start elasticsearch

查看集群

查看集群节点信息
http://192.168.1.120:9200/_cat/nodes?v
查看集群健康状态
http://192.168.1.120:9200/_cat/health?v
查看集群索引信息
http://192.168.1.120:9200/_cat/indices?v
<think>好的,我需要帮助用户在Docker中的Elasticsearch查看已配置的用户密码。首先,我得回忆一下Elasticsearch的安全机制。Elasticsearch6.8和7.0版本之后默认开启了安全特性,包括内置的用户密码用户通常通过配置或工具来设置密码,比如使用elasticsearch-setup-passwords命令。 用户的问题是在Docker环境中如何查看这些已配置的密码。首先,我需要考虑Elasticsearch在Docker中的常见部署方式。通常,用户可能通过环境变量设置密码,或者在启动容器时使用配置文件。但一旦密码设置完成,Elasticsearch本身不会明文存储密码,而是保存在安全存储中,比如内部的.sec索引中,这些内容普通用户无法直接查看。 那用户如何找回或查看已设置的密码呢?可能的途径包括: 1. **检查启动Docker容器的命令或Compose文件**:如果用户在启动容器时通过环境变量(如ELASTIC_PASSWORD)设置了密码,可以直接查看Docker命令或docker-compose.yml文件中的环境变量配置。这是最直接的方法,但前提是用户当时记录了这些信息。 2. **进入容器内部查看配置文件或日志**:虽然密码不会明文出现在配置文件中,但某些情况下,用户可能在日志中看到初始密码的输出,尤其是在首次启动时。例如,如果使用Docker日志命令查看容器启动日志,可能会找到初始生成的密码。 3. **使用Elasticsearch的API重置密码**:如果用户有管理员权限,但忘记了密码,可以通过进入容器执行密码重置命令。比如使用elasticsearch-reset-password工具来重置内置用户(如elastic)的密码,然后使用新密码登录。 4. **检查挂载的配置文件或数据卷**:如果用户Elasticsearch的数据卷挂载到宿主机,可能在某些配置文件中找到相关设置,但通常密码不会以明文形式存储在这里。 需要提醒用户,出于安全考虑,Elasticsearch不会存储明文密码,因此直接查看已设置的密码是不可能的。如果用户丢失了所有凭据,可能需要通过重置密码的方式恢复访问权限。另外,用户应确保在设置密码时妥善保存,例如在Docker Compose文件中使用环境变量时,可以将敏感信息存储在.env文件中,并确保其安全性。 现在,结合提供的引用内容,引用[1]提到使用Docker部署时配置账号密码,引用[4]提到使用elasticsearch-setup-passwords工具更新密码,引用[3]和[4]也涉及Docker容器的进入和密码配置。因此,在回答中需要引导用户检查启动配置、日志,或者使用重置工具,并引用相关步骤。</think>### 如何在 Docker 中的 Elasticsearch 查看已配置的用户密码 在 Docker 中运行的 Elasticsearch 默认不会明文存储用户密码,因此无法直接“查看”已配置的密码。但可以通过以下方法找回或重置密码: --- #### **方法 1:检查 Docker 启动配置** 如果密码是通过环境变量设置的(例如首次启动时),可以检查启动命令或 `docker-compose.yml` 文件中的 `ELASTIC_PASSWORD` 字段。 示例配置片段: ```yaml environment: - discovery.type=single-node - ELASTIC_PASSWORD=your_password_here # 此处记录了初始密码 ``` --- #### **方法 2:通过容器日志查找初始密码** 如果首次启动时未显式设置密码Elasticsearch 会自动生成一个临时密码并输出到日志中。执行以下命令查看日志: ```bash docker logs elasticsearch_container_name ``` 在日志中搜索 `Password for the elastic user`,形如: ``` ✅ Password for the elastic user is: xxxx # 此为自动生成的初始密码 ``` --- #### **方法 3:重置密码** 如果密码已丢失且无记录,可通过以下步骤重置密码: 1. 进入 Elasticsearch 容器: ```bash docker exec -it elasticsearch_container_name /bin/bash ``` 2. 使用内置工具重置密码(以 `elastic` 用户为例): ```bash elasticsearch-reset-password -u elastic -i ``` 根据提示输入新密码即可[^4][^3]。 --- #### **方法 4:通过 Kibana 或 API 管理密码** 如果已部署 Kibana,可以通过 Kibana 界面登录并修改密码(需至少记住一个用户密码)。 或直接调用 Elasticsearch 的 API(需现有凭据): ```bash curl -X POST "localhost:9200/_security/user/elastic/_password" -H "Content-Type: application/json" -d '{"password": "new_password"}' ``` --- #### **注意事项** - Elasticsearch 的安全存储机制不暴露明文密码[^3]。 - 建议在 Docker Compose 中通过 `.env` 文件管理敏感信息,避免密码泄露。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值