Linux 单节点部署
- 下载后,使用
xftp
将压缩包上传到/usr/loca/applications
cd /usr/local/applications # 解压 tar zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz # 删除压缩包 rm -f elasticsearch-7.8.0-linux-x86_64.tar.gz
- 这时候applications目录里会多个
elasticsearch-7.8.0
文件夹,如果嫌名字长,可以改了:
mv elasticsearch-7.8.0 es
- 创建用户
因为安全问题,ElasticSearch 不允许root用户直接运行, - 所以要创建新用户,在root用户中创建新用户:
useradd user_es # 新增user_es用户 passwd user_es # 为user_es设置密码 020826 # userdel -r user_es #如果创建错了,可以删除 # 文件夹所有者 chown -R user_es /usr/local/applications/es
修改配置文件
修改/usr/local/applications/elasticsearch-7.8.0/config/elasticsearch.yml文件
# 这是我的es配置文件的地方 vi /usr/local/applications/es/config/elasticsearch.yml
进去之后可以看到都是被注释的,添加以下配置:
# 集群名称 cluster.name: elasticsearch # 节点名称 node.name: node-1 # 不管它 network.host: 0.0.0.0 # 端口号 http.port: 9200 # 设置主节点,把node-1节点设置为主节点 cluster.initial_master_nodes: ["node-1"]
修改/etc/security/limits.conf
vi /etc/security/limits.conf # 在文件末尾加入以下内容 # 每个进程可以打开的文件数的限制 user_es soft nofile 65536 user_es hard nofile 65536
修改/etc/security/limits.d/20-nproc.conf(这个文件我没有,新建的)
vi /etc/security/limits.d/20-nproc.conf user_es soft nofile 65536 user_es hard nofile 65536 # 操作系统级别对每个用户的创建的进程数的限制: * hard nproc 4096 # * 代表Linux所有用户名
修改/etc/sysctl.conf(我设置之后启动报错)
vi /etc/sysctl.conf # 在文件中增加一下部分: # 一个进程可以拥有的VMA(虚拟内存区域)的 数量,默认为65536 vm.max_map_count=655360
- 重新加载:
sysctl -p
- 启动ElasticSearch
# 切换用户,不允许root用户启动es su user_es
cd /usr/local/applications/es bin/elasticsearch
如果报错了,就查看上面步骤有哪里配置出错了,或者哪个字母错了,然后删除data目录,重新启动es即可。
服务器防火墙:
我这里使用的腾讯云的轻量级服务器,并且使用了宝塔,所以要在腾讯云和宝塔那里放行9200端口。
Postman发起GET请求:http://ip:9200/_cluster/health
响应:
{ "cluster_name": "elasticsearch", "status": "green", "timed_out": false, "number_of_nodes": 1, "number_of_data_nodes": 1, "active_primary_shards": 0, "active_shards": 0, "relocating_shards": 0, "initializing_shards": 0, "unassigned_shards": 0, "delayed_unassigned_shards": 0, "number_of_pending_tasks": 0, "number_of_in_flight_fetch": 0, "task_max_waiting_in_queue_millis": 0, "active_shards_percent_as_number": 100.0 }