安装ElasticSearch遇到的深坑

本文详细介绍了在服务器上安装Elasticsearch的过程,包括安装Java环境、创建用户、配置文件详解及常见错误处理,如max file descriptors和node locks问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验需要ES,安装过程中遇到一些奇葩的问题,记录下。下面介绍下安装步骤;

第一步:安装java

  ES是运行在java虚拟机上面的,所以首先需要安装java环境,安装过程不再赘述,唯一需要注意的是ES对java版本的要求,官网上有介绍。

  我使用的是java-1.8   ES:5.6.4

第二步:创建用户

  groupadd elasticsearch

  useradd elasticsearch -g elasticsearch

  su - elasticsearch

  mkdir /data

  chown -R elasticsearch:elasticsearch /data/

  

第三步:安装elasticsearch

  将下载的相关版本的ES安装包,解压到/opt目录下,修改配置文件elasticsearch.yml文件,文件配置项的意义参考官方网站;主要要配置的有下面几个。单击模式和集群模式的配置方式有些不同。

  cluster.name

  node.name

  path.data

  path.logs

  bootstrap.memory_lock

  bootstrap.system_call_filter

  network.host

  http.port

  需要注意的是,配置项的key和value在冒号前后需要加一个英文空格。eg:cluster.name : hehe

  配置文件修改完成之后就可以尝试启动,在bin目录下运行./elasticsearch,结果会发现报了各种错误。

  max file descriptors [4096] for elasticsearch process likely toolow, increase to at least [65536]

  

  

  elastic search报错——“failed to obtain node locks”

  之前虽然启动失败了,但是还是有相关进程已经启动,占用了主机和端口,所以导致新的进程无法启动,解决的办法是将老的进程杀死:

  ps -ef| grep elasticsearch

  kill -9 pidid(上面查到的进程ID)

  然后启动就成功了;成功的标志是出现了下面的输出内容:

  

 

 

  

 

转载于:https://www.cnblogs.com/maxigang/p/10158534.html

<think>嗯,用户想要安装"SkyWalking"工具,但输入时出现了拼写错误(sakwalking)。根据引用内容,SkyWalking是国产开源的APM工具,用于分布式系统监控。用户可能是运维工程师或开发者,需要搭建监控系统。 用户的核心需求是安装指南,但深层需求可能是想快速搭建可用的监控环境。考虑到用户拼写错误,可能对SkyWalking还不够熟悉,需要从基础安装开始引导。安装方式选择上,Docker方式最简便,适合新手;源码编译适合深度定制用户。 需要特别注意: 1. 必须纠正拼写避免用户混淆 2. 提供两种主流安装方式并对比优缺点 3. 补充安装后验证步骤 4. 提醒端口冲突等常见问题 5. 后续问题要引导用户深入使用 技术细节上: - Docker方式需明确volume挂载路径 - 源码编译要强调JDK版本要求 - UI访问端口默认8080要重点标注 - 启动命令需区分backend和UI 用户可能遇到的坑: 1. 内存不足导致OOM(需提示-Xmx参数) 2. 端口被占用(建议netstat检查) 3. 依赖Elasticsearch时版本兼容问题 4. Linux系统需关闭防火墙或放行端口 最后生成的问题要覆盖: 1. 配置调优(内存/存储) 2. 生产环境部署要点 3. 监控指标解读 4. 告警配置 这样能形成完整的学习路径</think>您需要安装的是 **SkyWalking** 分布式监控系统(您输入的 "sakwalking" 可能是拼写误差)。以下是两种主流安装方式: --- ### 方式一:Docker 快速安装(推荐) ```bash # 1. 拉取SkyWalking官方镜像 docker pull apache/skywalking-oap-server:10.0.1 docker pull apache/skywalking-ui:10.0.1 # 2. 启动OAP后端服务(存储默认使用H2内存数据库) docker run -d --name skywalking-oap \ -p 11800:11800 -p 12800:12800 \ apache/skywalking-oap-server:10.0.1 # 3. 启动Web UI docker run -d --name skywalking-ui \ -p 8080:8080 \ -e SW_OAP_ADDRESS=http://<服务器IP>:12800 \ apache/skywalking-ui:10.0.1 ``` - **访问UI**:`http://服务器IP:8080` - **存储说明**:默认H2仅用于测试,生产需替换为Elasticsearch/MySQL(通过`-e SW_STORAGE=elasticsearch7`配置) --- ### 方式二:源码编译安装(适合定制化) ```bash # 1. 下载源码(需JDK17+) git clone https://github.com/apache/skywalking.git cd skywalking # 2. 编译打包 ./mvnw clean package -DskipTests # 3. 启动后端 cd /apache-skywalking-apm-bin/bin ./startup.sh # 4. 启动UI cd /apache-skywalking-webapp/bin ./startup.sh ``` --- ### 验证安装 1. 检查OAP日志:`logs/skywalking-oap-server.log` 出现 `OAP starts up!` 2. 访问 `http://localhost:8080` 应显示仪表盘 3. 发送测试数据(使用Agent): ```bash curl http://localhost:12800/receive -H "Content-Type: application/json" -d '{"service":"test-service"}' ``` --- ### 常见问题解决 1. **端口冲突**:修改`config/application.yml`中的`core/restPort`和`core/gRPCPort` 2. **内存不足**:调整`bin/oapService.sh`中的`-Xmx`参数(建议≥2GB) 3. **存储切换**(以ES为例): ```yaml storage: selector: elasticsearch elasticsearch: nameSpace: "skywalking" clusterNodes: "localhost:9200" ``` > 注:生产环境务必配置持久化存储和集群部署[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值