ElasticSearch学习(四)——Linux 单节点部署

2023-04-16 15:09:31 浏览数 (1)

Linux 单节点部署

下载

下载后,使用xftp将压缩包上传到/usr/loca/applications

代码语言:javascript复制
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文件夹,如果嫌名字长,可以改了:

代码语言:javascript复制
mv elasticsearch-7.8.0 es

创建用户

因为安全问题,ElasticSearch 不允许root用户直接运行,

所以要创建新用户,在root用户中创建新用户:

代码语言:javascript复制
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文件

代码语言:javascript复制
# 这是我的es配置文件的地方
vi /usr/local/applications/es/config/elasticsearch.yml

进去之后可以看到都是被注释的,添加以下配置:

代码语言:javascript复制
# 集群名称
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

代码语言:javascript复制
vi /etc/security/limits.conf
# 在文件末尾加入以下内容
# 每个进程可以打开的文件数的限制
user_es soft nofile 65536
user_es hard nofile 65536

修改/etc/security/limits.d/20-nproc.conf(这个文件我没有,新建的)

代码语言:javascript复制
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(我设置之后启动报错)

代码语言:javascript复制
 vi /etc/sysctl.conf
 # 在文件中增加一下部分:
 # 一个进程可以拥有的VMA(虚拟内存区域)的	数量,默认为65536
 vm.max_map_count=655360

重新加载:

代码语言:javascript复制
   sysctl -p

启动ElasticSearch

代码语言:javascript复制
# 切换用户,不允许root用户启动es
su user_es
代码语言:javascript复制
cd /usr/local/applications/es
bin/elasticsearch

如果报错了,就查看上面步骤有哪里配置出错了,或者哪个字母错了,然后删除data目录,重新启动es即可。

服务器防火墙:

我这里使用的腾讯云的轻量级服务器,并且使用了宝塔,所以要在腾讯云和宝塔那里放行9200端口。

Postman发起GET请求:http://ip:9200/_cluster/health

响应:

代码语言:javascript复制
{
    "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
}

0 人点赞