《正在播放:松下纱荣子的温柔陷阱》——心动的瞬间,沉醉的旋律

核心内容摘要

沉醉91糖心:探索无限可能,点燃激情夜晚
户外直播新玩法:当“路人搭讪”遇上“心动时刻”

女人100%无遮挡展现真实魅力

Elasticsearch简称ES作为一款高性能的分布式全文搜索引擎在日志分析、全文检索、数据可视化等场景中应用广泛。

对于后端、运维及大数据开发者而言熟练掌握ES的启动流程含环境准备、安装配置、启停命令、异常处理是入门必备技能。

本文将从零基础视角出发手把手教你完成ES的完整启动覆盖Windows、Linux双系统场景同时梳理高频坑点与解决方案适合新手直接上手实操。

前置知识ES启动核心前提在启动ES前必须先明确其运行依赖与环境要求否则会出现启动失败、闪退等问题。

核心前提如下新手务必逐一核对

1 核心依赖JDK环境重中之重ES是基于Java开发的应用**JDK环境是必选依赖**且JDK版本与ES版本存在严格兼容关系版本不匹配会直接导致启动失败。

推荐对应关系如下官方权威适配Elasticsearch版本推荐JDK版本备注

x系列主流JDK 11推荐/ JDK 8兼容

8版本内置JDK可无需额外安装

x系列最新JDK 17推荐内置JDK默认启用

x及以下JDK 8不兼容高版本JDK需手动安装⚠️ 关键提醒如果使用ES

8版本建议直接使用内置JDK无需手动配置环境变量避免手动安装的JDK版本冲突低版本ES必须手动安装对应JDK并配置JAVA_HOME。

2 系统环境要求内存最低2GB推荐4GB及以上ES启动默认占用1GB堆内存内存不足会导致启动卡顿或失败。

操作系统支持Windows

LinuxCentOS

Ubuntu

18.

MacOS不支持Windows 7及以下老旧系统。

Linux特殊要求需关闭内存交换swappiness

调整文件描述符限制推荐

禁用SELinux否则会触发启动警告或失败。

3 版本选择建议新手推荐使用Elasticsearch

7.

x长期支持版LTS稳定性强、文档完善、社区资源丰富避免直接使用最新的

x版本部分配置与API有兼容性变更新手易踩坑。

双系统实操ES安装与启动全流程本节分别讲解Windows和Linux系统下ES的安装、配置与启动步骤所有操作均经过实测新手可按步骤复制执行。

1 Windows系统新手首选步骤1下载ES安装包访问ES官方下载地址https://www.elastic.co/cn/downloads/past-releases/elasticsearch-

选择“Windows”版本zip压缩包下载后解压至无中文、无空格的目录如D:\Program Files\elasticsearch-

7.

1

18。

⚠️ 避坑提醒解压目录严禁包含中文或空格如“D:\程序文件\es”会导致启动报错。

步骤2核心配置新手必改进入ES解压目录的config文件夹修改核心配置文件elasticsearch.yml用记事本或VS Code打开仅修改以下关键配置其余默认即可# 集群名称默认elasticsearch可自定义单机无需修改 cluster.name: my-es-cluster # 节点名称自定义区分不同节点 node.name: node-1 # 数据存储目录建议自定义避免默认目录被误删 path.data: D:\Program Files\elasticsearch-

7.

1

18\data # 日志存储目录同上 path.logs: D:\Program Files\elasticsearch-

7.

1

18\logs # 绑定地址

0.

0.

0允许外部访问单机测试也可设为

127.

0.

1 network.host:

0.

0.

0 # HTTP端口默认9200可修改避免端口冲突 http.port: 9200 # 初始主节点单机节点名称与node.name一致 cluster.initial_master_nodes: [node-1]补充配置可选解决跨域问题后续对接Kibana或前端时需配置# 允许跨域访问 http.cors.enabled: true # 允许所有来源跨域生产环境需指定具体域名 http.cors.allow-origin: *步骤3启动ES两种方式方式1命令行启动推荐便于查看日志打开Windows命令提示符CMD进入ES解压目录的bin文件夹如cd /d D:\Program Files\elasticsearch-

7.

1

18\bin。

执行启动命令elasticsearch.bat注意无后缀名的elasticsearch是Linux脚本Windows需执行.bat文件。

启动成功标志日志中出现“started”字样无ERROR级别的错误WARN警告可忽略多为配置优化提示。

方式2后台服务启动长期运行以管理员身份打开CMD进入bin目录执行命令安装服务elasticsearch-service.bat install。

启动服务elasticsearch-service.bat start停止服务命令elasticsearch-service.bat stop。

验证服务打开Windows服务列表找到“Elasticsearch

7.

1

18”状态为“正在运行”即为成功。

步骤4验证启动成功打开浏览器访问http://localhost:9200若修改了port则对应调整出现以下JSON响应即为启动成功{ name : node-1, cluster_name : my-es-cluster, cluster_uuid : XXXXXXXXXXXXXXXXXX, version : { number :

7.

1

18, build_flavor : default, build_type : zip, build_hash : XXXXXXXXXXXXXXXXXX, build_date :

T01:02:

4

861447208Z, build_snapshot : false, lucene_version :

8.

1

1, minimum_wire_compatibility_version :

6.

0, minimum_index_compatibility_version :

6.

0-beta1 }, tagline : You Know, for Search }

2 Linux系统生产环境常用以CentOS 7为例Ubuntu系统操作类似仅包管理命令不同apt替代yum。

步骤1前置环境配置必做Linux系统下需先优化系统参数否则ES启动会失败执行以下命令以root用户操作#

关闭内存交换临时生效重启后需重新设置 swapoff -a # 永久关闭修改/etc/fstab注释swap相关行用#开头 sed -i /swap/s/^/#/ /etc/fstab #

调整文件描述符限制临时永久 ulimit -n 65535 echo * soft nofile 65535 /etc/security/limits.conf echo * hard nofile 65535 /etc/security/limits.conf #

调整虚拟内存临时生效 sysctl -w vm.max_map_count262144 # 永久生效添加到/etc/sysctl.conf echo vm.max_map_count262144 /etc/sysctl.conf sysctl -p # 刷新配置 #

禁用SELinux临时永久 setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config步骤2下载并解压ES安装包# 进入安装目录自定义如/opt cd /opt # 下载ES

7.

1

18Linux x86_64版本 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-

7.

1

18-linux-x86_

tar.gz # 解压压缩包 tar -zxvf elasticsearch-

7.

1

18-linux-x86_

tar.gz # 重命名简化目录名 mv elasticsearch-

7.

1

18 es-

7.

1

18步骤3创建专用用户必做ES严禁使用root用户启动会直接报错需创建专用用户并授权# 创建用户用户名自定义如esuser useradd esuser # 授权ES目录权限 chown -R esuser:esuser /opt/es-

7.

1

18 # 切换到esuser用户 su - esuser步骤4修改配置文件进入config目录修改elasticsearch.yml配置项与Windows一致仅路径改为Linux格式cd /opt/es-

7.

1

18/config vi elasticsearch.yml# 核心配置 cluster.name: my-es-cluster node.name: node-1 path.data: /opt/es-

7.

1

18/data path.logs: /opt/es-

7.

1

18/logs network.host:

0.

0.

0 # 允许外部访问生产环境需谨慎建议指定内网IP http.port: 9200 cluster.initial_master_nodes: [node-1] # 跨域配置可选 http.cors.enabled: true http.cors.allow-origin: *步骤5启动ES两种方式方式1前台启动测试用便于查看日志# 进入bin目录 cd /opt/es-

7.

1

18/bin # 启动ES ./elasticsearch启动成功标志日志无ERROR出现“started”字样。

方式2后台启动生产环境常用# 后台启动-d参数表示后台运行 ./elasticsearch -d # 验证进程是否存在 ps -ef | grep elasticsearch步骤6验证启动成功# 本地验证Linux内部执行 curl http://localhost:9200 # 外部验证Windows浏览器访问Linux服务器IP:9200需开放9200端口 # 开放9200端口CentOS 7 firewall-cmd --zonepublic --add-port9200/tcp --permanent firewall-cmd --reload出现与Windows一致的JSON响应即为启动成功。

ES启停命令汇总快速查阅整理双系统下ES的启动、停止、重启命令便于日常操作

1 Windows系统# 命令行启动前台 elasticsearch.bat # 安装服务 elasticsearch-service.bat install # 启动服务后台 elasticsearch-service.bat start # 停止服务 elasticsearch-service.bat stop # 重启服务 elasticsearch-service.bat restart # 卸载服务 elasticsearch-service.bat remove

2 Linux系统esuser用户操作# 前台启动 /opt/es-

7.

1

18/bin/elasticsearch # 后台启动 /opt/es-

7.

1

18/bin/elasticsearch -d # 停止ES安全方式推荐 curl -X POST http://localhost:9200/_shutdown # 强制停止不推荐可能导致数据损坏 ps -ef | grep elasticsearch | grep -v grep | awk {print $2} | xargs kill -9⚠️ 提醒生产环境严禁使用kill -9强制停止ES会导致索引损坏、数据丢失优先使用/_shutdown接口安全停止ES

x需开启action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*配置。

高频启动失败问题与排坑指南新手必看新手启动ES时大概率会遇到以下问题按以下方案可快速解决

1 JDK版本不匹配/未找到JDK报错信息could not find java in JAVA_HOME or bundled JDK 或 Java version is

1.

0_202, but Elasticsearch requires Java 11解决方案若使用ES

8版本删除手动配置的JAVA_HOME环境变量使用ES内置JDKbin目录下有jdk文件夹。

若使用低版本ES安装对应版本的JDK配置JAVA_HOMEWindows计算机→属性→高级系统设置→环境变量Linux修改/etc/profile添加export JAVA_HOME/usr/local/jdk

1.

0_202source /etc/profile生效。

2 内存不足/堆内存设置过大报错信息Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408,

failed; errorCannot allocate memory (errno

解决方案修改ES堆内存配置config/jvm.options文件将-Xms和-Xmx改为系统可承受的值推荐为物理内存的1/4且不超过32GB# 原配置默认各1GB -Xms1g -Xmx1g # 修改后如2GB根据实际内存调整 -Xms2g -Xmx2g

3 Linux下用root用户启动报错信息can not run elasticsearch as root解决方案按

2.

3步骤创建专用用户如esuser切换到该用户后再启动ES确保ES目录权限属于该用户。

4 端口被占用报错信息BindTransportException[Failed to bind to [9200]]; nested: BindException[Address already in use]解决方案WindowsCMD执行netstat -ano | findstr 9200找到占用端口的进程ID在任务管理器中结束该进程或修改elasticsearch.yml中的http.port为其他未占用端口如9201。

Linux执行lsof -i:9200或netstat -anp | grep 9200找到占用进程并杀死kill -9 进程ID或修改端口。

5 跨域配置错误导致前端无法访问问题现象前端调用ES接口时出现“Access to XMLHttpRequest at http://xxx:9200/ from origin http://xxx has been blocked by CORS policy”错误。

解决方案确保elasticsearch.yml中跨域配置正确且无语法错误注意冒号后有空格http.cors.enabled: true http.cors.allow-origin: * # 若仍有问题添加以下配置 http.cors.allow-headers: Authorization,Content-Type修改后重启ES生效。

后续操作建议ES启动成功后可进行以下操作快速上手ES核心功能安装KibanaKibana是ES的可视化管理工具可用于索引管理、数据查询、监控ES集群版本需与ES一致

7.

1

18安装后启动并访问http://localhost:5601默认端口。

创建测试索引执行命令创建索引并添加数据验证ES功能# 创建索引index名称为test-indexcurl -X PUT http://localhost:9200/test-index# 添加数据id为1curl -X POST http://localhost:9200/test-index/_doc/1 -H Content-Type: application/json -d {name:ES启动教程,type:技术博客,create_time:

}# 查询数据curl -X GET http://localhost:9200/test-index/_doc/1学习核心API重点掌握索引CRUD、文档CRUD、全文检索等API可参考ES官方文档https://www.elastic.co/guide/en/elasticsearch/reference/

17/rest-apis.html。

六、

总结ES启动的核心在于“环境适配配置正确”新手只需按以下流程操作即可快速启动ES核对JDK版本→优化系统环境→修改核心配置→用正确用户/方式启动→验证启动状态。

本文覆盖了双系统实操、命令汇总、高频坑点解决方案适合零基础开发者入门。

需要注意的是生产环境中ES通常以集群模式部署多节点需额外配置节点通信、分片副本等参数后续可逐步深入学习。

如果在启动过程中遇到其他问题欢迎在评论区留言交流

9.1破解免费版安装-9.1破解免费版安装应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123