Elasticsearch环境搭建(Elasticseach Single-Node Mode单节点模式)

本文详细介绍了如何在CentOS 7上通过下载并配置elasticsearch-7.3.0,jdk-8u261,以及kibana-7.3.0来实现Elasticsearch的单节点模式部署,包括防火墙设置、JDK安装、ES配置、用户权限调整及系统资源限制优化等步骤,并提供浏览器访问测试和Kibana的安装配置指南。

Elasticsearch环境搭建(Elasticseach Single-Node Mode单节点模式)


Elasticsearch是一个分布式全文搜索引擎,支持单节点模式(Single-Node Mode)和集群模式(Cluster Mode)部署。

一、单节点模式部署

1.1 软件准备

名称 日志
kibana-7.3.0-linux-x86_64.tar.gz 下载链接,提取码:5555
elasticsearch-head.zip 下载链接,提取码:5555
elasticsearch-analysis-ik-7.3.0.zip 下载链接,提取码:5555
elasticsearch-7.3.0-linux-x86_64.tar.gz 下载链接,提取码:5555<
<think>好的,用户提供的Elasticsearch配置是关于一个节点在Kubernetes环境中的设置,现在需要调整为单节点配置。首先,我需要回顾一下Elasticsearch单节点配置的关键点。 单节点集群的情况下,通常需要调整节点角色和发现相关的设置。用户当前的配置中,node.master被注释掉了,而node.data设置为true。对于单节点,这个节点必须同时是master和data节点,否则无法形成集群。所以,首先应该取消node.master的注释,并将其值设为"true"。 接下来是发现机制部分。原配置中的discovery.seed_hosts和cluster.initial_master_nodes都被注释了。在单节点情况下,Elasticsearch默认的发现机制可能无法正常工作,因为通常需要至少一个种子主机。所以需要设置discovery.seed_hosts指向本机,比如使用localhost或者Pod的DNS名称。不过,在Kubernetes中,单节点可能需要更简化的配置,例如设置discovery.type为single-node,这样Elasticsearch会自动处理发现过程,无需指定种子主机。但需要注意,discovery.type: single-node适用于Elasticsearch 7.0及以上版本,并且可能不需要设置cluster.initial_master_nodes。因此,可能需要启用discovery.seed_hosts并指向自身,或者使用单节点发现类型。 另外,cluster.initial_master_nodes通常用于初始化集群时指定初始的主节点列表。在单节点情况下,这个值应该是该节点的主机名,比如es-cluster-0。所以需要取消注释该行,并设置正确的节点名称。 关于安全配置,用户已经启用了xpack.security,并且配置了SSL传输加密,这部分在单节点中仍然适用,无需修改。但需要确保证书文件路径正确,并且节点间通信使用正确的验证模式,这里设置为certificate是合适的。 Java堆内存设置为2g,这在单节点情况下可能合理,但需要根据实际资源调整,不过用户可能不需要修改这部分。 总结下来,调整的关键点包括: 1. 启用node.master角色。 2. 配置适当的发现机制,可能需要设置为单节点模式或指定本机为种子主机。 3. 正确设置初始主节点列表。 4. 确保安全配置正确,证书路径有效。 另外,需要注意单节点集群的默认分片分配策略可能导致无法分配副本,因此可能需要在elasticsearch.yml中设置index.number_of_replicas为0,或者在模板中调整。但用户提供的配置中没有这部分,是否需要添加需要看具体情况。 现在需要验证这些调整是否正确。例如,启用node.master: "true",取消注释并设置discovery.seed_hosts为本机,或者使用discovery.type: single-node。同时,设置cluster.initial_master_nodes为当前节点名称。这样单节点才能正确启动并形成集群。 可能遇到的错误包括节点无法选举为主节点,或者发现机制无法找到其他节点导致启动失败。因此,确保发现相关的配置正确是关键。 最后,用户可能是在Kubernetes中部署,因此需要注意DNS解析是否正确,比如es-cluster-0.es-svc.kube-system.svc.cluster.local是否能正确解析到Pod的IP。如果使用单节点模式,可能不需要复杂的DNS设置,但需要确认网络配置是否允许节点自我发现。</think>根据提供的配置,若要将Elasticsearch调整为单节点模式,需调整以下参数: ### 必须修改的配置项 1. **启用主节点角色** 取消注释并启用 `node.master`,单节点必须同时是主节点和数据节点: ```yaml - name: node.master value: "true" ``` 2. **简化集群发现机制** 单节点需关闭集群发现检查,**二选一**: ```yaml # 方案一:指定种子主机为自身(K8s环境推荐) - name: discovery.seed_hosts value: "es-cluster-0.es-svc.kube-system.svc.cluster.local" # 方案二:直接声明单节点模式(非K8s环境适用) - name: discovery.type value: single-node ``` 3. **初始化主节点列表** 如果保留 `discovery.seed_hosts`,需同时设置初始主节点(与当前节点名一致): ```yaml - name: cluster.initial_master_nodes value: "es-cluster-0" ``` --- ### 完整调整后的配置示例 ```yaml - name: node.master value: "true" - name: node.data value: "true" - name: discovery.seed_hosts value: "es-cluster-0.es-svc.kube-system.svc.cluster.local" - name: cluster.initial_master_nodes value: "es-cluster-0" - name: ES_JAVA_OPTS value: "-Xms2g -Xmx2g" - name: xpack.security.enabled value: "true" - name: xpack.license.self_generated.type value: basic - name: xpack.security.transport.ssl.verification_mode value: certificate - name: xpack.security.transport.ssl.enabled value: "true" - name: xpack.security.transport.ssl.keystore.path value: /usr/share/elasticsearch/config/elastic-certificates.p12 - name: xpack.security.transport.ssl.truststore.path value: /usr/share/elasticsearch/config/elastic-certificates.p12 ``` --- ### 关键调整说明 1. **节点角色** - 单节点必须同时作为主节点 (`node.master: true`) 和数据节点 (`node.data: true`),否则无法形成有效集群。 2. **发现机制选择** - **Kubernetes环境**:建议保持 `discovery.seed_hosts` 指向自身的DNS名称(如 `es-cluster-0.es-svc...`),确保Pod重启后能正确识别网络身份。 - **非容器化部署**:可直接使用 `discovery.type: single-node` 跳过复杂配置。 3. **安全证书路径** - 确认 `/usr/share/elasticsearch/config/elastic-certificates.p12` 文件已通过K8s Secret或Volume挂载到容器内。 --- ### 后续操作建议 1. **副本分片问题** 单节点默认无法分配副本分片,建议通过API关闭副本: ```bash curl -X PUT "localhost:9200/_all/_settings?pretty" -H 'Content-Type: application/json' -d' { "index": { "number_of_replicas": 0 } }' ``` 2. **日志验证** 检查启动日志是否出现 `master not discovered yet` 或 `cluster formed` 关键信息,确认节点已正常选举为主节点。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

穿城大饼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值