ElasticSearch系列---【linux离线安装elasticsearch7.8集群】

linux离线安装elasticsearch7.8

1.官网下载地址

https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0

2.上传到服务器指定目录

例如这里我上传到/opt/app/middles/目录下

3.解压软件

# 解压缩
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

4.创建用户

Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户。

useradd es #新增 es 用户
passwd es #为 es 用户设置密码,例`elasticadmin`
userdel -r es #如果错了,可以删除再加
chown -R es:es /opt/app/middles/elasticsearch-7.8.0 #文件夹所有者

5.修改配置文件

5.1第一个节点的配置文件

注意:第一个节点的配置文件和其他节点启动的配置文件稍微不一样。

vi /opt/app/middles/elasticsearch-7.8.0/config/elasticsearch.yml
# 加入如下配置
cluster.name: my-study-es
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300

# The default list of hosts is ["127.0.0.1", "[::1]"]
#对于第一个Elasticsearch节点,您不需要显式地在配置中指定discovery.seed_hosts。因为第一个节点是集群的初始节点,它将成为种子节点,等待其他节点加入。

#当您启动第一个Elasticsearch节点时,它将自动成为集群的初始节点,并监听默认的传输端口9300和HTTP端口9200。其他节点可以通过该初始节点的IP地址和端口来发现和加入集群。

#因此,对于第一个节点的配置,您只需确保cluster.name的值与其他节点相同,以确保它们属于同一个集群。第一个节点无需配置
#discovery.seed_hosts: ["192.168.43.101:9300", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#一旦集群已经初始化并且主节点选举成功完成,您应该从所有节点的配置中移除 cluster.initial_master_nodes 参数。集群状态将被保存,所以在后续的重新启动中,这个参数不再需要。
#请注意,只有在形成全新集群或添加新的主节点候选到集群时,才需要设置 cluster.initial_master_nodes 参数。在日常操作中,这个参数通常不需要在 elasticsearch.yml 文件中出现。
#最后,主节点的稳定性非常关键,因此在选择主节点候选时,应确保这些节点的硬件资源、网络连接和可靠性都是足够的。
#移除 cluster.initial_master_nodes 参数后,通常情况下不需要重启 Elasticsearch 节点。一旦集群形成并且第一次主节点选举已经成功完成,集群状态将会持久化。这个参数仅在集群的初始启动阶段需要,用于避免分裂脑症状并确保正确的主节点选举。
#这个参数,启动完注释掉,集群不用重启
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

# 跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

5.2第2个节点的配置文件

注意:后面再加多少节点,都按照这个配置文件加就行。

cluster.name: my-study-es
node.name: node-2
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301

# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#对于第一个Elasticsearch节点,您不需要显式地在配置中指定discovery.seed_hosts。因为第一个节点是集群的初始节点,它将成为种子节点,等待其他节点加入。
#当您启动第一个Elasticsearch节点时,它将自动成为集群的初始节点,并监听默认的传输端口9300和HTTP端口9200。其他节点可以通过该初始节点的IP地址和端口来发现和加入集群。
#最佳实践通常是在所有节点上配置相同的discovery.seed_hosts列表
discovery.seed_hosts: ["192.168.43.101:9300", "192.168.43.101:9301"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#一旦集群已经初始化并且主节点选举成功完成,您应该从所有节点的配置中移除 cluster.initial_master_nodes 参数。集群状态将被保存,所以在后续的重新启动中,这个参数不再需要。
#请注意,只有在形成全新集群或添加新的主节点候选到集群时,才需要设置 cluster.initial_master_nodes 参数。在日常操作中,这个参数通常不需要在 elasticsearch.yml 文件中出现。
#最后,主节点的稳定性非常关键,因此在选择主节点候选时,应确保这些节点的硬件资源、网络连接和可靠性都是足够的。
#移除 cluster.initial_master_nodes 参数后,通常情况下不需要重启 Elasticsearch 节点。一旦集群形成并且第一次主节点选举已经成功完成,集群状态将会持久化。这个参数仅在集群的初始启动阶段需要,用于避免分裂脑症状并确保正确的主节点选举。
#这个参数,启动完注释掉,集群不用重启
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

# 跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

6.修改/etc/security/limits.conf

vi /etc/security/limits.conf
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536

7.修改/etc/security/limits.d/20-nproc.conf

vi /etc/security/limits.d/20-nproc.conf
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注: * 带表 Linux 所有用户名称

8.修改/etc/sysctl.conf

vi /etc/sysctl.conf
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

9.重新加载配置文件

sysctl -p

10.使用es用户启动es

su - es
cd /opt/app/middles/elasticsearch-7.8.0/
#后台启动
bin/elasticsearch -d  
bin/elasticsearch -d -Xmx2g -Xms2g #后台启动,启动时指定内存大小(2G)
bin/elasticsearch -d -Des.logger.level=DEBUG  #可以在日志中打印出更加详细的信息。

11.测试软件

浏览器中输入地址: http://ip:9200/,如下图,表示成功了,如果访问不到,记得排查防火墙。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值