Elastic:如何在一个机器上同时模拟多个节点

在我之前的文章 “Elastic:用 Docker 部署 Elastic 栈” 中,我介绍了如何使用 Docker 部署的方法在一个电脑中启动多个 Docker 来实现多个节点的部署。在今天的文章中,我将用另外一种方法来模拟多个节点的部署。在这种情况下,我们不使用 docker。不过过千万要记住:尽管此配置对于开发目的是一个很好的选择,但不应在生产中使用此配置,尤其是在资源有限的情况下(例如,只有一台机器用于开发和测试)。

第一步:下载并安装 Elasticsearch

我们可以参照我之前的文章 “如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch” 来下载并安装我们的 Elasticsearch。我们先不要运行 Elasticsearch。

第二步:运行 Elasticsearch 实例

现在,我们将展示如何启动你的第一个实例。 为此,请打开终端并转到 Elasticsearch 的安装目录。 然后使用以下命令启动名为 node1 的节点:

./bin/elasticsearch -E node.name=node1 -Enode.max_local_storage_nodes=3

此命令使用选项 -E 将参数 node.name 设置为 node1。 要启动其他两个实例非常简单:你只需要使用相同的命令,但使用另一个节点名称。

在新终端上,使用以下命令启动名为 node2 的节点:

./bin/elasticsearch -E node.name=node2 -Enode.max_local_storage_nodes=3

在新终端上,使用以下命令启动名为 node3 的节点:

./bin/elasticsearch -E node.name=node3 -Enode.max_local_storage_nodes=3

你可以使用 curl 和 _cat /nodes 端点检查 3 个节点的集群:

curl -X GET http://localhost:9200/_cat/nodes?v

或者:

curl -u elastic:123123 -X GET http://localhost:9200/_cat/nodes?v

如果你已经为你的集群设置密码的话。这里 elastic:123123 是集群的用户名及密码。

显示的结果为:

curl -X GET http://localhost:9200/_cat/nodes?v
ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           10          77   6    2.31                  dilm      -      node2
127.0.0.1           18          77   6    2.31                  dilm      -      node3
127.0.0.1           15          77   6    2.31                  dilm      *      node1

从上面我们可以看出来有三个运行的节点。其中 node1 是一个 master node(含有一个*)。上面的 dilm 表示:

  • d: data node
  • i: ingest node
  • m: master node
  • l: machine learning node

方法二

依据 Elastic 的官方文档 “Get Elasticsearch up and running”,我们也可以通过如下的方法来实现在同一个机器上两个节点。启动另外两个 Elasticsearch 实例,以便你可以看到典型的多节点集群的行为。 你需要为每个节点指定唯一的数据和日志路径。

你可以参阅之前的文章 “如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch” 来启动第一个 Elasticsearch 的实例。你可以通过如下的方法启动另外的两个 Elasticsearch 的实例:

Linux and macOS:

./elasticsearch -Epath.data=data2 -Epath.logs=log2
./elasticsearch -Epath.data=data3 -Epath.logs=log3

Windows:

.\elasticsearch.bat -E path.data=data2 -E path.logs=log2
.\elasticsearch.bat -E path.data=data3 -E path.logs=log3

为其他节点分配了唯一的 ID。 由于你在本地运行所有三个节点,因此它们会自动与第一个节点一起加入群集。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值