赞
踩
python处理大数据性能上不足,所以想着用pyspark来处理,但是前提是要有一个hadoop的分布式环境,没有现成的,那就搭一个。
mac: 10.15.6
docker: 20.10.6
hadoop: 3.2.3
jdk: 1.8
scala: 3.1.1
spark: 3.0.3
在docker中集成 hadoop,spark,scala, habse(暂未更新),目前已经完成可以启动1台master,3台slave的hadoop分布式环境,接下来会继续更新安装hbase等;
搭建好的环境会被pyspark使用,当然这种方式只是在一台宿主机上搭建,只是跟伪分布式有点不同。
项目地址:https://github.com/DM-NUM/hadoop_cluster.git
可以拉下来直接用,文档有说明;项目会持续更新
所有的配置全部写入Dockerflie 和 entrypoint.sh,省去了因配置不当而导致启动失败的问题,踩过了不少坑了,修改过很多个版本,现在跑wordcount测试没问题了。
项目的具体文件我就不放啦,记录了一些在安装过程中遇到的问题,希望也能帮到你:
wait_for_it.sh脚本是直接引用了大神的脚本,大神项目地址是:https://github.com/vishnubob/wait-for-it.git;自己就偷懒了,其实在这项目中也可以>不使用这个脚本,但是保险起见,还是使用了。
hadoop测试
集群退出时,最好是使用hadoop的退出命令,不要强行用kill进程的方式退出。
启动脚本时,./start.sh run
hbase启动后,在设定的时间超时后,hmaster退出,然后日志有各种各样的warn,就是没有error;
分布式集群下启动hbase,但是总是有一两个slave的hregionserver进程启动失败
master的hmater, hregionserver, QuorumPeerMain已经启动,每个slave的hregionserver, QuorumPeerMain也正常启动,但是打开hbase shell中出现错误:
hadoop关闭安全模式,错误:Error: Could not find or load main class org.apache.hadoop.hdfs.tools.DFSAdmin
当你非正常退出hbase时,可能会导致下次启动hbase时错误,有可能meta数据损坏
运行一段时间后,regionsever退出:[regionserver/hadoop1:16020] util.Sleeper: We slept 16888ms instead of 3000ms, this is likely due to a long garbage collecting pause and it’s usually bad, see http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。