Centos7源码方式安装Elasticsearch 7.10.2单机版

下载

任选一种方式下载

官网7.10.2版本下载地址

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

网盘下载链接

链接:https://pan.baidu.com/s/1EJvUPGVOkosRO2PUaKibaA?pwd=bnqi

提取码:bnqi

官网下载步骤如下

访问:Download Elasticsearch | Elastic

如下图所示,点击右侧View past releases可以选择历史版本

选择后,在版本框搜索7.10.2,选择LINUX X86_64包下载

配置系统参数

修改 limits.conf

配置用户每个进程最大同时打开文件数

复制代码
vi /etc/security/limits.conf

在文件最后增加如下配置

复制代码
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535

重启连接命令行生效。

使用下面的命令测试是否生效

复制代码
ulimit -n

修改sysctl.conf

默认的操作系统对mmap计数的限制可能太低,这可能会导致内存不足异常

复制代码
vi /etc/sysctl.conf

增加如下配置

复制代码
vm.max_map_count=655360

执行下面的命令,使配置生效

复制代码
sysctl -p

安装

上传和解压

将安装包包上传到服务器/opt目录下

安装目录设置为 /opt/elasticsearch

复制代码
cd /opt;
#解压到安装目录
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /opt;

创建ES用户并授权

创建新的用户elasticsearch

复制代码
useradd elasticsearch;

设置用户密码,可以设置为elasticsearch

复制代码
passwd elasticsearch

授权ES用户文件夹权限

复制代码
chown -R elasticsearch /opt/elasticsearch-7.10.2

编辑配置文件

复制代码
cd /opt/elasticsearch-7.10.2;
vi config/elasticsearch.yml;

修改为如下配置

复制代码
# 需确保不同的环境中集群的名称不重复
cluster.name: elasticsearch
# 节点名称。
node.name: node-1
# 配置数据目录,最好给一个大的磁盘目录,需要授权给ES用户
path.data: /opt/elasticsearch-7.10.2/data
# 配置日志目录,需要授权给ES用户
path.logs: /opt/elasticsearch-7.10.2/logs
# 绑定服务到指定IP
network.host: 192.168.110.150
# 提供服务的网口
http.port: 9200
# 节点主机的初始列表
discovery.seed_hosts: ["192.168.110.150"]
# 集群主节点信息
cluster.initial_master_nodes: ["node-1"]
# 开启跨域访问,支持head插件
http.cors.enabled: true
http.cors.allow-origin: "*"

配置JDK(可选)

如果服务器本身没有按照JDK,可以不用配置,会默认使用内置的JDK

使用java8也行,会有提示,最好安装jdk11

这里使用es自带的jdk进行配置

复制代码
#进入ES的bin目录
vim /opt/elasticsearch-7.10.2/bin/elasticsearch

#配置为指定的JDK
export JAVA_HOME=/opt/elasticsearch/jdk

启动

复制代码
# 使用ES用户启动,root用户启动会报错
su elasticsearch;
# 进入启动脚本目录
cd /opt//elasticsearch-7.10.2/bin;
# 使用后台启动
./elasticsearch -d

开启防火墙

防火墙可以通过打开9200端口或者关闭防火墙,让外部客户端可以访问

复制代码
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload

访问

浏览器访问:http://192.168.110.150

如下图表示启动成功

配置开机自启

先关闭以前启动的进程

创建服务文件

复制代码
vi /usr/lib/systemd/system/elasticsearch.service

填入以下信息

复制代码
[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
User=elasticsearch
ExecStart=/opt/elasticsearch-7.10.2/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

保存,执行下面的命令重新加载启动文件

复制代码
systemctl daemon-reload

启动

复制代码
# 启用开机启动
systemctl enable elasticsearch.service
# 启动服务
systemctl start elasticsearch.service
#查看服务状态
systemctl status elasticsearch.service

运维

日志:在配置文件path.logs中设置的日志目录,如/opt/elasticsearch-7.10.2/logs/elasticsearch.log

复制代码
# 启用开机启动
systemctl enable elasticsearch.service
# 启动服务
systemctl start elasticsearch.service
#查看服务状态
systemctl status elasticsearch.service
# 重启服务
systemctl restart elasticsearch.service
# 停止服务
systemctl stop elasticsearch.service
# 禁止开机启动
systemctl disable elasticsearch.service 
相关推荐
想躺平的咸鱼干4 小时前
用idea进行数据同步
java·ide·后端·elasticsearch·中间件·intellij-idea
Elastic 中国社区官方博客2 天前
使用 Azure LLM Functions 与 Elasticsearch 构建更智能的查询体验
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
Mr.stupidCoder3 天前
Git将本地文件推送到GitHub仓库
git·elasticsearch·github
RocketJ3 天前
mac电脑.sh文件,用来清除git当前分支
git·elasticsearch·macos
Elastic 中国社区官方博客3 天前
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
大数据·开发语言·javascript·elasticsearch·搜索引擎·全文检索·apache
猕员桃3 天前
《Elasticsearch 分布式搜索在聊天记录检索中的深度优化》
分布式·elasticsearch·wpf
追随远方3 天前
Android OpenSL ES 音频播放完整实现指南
android·elasticsearch·音视频
G皮T4 天前
【Elasticsearch】正排索引、倒排索引(含实战案例)
大数据·elasticsearch·搜索引擎·kibana·倒排索引·搜索·正排索引
G皮T4 天前
【Elasticsearch】Elasticsearch 近实时高速查询原理
大数据·elasticsearch·搜索引擎·全文检索·倒排索引·搜索·nrt
aini_lovee4 天前
python在容器内克隆拉取git私有仓库
git·python·elasticsearch