# Добавление новой data-ноды в кластер

**URL:** <https://discuss.elastic.co/t/data/207533>\
**Category:** Вопросы на русском языке\
**Created:** [November 12, 2019, 1:49pm UTC](https://discuss.elastic.co/t/data/207533 "2019-11-12T13:49:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![111229](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111229/32/56578_2.png) [@111229](https://discuss.elastic.co/u/111229)\
**Post date:** [November 12, 2019, 1:49pm UTC](https://discuss.elastic.co/t/data/207533/1 "2019-11-12T13:49:22Z")

</div>

Коллеги, добрый день!  
У нас кластер из 6 нод в SSL, хотим добавить еще 2 ноды.  
Вопрос: как можно выпустить сертификаты только для двух новых серверов ?  
Если я правильно понял, то если использовать elasticsearch-certgen то придется перевыпускать все сертификаты в том числе для старых нод?  
Заранее спасибо!

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [November 12, 2019, 2:48pm UTC](https://discuss.elastic.co/t/data/207533/2 "2019-11-12T14:48:41Z")

</div>

[https://www.elastic.co/guide/en/elasticsearch/reference/7.4/encrypting-communications-hosts.html](https://www.elastic.co/guide/en/elasticsearch/reference/7.4/encrypting-communications-hosts.html)

---

<div class="post-metadata">

**Author:** ![111229](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111229/32/56578_2.png) [@111229](https://discuss.elastic.co/u/111229)\
**Post date:** [November 12, 2019, 3:13pm UTC](https://discuss.elastic.co/t/data/207533/3 "2019-11-12T15:13:39Z")

</div>

Спасибо.  
При выполнении возникает ошибка.  
В чем может быть засада?

```auto
[root@elk-data01]# /usr/share/elasticsearch/bin/elasticsearch-certutil \
> --ca /etc/elasticsearch/certs/ca.crt\
> --ip "xx.xx.xx.xx"\
> --dns "elk-data07"
Simplifies certificate creation for use with the Elastic Stack

Commands
--------
csr - generate certificate signing requests
cert - generate X.509 certificates and keys
ca - generate a new local certificate authority

Non-option arguments:
command

Option Description
------ -----------
-h, --help show help
-s, --silent show minimal output
-v, --verbose show verbose output
ERROR: ca is not a recognized option

```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [November 12, 2019, 3:28pm UTC](https://discuss.elastic.co/t/data/207533/4 "2019-11-12T15:28:54Z")

</div>

> [@111229](#):
>
> В чем может быть засада?

Засада в невнимательном чтении документации. 🙂

Нет команды. Вы `cert` после `elasticsearch-certutil` пропустили.

---

<div class="post-metadata">

**Author:** ![111229](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111229/32/56578_2.png) [@111229](https://discuss.elastic.co/u/111229)\
**Post date:** [November 12, 2019, 3:51pm UTC](https://discuss.elastic.co/t/data/207533/5 "2019-11-12T15:51:00Z")

</div>

Спасибо, огромное, действительно пропустил!  
Заработало!!!  
И последний вопрос, команда требуется ввода пароля для сертификата, а если я его не помню, то единственная возможность это пересоздавать все сертификаты для всех серверов?

```auto
Enter password for CA (/ca.crt--ip) :

```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [November 12, 2019, 4:20pm UTC](https://discuss.elastic.co/t/data/207533/6 "2019-11-12T16:20:09Z")

</div>

Было бы странно, если бы это было не так.

---

<div class="post-metadata">

**Author:** ![111229](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111229/32/56578_2.png) [@111229](https://discuss.elastic.co/u/111229)\
**Post date:** [November 13, 2019, 1:06pm UTC](https://discuss.elastic.co/t/data/207533/7 "2019-11-13T13:06:45Z")

</div>

Игорь, проконсультируйте, пожалуйста.  
Похоже первый раз когда выпускали сертификаты их выпустили без опции --keep-ca-key и теперь мы не можем выпустить сертификаты для новых нод, используя текущий корневой сертификат ca.crt.  
Вопрос. Если мы сейчас выпустим заново все сертификаты то:  
Как только мы выпустим сертификаты командой

```auto
/usr/share/elasticsearch/bin/elasticsearch-certutil cert --in /home/instance.yml --out /home/cert.zip --pem --keep-ca-key

```

1. Не сломается ли кластер, где используются старые сертификаты?
2. Можно ли одновременно использовать старые и новые сертификаты. Скажем для уже работающих нод одни, а для новых уже другие?  
Заранее спасибо!

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [November 13, 2019, 4:09pm UTC](https://discuss.elastic.co/t/data/207533/8 "2019-11-13T16:09:30Z")

</div>

Можно использовать несколько CA одновременно. Но все они должны быть перечислены в `xpack.security.transport.ssl.certificate_authorities` на всех узлах.

Сама команда elasticsearch-certutil сломать ничего не должна, так как она только генерирует локальные сертификаты, и пока вы эти сертификаты не начнете использовать или переписывать - ничего изменится не должно.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 11, 2019, 4:09pm UTC](https://discuss.elastic.co/t/data/207533/9 "2019-12-11T16:09:31Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
