前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ElasticSearch 安装报错整理

ElasticSearch 安装报错整理

作者头像
程序员鹏磊
发布于 2018-02-09 07:33:59
发布于 2018-02-09 07:33:59
3.2K00
代码可运行
举报
文章被收录于专栏:架构师专栏架构师专栏
运行总次数:0
代码可运行

ElasticSearch 安装报错整理

单机安装报错

初次启动服务

代码语言:javascript
代码运行次数:0
运行
复制
/opt/elasticsearch-5.5.2/bin/elasticsearch

当使用root账户调用启动命令出现错误信息,错误提示信息如下:

代码语言:javascript
代码运行次数:0
运行
复制
[2017-08-30T13:32:17,003][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ELK-node1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.5.2.jar:5.5.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) ~[elasticsearch-5.5.2.jar:5.5.2]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.5.2.jar:5.5.2]
	... 6 more

创建新用户

由于Elasticsearch可以接收用户输入的脚本并且执行,为了系统安全考虑,不允许root账号启动,所以建议给Elasticsearch单独创建一个用户来运行Elasticsearch

命令格式 useradd ymq(用户名) -g ymq(所属组名) -p ymq(密码)

代码语言:javascript
代码运行次数:0
运行
复制
groupadd ymq
useradd  ymq -g ymq -p ymq

授权访问组权限

命令格式: chown -R ymq(所属用户) : ymq(所属用户组名) /opt/elasticsearch-5.5.2 (要更改的文件路径)

代码语言:javascript
代码运行次数:0
运行
复制
chown -R ymq:ymq /opt/elasticsearch-5.5.2
chmod -R 777 /opt/elasticsearch-5.5.2

授权 root 权限

命令格式: ymq 用户 root 权限 ` NOPASSWD `意思是 不用输密码

代码语言:javascript
代码运行次数:0
运行
复制
chmod 777 /etc/sudoers
vi /etc/sudoers
代码语言:javascript
代码运行次数:0
运行
复制
root    ALL=(ALL)       ALL

#添加ymq 用户 root 权限
ymq     ALL=(ALL)       NOPASSWD:ALL 
代码语言:javascript
代码运行次数:0
运行
复制
pkexec chmod 0440 /etc/sudoers

su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch

如果报如下错误

代码语言:javascript
代码运行次数:0
运行
复制
[2017-08-30T13:41:13,631][INFO ][o.e.n.Node               ] [ELK-node1] starting ...
[2017-08-30T13:41:14,093][INFO ][o.e.t.TransportService   ] [ELK-node1] publish_address {192.168.252.121:9300}, bound_addresses {[::]:9300}
[2017-08-30T13:41:14,121][INFO ][o.e.b.BootstrapChecks    ] [ELK-node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-08-30T13:41:14,127][ERROR][o.e.b.Bootstrap          ] [ELK-node1] node validation exception
[2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2017-08-30T13:41:14,142][INFO ][o.e.n.Node               ] [ELK-node1] stopping ...
[2017-08-30T13:41:14,186][INFO ][o.e.n.Node               ] [ELK-node1] stopped
[2017-08-30T13:41:14,186][INFO ][o.e.n.Node               ] [ELK-node1] closing ...
[2017-08-30T13:41:14,204][INFO ][o.e.n.Node               ] [ELK-node1] closed

以下错误都切换到 root 用户进项修改

代码语言:javascript
代码运行次数:0
运行
复制
su root

错误

代码语言:javascript
代码运行次数:0
运行
复制
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536

编辑 limits.conf 在第一行加上如下内容

代码语言:javascript
代码运行次数:0
运行
复制
cat /etc/security/limits.conf 

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

错误

代码语言:javascript
代码运行次数:0
运行
复制
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

编辑 limits.conf 在第一行加上如下内容

代码语言:javascript
代码运行次数:0
运行
复制
cat /etc/sysctl.conf 

vm.max_map_count = 655360

执行 sysctl -p

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

删除data目录下的数据(如果是新解压的安装包就不必了)

异常 IllegalStateException

代码语言:javascript
代码运行次数:0
运行
复制
Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/opt/elasticsearch-5.5.2/data/ymq]] with lock id [0]; maybe thes

删除 安装目录下/data

代码语言:javascript
代码运行次数:0
运行
复制
cd /opt/elasticsearch-5.5.2/data
rm -rf nodes

异常 RemoteTransportException

代码语言:javascript
代码运行次数:0
运行
复制
[2017-09-01T11:40:42,115][INFO ][o.e.d.z.ZenDiscovery     ] [ELK-node2] failed to send join request to master [{ELK-node1}{DKCwxkubTFufsBaOSXj9Nw}{UIMSNeuIT6m8SFGGTi4wSg}{192.168.252.121}{192.168.252.121:9300}], reason [RemoteTransportException[[ELK-node1][192.168.252.121:9300][internal:discovery/zen/join]]; nested: NotMasterException[Node [{ELK-node1}{DKCwxkubTFufsBaOSXj9Nw}{UIMSNeuIT6m8SFGGTi4wSg}{192.168.252.121}{192.168.252.121:9300}] not master for join request]; ], tried [3] times

删除 个集群安装目录下/data

代码语言:javascript
代码运行次数:0
运行
复制
cd /opt/elasticsearch-5.5.2/data
rm -rf nodes

异常 ElasticsearchUncaughtExceptionHandler

上次启动失败,占用了端口

代码语言:javascript
代码运行次数:0
运行
复制
[2017-08-30T22:02:14,463][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ELK-node2] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindHttpException[Failed to bind to [9200]]; nested: BindException[Address already in use];
代码语言:javascript
代码运行次数:0
运行
复制
jps 

2824 Elasticsearch
3165 Jps
代码语言:javascript
代码运行次数:0
运行
复制
kill -9 2824

再次启动服务

切到 ymq 用户尝试启动服务 加 -d 后台启动

代码语言:javascript
代码运行次数:0
运行
复制
su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch  -d

jvm 内存内存修改

代码语言:javascript
代码运行次数:0
运行
复制
vi /opt/elasticsearch-5.5.2/config/jvm.options

-Xms2g  --》修改为512m
-Xmx2g  --》修改为512m

查看日志

ymq 及时集群名称

代码语言:javascript
代码运行次数:0
运行
复制
less /opt/elasticsearch-5.5.2/logs/ymq.log

查看端口

代码语言:javascript
代码运行次数:0
运行
复制
netstat -nltp
代码语言:javascript
代码运行次数:0
运行
复制
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::9200                 :::*                    LISTEN      2944/java           
tcp6       0      0 :::9300                 :::*                    LISTEN      2944/java           
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
tcp6       0      0 ::1:25                  :::*                    LISTEN      - 

测试访问

代码语言:javascript
代码运行次数:0
运行
复制
curl -X GET http://localhost:9200/
代码语言:javascript
代码运行次数:0
运行
复制
{
  "name" : "ELK-node1",
  "cluster_name" : "ymq",
  "cluster_uuid" : "jxWzvSFNTCWtToD6wrVIpA",
  "version" : {
    "number" : "5.5.2",
    "build_hash" : "b2f0c09",
    "build_date" : "2017-08-14T12:33:14.154Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"

浏览器如果访问不成功,关闭防火墙,开放指定端9200,9300端口,为了方便,生产不要禁用防火墙

代码语言:javascript
代码运行次数:0
运行
复制
systemctl stop firewalld.service

更多异常:请参考

Elasticsearch 复制集群配置

不推荐按照以下步骤,可以按照上面介绍的单机配置依次安装

node1 ROOT 用户下操作

代码语言:javascript
代码运行次数:0
运行
复制
su root

把本机配置的文件复制到 node2,node3集群

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do scp -r /opt/elasticsearch-5.5.2/ node$a:/opt/elasticsearch-5.5.2/ ; done

ssh 登录 node2,node3集群,创建新用户,授权访问组权限,并且授权访问/etc/sudoers 给root权限

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do ssh node$a "source /etc/profile; groupadd ymq; useradd ymq -g ymq -p ymq; chown -R ymq:ymq /opt/elasticsearch-5.5.2; chmod 777 /etc/sudoers;" ; done
代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do scp -r /etc/sudoers node$a:/etc/sudoers ; done

复制 limits.confnode2,node3集群

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do scp -r /etc/security/limits.conf node$a:/etc/security/limits.conf ; done

复制 sysctl.confnode2,node3集群

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do scp -r /etc/sysctl.conf  node$a:/etc/sysctl.conf ; done

复制 jvm.optionsnode2,node3集群

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do scp -r /opt/elasticsearch-5.5.2/config/jvm.options  node$a:/opt/elasticsearch-5.5.2/config/jvm.options ; done

执行 sysctl -p操作

代码语言:javascript
代码运行次数:0
运行
复制
for a in {2..3} ; do ssh node$a "source /etc/profile; sysctl -p ; " ; done
代码语言:javascript
代码运行次数:0
运行
复制
vi /opt/elasticsearch-5.5.2/config/elasticsearch.yml

node.name: 换个名字,可以ELK-node2,ELK-node3

代码语言:javascript
代码运行次数:0
运行
复制
node.name: ELK-node1

后台启动

后台启动node1,node2,node3 服务

代码语言:javascript
代码运行次数:0
运行
复制
su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch -d

查看node1,node2,node3端口使用情况

代码语言:javascript
代码运行次数:0
运行
复制
 netstat -nltp

Contact

  • 作者:鹏磊
  • 出处:http://www.ymq.io
  • Email:admin@souyunku.com
  • 版权归作者所有,转载请注明出处
  • Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/08/30,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
内容,内容资产,以及内容即服务
内容是指在媒体、平台或者其他载体上所呈现的信息、文章、图片、视频、音频等形式的表达。内容可以是有关某个特定主题或领域的知识、观点、故事、娱乐等,通过文字、图像、声音等方式传达给用户或观众。在互联网时代,内容的重要性越来越突出,各种网站、应用和社交媒体平台都以提供优质内容为目标,吸引用户关注和参与。
KATSU
2023/09/09
5100
内容,内容资产,以及内容即服务
突破传统营销:SEO、社交媒体和聊天机器人的联动策略
搜索引擎优化(SEO)、社交媒体和聊天机器人之间的界限越来越模糊,这为您创造了与受众建立联系和推动参与的新机会。如果您对聊天机器人技术有些疑虑,那就让我们来看看这些令人兴奋的新可能性能否让您安心!
SEO-juper
2023/11/20
3010
ChatGPT 大师
随着技术的不断发展,营销人员可用的工具和策略也必须适应变化和创新。在这个创新的海洋中,有一个
ApacheCN_飞龙
2024/05/24
1880
利用SEO优化策略:实现网站流量与排名双提升
在全球化的商业环境中,在进行海外市场的搜索引擎优化(SEO)时,常常面临语言、文化和搜索习惯的差异。代理IP 作为一种辅助工具,能够有效解决这些挑战,提升SEO效果。以下是深入探讨代理IP在SEO优化中应用的内容:
镰ge_麦穗
2025/03/28
2740
利用SEO优化策略:实现网站流量与排名双提升
SMART让您的内容和SEO更智能
你多学一样本事,就少说一句求人的话!只有自己足够强大,才不会被别人践踏。 SMART目标管理原则,如何用SMART原则来与SEO相关联?如何让SMART原则应用到网站内容中去?今天主要来聊聊SMART
黄伟SEO
2018/05/17
8690
广告狗们,真不是吓唬你!再甩你10个可能抢走狗粮的经典案例!
小编发现,自从昨天发布了广告狗们注意了!未来夺走你工作的可能不是客户爸爸---是他!引起了一片哗然!于是小编一发不可收拾,瞒着老板又收集了十个早期经典案例准备继续虐狗!
iCDO互联网数据官
2018/07/27
6570
广告狗们,真不是吓唬你!再甩你10个可能抢走狗粮的经典案例!
ChatGPT 百万富翁手册
人工智能(AI)的急剧出现引发了组织工作方式和个人与技术互动方式的一波变革。这些变化是由 AI 的崛起带来的。人工智能中最令人印象深刻的例子之一就是被称为 ChatGPT 的模型,它由 OpenAI 开发。这个模型能够进行自然语言处理。由于它能够阅读和生成与人类极为相似的语言,它有潜力使商业的许多方面,尤其是利润丰厚的“赚钱”领域,成为一个极其令人困惑和难以预测的复杂领域。
ApacheCN_飞龙
2024/05/24
960
2015年网络营销的七大趋势
福布斯中文网(微信公号: forbeschinaonline)授权转载 数字营销领域的转变和进步正在加速,对旁观者来说,要跟上恐怕有些困难。因此,就在这2014年临近年末之际,不妨让我们来回顾一下今年出现的营销趋势,并且展望一下2015年可能出现的趋势。 1. 面向移动终端的优化将会变得比以往任何时候都要重要 面向移动终端应用进行优化,在2014年已经成了企业一项至关重要的任务,但是在2015年,这种移动策略将更进一步,不再仅限于为企业设立响应式网站或开发移动应用,还将注重面向移动终端优化的内容和社交媒体
大数据文摘
2018/05/23
7840
7.ChatGPT与SEO - 优化内容策略【7/10】
在当今的数字化时代,搜索引擎优化(SEO)已成为数字营销中不可或缺的一部分。它不仅帮助企业提高在线可见性,还直接影响着网站的流量、品牌知名度和最终的销售转化。SEO通过优化网站内容和结构,使其在搜索引擎结果页(SERP)上获得更高的排名,从而吸引更多的潜在客户。
正在走向自律
2024/12/18
2070
7.ChatGPT与SEO - 优化内容策略【7/10】
10个助燃商业增长的市场营销战略
引言:什么是最优营销策略?最重要的是建立真挚的顾客关系,那么就可以通过以下10种策略在线营销任何业务。
iCDO互联网数据官
2018/10/25
5910
独立开发者工具 • 半月刊 • 第 008 期
Indie Tools - 专注于分享独立开发:出海、精选、最新、最实用的工具和资源
Immerse
2025/04/16
940
独立开发者工具 • 半月刊 • 第 008 期
看看国外SEO专家是怎么定义SEO的?
再近的距离,你不踏出第一步,永远到达不了目的地,再远的路程,只要一步一个脚印,总能看到最美的风景。
黄伟SEO
2019/03/06
1.3K0
整合营销的4项必备技能
“ 整合营销作为一门艺术和科学如今仍在不断发展,要求企业营销团队不断补充新鲜血液,培养新的技能。在今天乃至未来,应重点关注以下技能,提升营销能力,确保整合营销取得切实效果。”
产品言语
2022/06/02
7890
【对话ChatGPT】如何提高网站的访问量?
上周给博客开通的 Google adsense,收益比微信公众号好一些,收益跟访问量成正比,于是我问了 ChatGPT 这个问题。
狂奔滴小马
2023/03/16
1.1K0
ChatGPT 之现金流
在当今快节奏和不断发展的世界中,财务稳定和独立变得越来越重要。零工经济的兴起导致了兼职的激增,即人们在正常工作之外从事的兼职活动,以赚取额外收入。
ApacheCN_飞龙
2024/05/24
1120
ChatGPT 之现金流
ChatGPT 初学者指南
如果您一直关注新闻和趋势,您可能已经在某个地方读到或听到过,Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多人已经开始尝试使用这个令人惊叹的工具来赚钱。
ApacheCN_飞龙
2024/05/24
1730
ChatGPT 初学者指南
seo搜索引擎排名优化
使用关键词研究工具确定相关性高且搜索量适中的关键词,并将这些关键词自然地融入标题、段落和标签中,但避免过度堆砌,保持内容流畅自然。
用户10637139
2024/04/27
2590
为什么小型网站,更适合做SEO?
其实SEO优化是涉及到了数百个完美的规划以及执行的操作,只要当你看见要完成的事情的列表时,大多数小型网站的管理者放弃了投资SEO的想法。正确的SEO将提高您的在线可见度,帮助您建立更好的在线形象,在您的网站上产生更多流量,并帮助您开始朝着更大的目标迈进。
蝙蝠侠IT
2021/06/29
6460
为什么小型网站,更适合做SEO?
一些关于网站推广问题合集。
提供高质量的内容:提供高质量、原创、有用的内容是最重要的。这可以吸引更多的用户访问,并增加用户留存时间,提高用户体验。同时,高质量的内容也会被其他网站引用和分享,这将有助于增加外部链接,提高网站的权重。
很酷的站长
2023/02/16
5150
Next.js 中的 SEO
Next.js 是一个用于构建服务器呈现的 React 应用程序的框架,使用像 Next.js 这样的框架的好处之一是它可以很容易地针对搜索引擎优化您的应用程序。
海拥
2023/02/27
4.6K0
相关推荐
内容,内容资产,以及内容即服务
更多 >
目录
  • ElasticSearch 安装报错整理
    • 单机安装报错
      • 初次启动服务
      • 创建新用户
      • 授权访问组权限
      • 授权 root 权限
      • 如果报如下错误
    • 再次启动服务
      • jvm 内存内存修改
      • 查看日志
      • 查看端口
      • 测试访问
    • Elasticsearch 复制集群配置
      • 在node1 ROOT 用户下操作
      • 后台启动
  • Contact
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验