这几天在干啥呢?我被spark这个框架给背刺了。
这个框架是做TBPB级别的大数据处理的框架。昨天下午开始配置。今天晚上7点的时候刚配好。
他是咋回事呢,就是测试环境有业务,我自己也不熟,所以想自己搭个单体hadoop和spark自己测试玩。
然后我工作的时候就迷惑了:
没办法,下载了一个最新的JDK17。
然后就是配置path。
这个也是让我感受到啥叫做配置地狱了。
比如Java这个兄弟,他要配置两个:JAVA_HOME和%JAVA_HOME%/bin
hadoop这个兄弟,他要配置两个:HAOOP_HOME和%HADOOP%/bin
Spark这个兄弟,他要配置两个:SPARK_HOME和%SPARK_HOME%/bin
然后这群傲娇的家伙他们不支持空格。
我不知道,所以把JDK扔到C:\progrom files\里面了,hadoop当场:我找不到了!!!你这个电脑没有JDK!!
这个是我一个一个配置进去的啊大哥,你找不到???
然后就百度,说有空格认不出。把JDK卸了装D盘
然后这个哥们又说:hadoop不支持windows!!
hadoop你是有啥大病还是咋回事(企业不允许用虚拟机,只有测试环境),然后让我去安装winutils这个插件。
然后我下载完成以后:这个哥们有点懒,只支持到3.0,更高的没支持了。我看着最新的hadoop,卸了吧……装2.7
然后hadoop就跑起来了。
hadoop伺候好了。
hadoop说了:我没有那么nameNode,你给我初始化下,不然我起不来。
好,给你初始化(用过mysql的都知道)
然后:hadoop说了:你试试start-all?
好,这个方法我打了弃用标识,这个功能已经弃用,建议大家换个启动方式。然后直接给我拍了6个窗口,4个报错。
凑合着用吧……大家都是好兄弟,就别报错了。
开始伺候spark。
spark一开口就是大招:我和hadoop互相之间有关系!!!
比如说:spark2.4.3需要hadoop2.7。你自己看着办。
Spark版本 2.2.0
Spark运行在Java 8+,Python 2.7 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.2.0使用Scala 2.11。
您将需要使用兼容的Scala版本(2.11.x)。
请注意,从Spark 2.2.0开始,对2.6.5之前的Java 7,Python 2.6和旧Hadoop版本的支持已被删除。
请注意,从Spark 2.1.0开始不支持Scala 2.10,可能会在Spark 2.3.0中删除。
Spark版本 2.1.1
Spark运行在Java 7+,Python 2.6 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.1.1使用Scala 2.11。
您将需要使用兼容的Scala版本(2.11.x)。
请注意,从Spark 2.0.0开始不支持对Java 7和Python 2.6的支持。
Spark版本 2.1.0
Spark运行在Java 7+,Python 2.6 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.1.0使用Scala 2.11。
您将需要使用兼容的Scala版本(2.11.x)。
Spark版本 2.0.2
Spark运行在Java 7+,Python 2.6 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.0.2使用Scala 2.11。
您将需要使用兼容的Scala版本(2.11.x)。
Spark版本 2.0.1
Spark运行在Java 7+,Python 2.6 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.0.1使用Scala 2.11。
您将需要使用兼容的Scala版本(2.11.x)。
你厉害,我满足你。
然后这个哥们又开口了:你这个JDK有问题啊。我不支持你这个辣鸡JDK17
你是大哥,你NB。于是把JDK17卸了装JDK8
最后背刺我的是PYTHON。他是这么说的:我也找不到环境了!!!
然后我启动python的时候,Python提示我:spark的小老弟hadoop他跑不起来,你给他处理一下。
然后去翻W结尾的一个英文网站,他告诉我:哥们,不要忘了把spark的dll文件给hadoop一份。
我当场配置不动了。
其实也不多,就是:每次配置不是即时生效的,要重启cmd才行,然后一个一个配置。
不然就给你报错:我找不到家门口了!!!!!!
然后这个spark最后傲娇的说了一句:我要打日志,你给我安个log4J。
我:你知道log4J现在啥 情况你就要log4J?
然后就拉了裤了。
然后就开始翻功能,然后spark傲娇的说了一句:我需要类型标注跑的快。你能给我类型标注一下呗。
我工作用的python,给你做类型标注?好吧,你是真的NB。
然后,spark又说:我工作的时候别忘了把jar包带上,你懂我意思吧?
大概晚上七点,我看到spark没有报错的时候,我的内心一片平静。
是我太菜了,之前没有配过环境变量,不知道程序之间有依赖关系,不知道python跑起来需要JDK,也不知道有的程序在windows跑也需要安装插件,是我没见过报错堆栈,是我太年轻了。