ElasticSearch 集群的搭建
- 安装ElasticSearch
- 确定服务器中有jdk
- 创建ES安装目录
- 将ES的压缩包上传到这个文件下
压缩包下载地址:Elasticsearch 7.6.2 | Elastic
注意点:解压后到解压的文件夹下查看是否有data 和 logs 文件夹,没有则创建。
- 解压压缩包:tar zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
- 修改ES的配置文件
1.找到jvm.options文件修改ES占用的内存
- 修改elasticsearch.yml
修改内容如下:
cluster.name: escluster //集群名称
node.name: node-3 //节点名称不可重复
node.master: true //当前节点是否参选主节点
node.data: //当前节点是否用于存储数据
path.data: /home/gcuser/elasticSearch/elasticsearch-7.6.2/data //数据位置
path.logs: /home/gcuser/elasticSearch/elasticsearch-7.6.2/logs //日志位置
network.host:IP1 //当前服务器的ip
http.port: 9200 //es服务端口
bootstrap.memory_lock: true //锁定物理内存地址,防止es内存被交换出去
discovery.seed_hosts: ["IP1","IP2","IP3"] //写入候选主节点的设备地址,在开启服务后可以被选为主节点
cluster.initial_master_nodes: ["node-1","node-2","node-3"] //初始化一个新的集群时需要此配置来选举master
discovery.zen.minimum_master_nodes: 2 //配置其他有资格成为主节点的节点个数
discovery.zen.ping_timeout: 3s //设置集群中自动发现其他节点时ping连接的超时时间
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
二.修改Linux服务器的参数
1、修改/etc/security/limits.conf
文件最后添加以下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 32000
* hard nproc 32000
* hard memlock unlimited
* soft memlock unlimited
2、修改/etc/systemd/system.conf
分别修改以下内容:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
- 修改/etc/sysctl.conf 增加下面内容
vm.max_map_count=655360
4.执行 sysctl -p 文件路径让文件生效
三.在另外的两台服务器分别按上面的步骤安装es
四.启动每个节点
切换到es安装目录的bin文件下
执行启动命令: ./elasticsearch 启动 ./elasticsearch -d 后台启动
注意点:不能使用root账户启动
五:部署成功展示
- 部署过程中可能出现的错误
- es解压后没有检查是否有data和logs文件夹。
- Elasticsearch.yml配置bootstrap.memory_lock: true后没有修改liunx的内部参数。
- 启动时用root账户启动。
- 配置的ip地址不是服务器的IP地址,而是映射地址。
- network.host配置的0.0.0.0,而不是当前节点的ip