admin管理员组文章数量:1624786
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
正文
1.防火墙问题:
网上大部分说的就是防火墙的问题,但是在刚学docker时,我就关闭了防火墙并且禁止了开机启动,给有需要的提供下命令吧:
firewall-cmd --state # 查看防火墙状态
systemctl stop firewalld.service # 停止firewall
systemctl disable firewalld.service # 禁止firewall开机启动
reboot # 重启虚拟机
2.max_map_count太小:
第二种比较多的说法是:max_map_count太小了,但是我修改了之后问题依然没有解决,命令如下:
先查看max_map_count值(一般是65530,但如果是262144就不用改):
cat /proc/sys/vm/max_map_count 65530
修改65530为262144:
#临时修改
sysctl -w vm.max_map_count=262144
#永久修改
vm.max_map_count=262144
3.虚拟机内存不足以给ES分配:
还有说法是ES占用的内存比较多,如果虚拟机内存不足以分配给ES时会导致启动失败,解决方法:
#查看ES的容器id:
docker ps -a
#删除ES容器:
docker rm + 容器id
#新建ES容器(重点加上-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"):
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-plugins:/usr/share/elasticsearch/plugins \
-v /path/to/data/dir:/usr/share/elasticsearch/data \
--network es-net \
--privileged \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
这个是黑马视频中说到过的,所以我也是加上的,对我的问题没有帮助。
正解:挂载点目录问题:
1.查看日志:
我在寻求方法时,偶然发现,这个命令可以查看Elasticsearch的日志:
# 查看最新日志(默认情况下使用-f选项)
docker logs -f +容器id或者镜像名
# 查看特定时间段内的日志:
docker logs --since 2022-01-01 +容器id或者镜像名
# 仅查看错误日志:
docker logs --since 1d --grep ERROR +容器id或者镜像名
然后我查看了我的日志,发现在我浏览器访问ip:9200时,会出现这个错误并且此时我的容器会被自动删除:
ElasticsearchException[failed to bind service]; nested: FileSystemException[/usr/share/elasticsearch/data/nodes/0: Not a directory];
Likely root cause: java.nio.file.FileSystemException: /usr/share/elasticsearch/data/nodes/0: Not a directory
2.尝试修复:
大致意思就是说我的挂载目录不存在,但是我单独创建了目录后,还是会报错:
uncaught exception in thread [main]
ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];
Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
然后我就针对目录做了一系列的我能想到的方法,但是都没解决问题。
3.正确方法:
无奈之下,我只能完全删除了Elasticsearch的镜像以及容器,重新安装,但是在安装之前先创建挂载点文件目录!
下面为docker安装Elasticsearch的完整步骤:
(1)创建一个网络,方便后期部署kibana:
docker network create es-net
(2)docker拉取Elasticsearch,不知道为什么在拉取Elasticsearch时,必须加tag,不能直接用latest:
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
![img](https://img-blog.csdnimg/img_convert/24b5c7fd22c06825a604508ce46c797e.png)
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-aFdSsLXO-1713206139940)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
版权声明:本文标题:虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了_elasticsearchexception[failed to bind service]; ne 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728913083a1179354.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论