Win10下安装Spark的尝试总结(尚未出坑)

今天尝试部署Spark(Win10环境),学习了很多很有帮助的文档。基本的次序也算了解了一些。但最后还是没有成功。后面继续努力吧。但学习了一些点还是值得记录下:

1-Spark类似Mysql Workbench、Navicat之类,是用来对接和分析数据的。当然比后者功能强大很多,后者更多是传统的数据查询、处理及转化等。但Spark可以进行机器学习、图形处理,对接Python、R等分析包。
(Spark是mapreduce的替代品,速度、性能等更为优化)

2-Hadoop下的HDFS则相当于mysql,两者数据是可以互动的,而且底层原理也有一些相通之处(https://blog.csdn.net/leishenop/article/details/70238989)。

从以上两个角度来讲,是否会了基本的mysql数据管理经验,就可以向spark挺进了呢?
答案应该是50% vs 50%吧,具体后面的情况现在还不好说,因为还没有涉足到。

但在我看来,难点应该在这样几个方面:
1-Spark、Hadoop的部署(我现在就卡在这块了)。
2-对高级统计背后原理的理解及实战经验(这点估计很多人没有概念)。
3-对Python、R、Scala等语言的学习,至少要达到可以调取一些别人做好的统计分析包的功能吧。
4-相关的数据业务供实战。

就自己而言,以上方面1、3是自己目前缺乏的,2、4是相当条件的。因此值得努力下。当然没准后面还会遇到更多的问题。


就拿今天的部署尝试来说,学习到了:
1-基本的流程。A-安装jdk;B-安装Scala;C-下载Spark并解压;D-下载hadoop并解压。
2-重点要注意的是几乎每个环节都需要加入的系统变量path中,并且测试是否成功。
3-有些东西还需要去github里面去下载(因此今天再次注册了一遍),例如winutils.exe文件。
4-但即使这样,还是失败了。最后是失败在F:\Program Files\hadoop\bin\winutils.exe chmod 777 /tmp/hive 这块。于是检索到了下面这个内容,转过来作为留存吧。
中间参考了下面几篇文章,还是很有帮助的,尽管没有成功:
https://blog.csdn.net/u011513853/article/details/52865076
https://blog.csdn.net/qhmasd/article/details/80330018
https://blog.csdn.net/hongxingabc/article/details/81565174

最后是到探索到这个页面了,看来也有tx遇到了跟我一样的问题,不过我按照他的方法也是进不去。
https://blog.csdn.net/iaifeini/article/details/53469629
上面的方法如果失败了,就打算尝试从Python(x,y)方向入手了。
学习不易,加油!

https://www.cnblogs.com/cstzhou/p/6437270.html
大数据常见错误解决方案(转载)
1、用./bin/spark-shell启动spark时遇到异常:java.net.BindException: Can’t assign requested address: Service ‘sparkDriver’ failed after 16 retries!

解决方法:add export SPARK_LOCAL_IP=“127.0.0.1” to spark-env.sh

2、java Kafka producer error:ERROR kafka.utils.Utils$ - fetching topic metadata for topics [Set(words_topic)] from broker [ArrayBuffer(id:0,host: xxxxxx,port:9092)] failed

解决方法:Set ‘advertised.host.name’ on server.properties of Kafka broker to server’s realIP(same to producer’s ‘metadata.broker.list’ property)

3、java.net.NoRouteToHostException: No route to host

解决方法:zookeeper的IP要配对

4、Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) java.net.UnknownHostException: linux-pic4.site:

解决方法:add your hostname to /etc/hosts: 127.0.0.1 localhost linux-pic4.site

5、org.apache.spark.SparkException: A master URL must be set in your configuration

解决方法:SparkConf sparkConf = new SparkConf().setAppName(“JavaDirectKafkaWordCount”).setMaster(“local”);

6、Failed to locate the winutils binary in the hadoop binary path

解决方法:先安装好hadoop

7、启动spark时: Failed to get database default, returning NoSuchObjectException

解决方法:1)Copy winutils.exe from here(https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin) to some folder say, C:\Hadoop\bin. Set HADOOP_HOME to C:\Hadoop.2)Open admin command prompt. Run C:\Hadoop\bin\winutils.exe chmod 777 /tmp/hive

8、org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true.

解决方法:Use this constructor JavaStreamingContext(sparkContext: JavaSparkContext, batchDuration: Duration) 替代 new JavaStreamingContext(sparkConf, Durations.seconds(5));

9、Reconnect due to socket error: java.nio.channels.ClosedChannelException

解决方法:kafka服务器broker ip写对

10、java.lang.IllegalArgumentException: requirement failed: No output operations registered, so nothing to execute

解决方法:tranformation最后一步产生的那个RDD必须有相应Action操作,例如massages.print()等

11、经验:spark中数据写入ElasticSearch的操作必须在action中以RDD为单位执行
12、 Problem binding to [0.0.0.0:50010] java.net.BindException: Address already in use;

解决方法:master和slave配置成同一个IP导致的,要配成不同IP

13、CALL TO LOCALHOST/127.0.0.1:9000

解决方法:host配置正确,/etc/sysconfig/network /etc/hosts /etc/sysconfig/network-scripts/ifcfg-eth0

13、打开namenode:50070页面,Datanode Infomation只显示一个节点

解决方法:SSH配置错误导致,主机名一定要严格匹配,重新配置ssh免密码登录

14、经验:搭建集群时要首先配置好主机名,并重启机器让配置的主机名生效
15、INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: No route to host

解决方法:如果主从节点能相互ping通,那就关掉防火墙 service iptables stop

16、经验:不要随意格式化HDFS,这会带来数据版本不一致等诸多问题,格式化前要清空数据文件夹
17、namenode1: ssh: connect to host namenode1 port 22: Connection refused

解决方法:sshd被关闭或没安装导致,which sshd检查是否安装,若已经安装,则sshd restart,并ssh 本机hostname,检查是否连接成功

18、Log aggregation has not completed or is not enabled.

解决方法:在yarn-site.xml中增加相应配置,以支持日志聚合

19、failed to launch org.apache.spark.deploy.history.History Server full log in

解决方法:正确配置spark-defaults.xml,spark-en.sh中SPARK_HISTORY_OPTS属性

20、Exception in thread “main” org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.

解决方法:yarn-lient模式出现的异常,暂时无解

21、hadoop的文件不能下载以及YARN中Tracking UI不能访问历史日志

解决方法:windows系统不能解析域名所致,把hosts文件hostname复制到windows的hosts中

22、经验:HDFS文件路径写法为:hdfs://master:9000/文件路径,这里的master是namenode的hostname,9000是hdfs端口号。
23、Yarn JobHistory Error: Failed redirect for container

解决方法:将 http://:19888/jobhistory/logs 配置到yarn-site.xml中,重启yarn和JobHistoryServer

24、通过hadoop UI访问hdfs文件夹时,出现提示 Permission denied: user=dr.who

解决方法:namonode节点终端执行:hdfs dfs -chmod -R 755 /

25、经验:Spark的Driver只有在Action时才会收到结果
26、经验:Spark需要全局聚合变量时应当使用累加器(Accumulator)
27、经验:Kafka以topic与consumer group划分关系,一个topic的消息会被订阅它的消费者组全部消费,如果希望某个consumer使用topic的全部消息,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值