中国著名摄影网站,深圳网站建设的公司,晋江网站建设费用,做电影网站用什么服务器比较好如果你只是学习elasticsearch的增、删、改、查等相关操作#xff0c;那么在windows上安装一个ES就可以了。但是你如果想在你的生产环境中使用Elasticsearch提供的强大的功能#xff0c;那么还是建议你使用Linux操作系统。
本文以在Ubuntu 2204 server中安装elasticsearch 8.…如果你只是学习elasticsearch的增、删、改、查等相关操作那么在windows上安装一个ES就可以了。但是你如果想在你的生产环境中使用Elasticsearch提供的强大的功能那么还是建议你使用Linux操作系统。
本文以在Ubuntu 2204 server中安装elasticsearch 8.11为例向同学们演示如何在Linux操作系统中安装并配置Elasticsearch.
0.前置条件
0.1 准备三台服务器
可以是物理机也可以是虚拟机三台服务器安装好ubuntu 2204 server我的三台服务器都是在虚拟机中以下是我的相关配置。
IP地址节点服务器配置192.168.50.5node1Elasticsearch[master/data] kibana 8C 16G ubuntu2204192.168.50.6node2Elasticsearch [master/data]8C 8G ubuntu2204192.168.50.7node3Elasticsearch [master/data] 8C 8G ubuntu2204
0.2 配置好系统时区保证3台服务器的时区一致。
0.3 关闭交换内存
修改/etc/fstab文件将/swap.img那行注释掉然后重启系统。 0.4.重命名系统主机名分别为node1,node2,node3,node4
hostnamectl set-hostname node1检查自己的配置。 从上图可以看到我的准备好了三台服务器分别为node1,node2,node3,三台服务器都在CST时区并且关闭了交换内存。 0.5 修改sshd_config配置允许root远程登录。
1.安装elasticsearch
在每个节点上执行下面的操作使用deb包安装的elasticsearch 8.11.
⚠️ 安装elasticsearch需要使用普通用户。安装完成后会在系统中自动添加一个elasticsearch用户和用户组。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.1-amd64.deb
sudo dpkg -i elasticsearch-8.11.1-amd64.deb安装非常顺利由于我们使用的deb包安装所以安装非常的友好并且安装完成后可以使用systemctl来管理我们的elasticsearch,下图是我三个节点安装成功的截图大家一定要仔细阅读安装完成的信息。 在安装完成输出信息中同学们一定要注意以下几点信息。
默认安装启用身份验证和授权并自动配置了传输层和HTTP层的TLS.为内置超级用户生成了密码。加入节点的命令。为kibana实例生成注册令牌的命令。启动systemctl服务的命令。
按照提示我们在每个节点执行以下命令重载systemctl守护并将elasticsearch服务加入开机自启。
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch2.配置node1上的elasticsearch
接下来的操作都是一些配置工作所以这里我直接切换成root用户了。通过前面安装方式安装的elasticsearch配置文件为/etc/elasticsearch/elasticsearch.yml接下来我们要经常和这个配置文件打交到。
vim /etc/elasticsearch/elasticsearch.yml在节点1的elasticsearch配置我们主要修改以下几个配置项。 集群名称: cluster.name cluster.name: es-cluster集群中的每个节点的集群名称要保持一致。 节点名称node.name: node-1 node.name: node-1集群中每个节点的节点名称要保持唯一比如分别为node-1,node-2,node-3。 网络地址network.host: network.host: 192.168.50.5network.host使用本机的IP地址 端口号http.port: http.port: 9200这里保持默认的9200即可也可以自定义这个端口注意要大于1024小于65535并且是系统未使用的端口。 集群初始化主节点cluster.initial_master_nodes: cluster.initial_master_nodes: [192.168.50.5]这里默认使用主机名作为初始化主节点的配置建议修改成主机IP。
修改好以上5个配置后保存配置文件其它的配置同学们可以通过阅读配置说明自行修改。
3.启动node1上的elasticsearch
前面我们修改了node1上的配置文件接下来使用下面的命令启动elasticsearch.
systemctl start elasticsearch如果启动过程没有报错信息就OK了也可以使用以下命令查看elasticsearch的状态。
systemctl status elasticsearch4.使用浏览器查看ES状态
在浏览器地址栏中输入https://node-1.ip:9200就会打开ES的登录界面。 这里的用户名就是elastic密码就是安装完成时输出信息中给出的密码如果你不想使用默认密码也可以使用下面的命令自定义elastic的密码。
/usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic刷新es的登录页面使用新的自定义密码就能登录了登录后会显示ES集群的一些信息。
5.配置node2
node2的配置和node1基本相同以下是node2的配置按照前面的方法修改node2的elasticsearch.yml文件并保存退出。
vim /etc/elasticsearch/elasticsearch.ymlnode2的配置项
cluster.name: es-cluster
node.name: node-2
network.host: 192.168.50.6
http.port: 9200
cluster.initial_master_nodes: [192.168.50.6]⚠️ 配置完成后一定不要启动ES。
6.将node2加入集群
按照ES官方的方式将node2加入集群。
首先在node1上使用下面的命令生成集群令牌令牌。
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node然后在node2上使用下面的命令将node2加入集群。
/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token token就是在node1上生成的那串字符。
/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token eyJ2ZXIiOiI4LjExLjEiLCJhZHIiOlsiMTkyLjE2OC41MC41OjkyMDAiXSwiZmdyIjoiZGE3ZjFiZGY1NWEzMGE0NDViNjQ2ZTc1NDc4YmQ0YmIyNjA2YzUwOGJkYmFmZWRmMDg1OTQ1ODdjOThmOWI2MCIsImtleSI6ImwtS2FVWklCU0ZNc1BNTm5haWRvOklRYlNyM29wU2pLZFA1Rk8za19oTmcifQ上图是我操作的截图通过上面的操作我们已经将节点node2加入到集群了。
这里注意有一段非常重要的输出提示我复制出来后面还会用到。
This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically:- Security auto configuration will be removed from elasticsearch.yml- The [certs] config directory will be removed- Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y
使用下面的命令启动node2上的Elasticsearch。
systemctl start elasticsearch如果启动过程没有报错信息说明node2已经加入到集群了接下来我们就可以在浏览器中我们可以查看集群的状态了。
7.修改node3的配置
修改node3的配置项并保存需要修改的配置项如下。
cluster.name: es-cluster
node.name: node-3
network.host: 192.168.50.7
http.port: 9200
#cluster.initial_master_nodes: [node3]
discovery.seed_hosts: [192.168.50.5:9300]⚠️ 修改完成后保存退出但是不要启动ES
8.将node3加入集群
我们可以按照node2加入集群的方法将node3加入集群但是这里我想尝试使用另外一种方法将节点加入到集群。
在使用elasticsearch-reconfigure-node命令将node2加入节点时有一段输出信息。
This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically:- Security auto configuration will be removed from elasticsearch.yml- The [certs] config directory will be removed- Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y上面的提示信息告诉我们命令elasticsearch-reconfigure-node会自动配置elasticsearch.yml,并删除certs目录中的文件以及elasticsearch.keystore.
其实就是使用node1 certs中的文件覆盖了node2 certs中的文件node1 的elasticsearch.keystore覆盖了node2的elasticsearch.keystore文件。我们按照这个思路让node1的相关文件覆盖node3相关文件。
scp /etc/elasticsearch/certs/* root192.168.50.7:/etc/elasticsearch/certs/scp /etc/elasticsearch/elasticsearch.keystore root192.168.50.7:/etc/elasticsearch/启动elasticsearch
systemctl start elasticsearch如果没有报错信息说明node3上的ES启动成功。
通过浏览器查看集群状态发现node3已经加入了集群。 好了今天的教程就到此为止要给儿子做饭了大家有问题可以留言给我我看到会给大家回复了。