前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >ElasticSearch学习(四)——Linux 单节点部署

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

作者头像
传说之下的花儿
发布2023-04-16 15:09:31
发布2023-04-16 15:09:31
96200
代码可运行
举报
运行总次数:0
代码可运行

Linux 单节点部署

下载

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

代码语言:javascript
代码运行次数:0
复制
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
代码运行次数:0
复制
mv elasticsearch-7.8.0 es

创建用户

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

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

代码语言:javascript
代码运行次数:0
复制
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
代码运行次数:0
复制
# 这是我的es配置文件的地方
vi /usr/local/applications/es/config/elasticsearch.yml

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

代码语言:javascript
代码运行次数:0
复制
# 集群名称
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
代码运行次数:0
复制
vi /etc/security/limits.conf
# 在文件末尾加入以下内容
# 每个进程可以打开的文件数的限制
user_es soft nofile 65536
user_es hard nofile 65536

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

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

重新加载:

代码语言:javascript
代码运行次数:0
复制
   sysctl -p

启动ElasticSearch

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

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

服务器防火墙:

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

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

响应:

代码语言:javascript
代码运行次数:0
复制
{
    "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
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux 单节点部署
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档