Elasticsearch 添加数据

Elasticsearch 添加数据,第1张

Elasticsearch 添加数据

Elasticsearch 批量添加数据

首先我们先构造一个 json文件,内容参考如下(批量请求必须通过换行符[\n]终止):

在json文件所在文件夹执行以下命令:

插入数据的时候他会有一段时间去执行,你需要立即让他去执行添加

ElasticSearch版本7.6.2

1、验证当前版本是否支持安全功能

2、是否打开安全设置

3、基于FIPS的一些验证

4、配置节点间通讯传输的安全性

5、配置内置用户的密码/

6、选择用户验证用户身份的领域类型

7、设置角色和用户以控制对Elasticsearch的访问

8、启用审核以跟踪与Elasticsearch集群的尝试和成功的交互

1、验证当前版本是否支持安全功能

2、是否打开安全设置

3、配置节点间通讯传输的安全性

4、设置ssl的keystore、truststore的密码

5、重启ES集群是配置生效

6、配置内置用户的密码

7、修改kibana的配置

具体步骤:

Elasticsearch的安全策略需要X-Pack插件的支持,不过对于7.X以上版本X-Pack已经内置,所以不需要额外的 *** 作。

xpack.security.enabled控制安全配置的开启,在默认情况下此参数被设置为false。要想开启安全策略需要在所有集群中讲此参数进行设置

仅仅开启安全设置再启动服务的时候会抛出错误

这是因为传输网络层用于集群中节点之间的内部通信。启用安全功能后,必须使用TLS来确保节点之间的通信已加密。为节点间通讯配置安全策略需要两个步骤:

在Elasticsearch集群中验证证书真实性的推荐方法是信任签署证书的证书颁发机构(CA)。这样,将节点添加到群集后,它们只需要使用由同一CA签名的证书,即可自动允许该节点加入群集。另外证书中可以包含与节点的IP地址和DNS名称相对应的主题备用名称,以便可以执行主机名验证。

* 为Elasticsearch集群创建发证机构 ,使用下面的步骤为集群创建一个CA授权证书

整个创建过程是这样的。在输入命令后控制台会输出此命令的信息描述,然后你需要先执行{①}的 *** 作然后执行{②}的 *** 作

①:此位置设置文档输出地址和名称。默认名称为elastic-stack-ca.p12。这个文件是PKCS#12密钥存储库,它包含您的CA的公共证书和用于为每个节点签署证书的私有密钥。

(也可以无需输入,直接回车,则会再当前目录,elasticsearch-7.6.2目录下, 和bin同级目录,生成文件elastic-certificates.p12,

然后在elasticsearch-7.6.2/config目录下,新建一个文件夹certs, 把文件elastic-certificates.p12复制到certs文件夹下即可。)

②:此位置设置证书的密码。计划将来向集群添加更多的节点,请记住其密码。

为Elasticsearch集群中的节点生成证书

使用下面的名称生成集群使用的生成节点证书。elastic-stack-ca.p12为上一步生成CA证书。

整个创建过程是这样的,类似之前的内容,在输入命令后控制台会输出此命令的信息描述,

输入elastic-stack-ca.p12的密码后,在elasticsearch-7.6.2文件夹下执行命令:

然后你需要先执行{①}的 *** 作然后执行{②}的 *** 作,最后执行{③}的 *** 作

① : 此位置需要输入elastic-stack-ca.p12 CA授权证书的密码。

② : 此位置为需要输出证书位置。

③ : 此位置为证书的密码。使用空密码可以直接回车结束。

默认情况下,elasticsearch-certutil生成的证书中没有主机名信息。这意味着可以为集群中的任意节点使用此证书,但是必须关闭主机名验证。

将elastic-certificates.p12文件(只需要此文件)复制到每个节点上的Elasticsearch配置目录中的一个目录中。比如我是放到了每个节点的config/certs目录下。

然后修改每个节点的elasticsearch.yml配置。添加下面的参数:

xpack.security.transport.ssl.verification_mode

如果在elasticsearch-certutil cert命令中使用—dns或—ip选项,并且希望启用严格的主机名检查,此参数需要设置为full。而之前的例子证书中并没有输入ip以及dns等信息,所以我们没有使用严格的主机检查。

如果你在创建证书时没有输入密码,则这个时候重启集群后,如果elastic用户没有密码,则使用默认的引导密码。引导密码是一个临时密码,它允许您运行设置所有内置用户密码的工具。

如果你在创建证书时输入了密码,那可以通过下面的方法设置:

安全重启步骤:

1、暂停数据写入程序

2、关闭集群shard allocation,手动执行POST /_flush/synced

3、查看进程和杀死进程

4、重启节点

5、.确认进程是否启动,

6、并重新开启集群shard allocation

7、等待recovery完成,集群health status变成green

将写入es的程序暂停

curl -XPUT ‘ http://10.3.14.154:9200/_cluster/settings?pretty ’ -d ‘{“transient”:{“cluster.routing.allocation.disable_allocation”: true}}’

cd ~/bin

./elasticsearch -d

ps -ef | grep elasticsearch

curl -XPUT ‘ http://10.3.14.155:9200/_cluster/settings?pretty ’ -d ‘{“transient”:{“cluster.routing.allocation.disable_allocation”: false}}’

{

“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,

“status” : 406

}

curl 10.3.14.154:9200/_cluster/health?pretty

重启完成后,我们需要为所有的内置用户设置密码。设置密码使用命令:

上面过程中我们需要设置多个默认用户的信息,每个内置用户负责不同的内容。

为以下用户分别设置密码:

elastic

kibana

logstash_system

beats_system

apm_system

remote_monitoring_user

截止到目前Elasticsearch的部分已经修改完毕,下面修改kibana配置以便于让其和Elasticsearch完成连接。

修改配置文件

修改kibana的配置文件config/kibana.yml在配置文件中添加下面内容:

kibana 使用ps -ef|grep kibana是查不到进程的,因为其实运行在node里面。但是我们也不能关闭所有node里面的软件,所以我们需要查询kibana监听端口5601的进程。

使用下面命令关闭kibana:

然后重启Kibana

此时访问kibana( http://localhost:5601 )会提示需要输入账号密码。

注意此时需要输入的是elasticsearch的用户密码。

到此为止ES最基础的安全策略已经添加进来了。

参考文章: https://blog.csdn.net/qq330983778/article/details/103537252

https://www.tianmingxing.com/2019/06/20/%E5%9C%A8ElasticSearch6.8%E5%8F%8A%E4%BB%A5%E4%B8%8A%E7%89%88%E6%9C%AC%E5%BC%80%E5%90%AF%E5%AE%89%E5%85%A8%E8%AE%A4%E8%AF%81%E5%8A%9F%E8%83%BD/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11191240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存