1、集群启动的时候,从节点的datanode没有启动

    问题原因:从节点的tmp/data下的配置文件中的clusterID与主节点的tmp/data下的配置文件中的clusterID不一致,导致集群启动时,hadoop会杀死从节点的datanode进程。

    解决方案:

    a)  将集群关闭;

    b)  删除你在hadoop配置中设置的tmp下的data和name中的内容(每一个节点都要做这个操作)

    c)  重新格式化一次hdfs

    d)  重启集群,问题解决

  2、集群启动时,jps显示所有的hadoop进程都已经存在,但是宿主机的浏览器打不开监控页面

    问题原因:集群中的所有节点的防火墙没有被禁用,导致宿主机无法访问监控界面。

    解决方案:

    a)  将防火墙禁用(每一个节点都要做这个操作)

          centos 7:

          systemctl stop firewalld.service #停止

          systemctl disable firewalld.service #禁用

        之前的版本:          
         service iptables stop #停止
         chkconfig iptables off #禁用
   b)  问题解决。
 3、启动sparkshell的时候出现错误:
  Call From master to master:8020 failed on connection exception: java.net.ConnectException: Connection refused
   问题原因:端口设置错误或者集群未启动导致通信失败
   解决方案:
   a)  先jps查看是否集群启动,如果启动则非此原因
   b)  查看hdfs配置时候端口是8020
   c)  hdfsm默认端口为9000
 4、提交任务到集群的时候报错:
  ERROR SparkDeploySchedulerBackend: Application has been killed. Reason: All masters are unresponsive!
  解决过程:
  a) 先前我以为是scala版本不对,因为官网上spark默认所支持的scala版本是scala2.10,想要支持scala2.11.需要自行编译。而我用的时scala2.11,所以
  我把集群中scala版本全部换成2.10版本。但是问题未得到解决。
  b) 上网看到有人遇到相同的问题,说是spark提交任务的时候(如果通信工具没有改变的话,kafka另论),默认使用spark自带的通信工具akka,但是akka只  能够识别IP主机映射的hostname,而无法识别IP地址,所以我把集群中的每个节点的spark配置文件中的spark_master_ip修改为hostname(master主节点名  字),集群重启后,问题得到解决。
 5、在Spark集群提交任务后报错:
  You need to build Spark before running this program.
  Initial job has not accepted any resources; check your cluster UI to ensure
  通过查看日志发现,主节点的配置文件spark-evn.sh无故丢失(具体原因不详,可能是我在操作的时候在UI界面kill了一个任务导致),于是把其他节点的spark-evn.sh复制到主节点,集群服务全部关闭,主节点重启,服务重启,问题解决。
 6、Spark的Application(print一个结果)在提交到yarn的时候,成功执行完成,但是没有打印结果:
  Spark提交任务到yarn的时候有两种模式:yarn-client和yarn-cluster,yarn-client适合于日常生产,而yarn-client更适合于交互,可以作为测试使用。详细介绍请参看:《Spark:Yarn-cluster和Yarn-client区别与联系》
  所以,刚刚提交任务的时候我采用的是cluster模式,故没有打印结果,换成client模式就可以了。
 7、Spark提交任务后,Application运行成功,但是在SparkUI没有显示Application:
  原因:Spark的缺省配置spark-default.conf没有打开
  解决方案,去掉spark-default.conf.template最后的 .template,重启集群,问题解决!
  PS: 其实1.4版本不打开这个spark-default.conf.template,spark默认在UI不可以显示的,这是因为你设置的主节点主机名不是master,而spark默认显示是master,所以UI无法正确显示Application。 另外,spark-submit提交任务到其他集群,在SparkUI中也是无法显示的,只能在对应的集群管理界面找到,一定要注意这一点!
 8、Spark On Yarn运行时,设置历史记录:spark.history.fs.logDirectory要与spark.eventLog.dir指向同一目录,否则无法正确显示历史日志!
 9、Spark On Yarn提交任务模板:spark-submit --master yarn-cluster --deploy-mode cluster --class com.quanttech.ASL.MoviesRecommond  hdfs://192.168.2.201:54310/user/bigdata/script/zj/ScalaTestRecommond.jar
如有其他问题,我会后续更新!O(∩_∩)O

Hadoop/Spark环境运行过程中可能遇到的问题或注意事项的更多相关文章

  1. hadoop环境配置过程中可能遇到问题的解决方案

    Failed to set setXIncludeAware(true) for parser 遇到此问题一般是jar包冲突的问题.一种情况是我们向java的lib目录添加我们自己的jar包导致had ...

  2. 【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs

    异常: 2014-02-24 12:15:48,507 WARN  [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<in ...

  3. Hadoop完全分布式搭建过程中遇到的问题小结

    前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...

  4. UITableView使用过程中可能遇到的问题

    前言:记录一些UITableView使用过程中可能遇到的问题 环境:Xcode9 解决UITableViewStyleGrouped类型的TableView的cell距离顶部有距离的问题: table ...

  5. hadoop集群搭建过程中遇到的问题

    在安装配置Hadoop集群的过程中遇到了很多问题,有些是配置导致的,有些是linux系统本身的问题造成的,现在总结如下. 1. hdfs namenode -format出现错误:hdfs namen ...

  6. HOWTO - Basic MSI安装包在安装运行过程中如何获取完整源路径

    有朋友问到如何在一个Windows Installer安装包中获取安装包源路径,就是在安装包运行过程中动态获取*.msi所在完整路径. 这个问题分两类,如果我们的安装包只是一个*.msi安装文件,那么 ...

  7. ionic 运行过程中动态切换API服务器地址

    ionic 运行过程中动态切换API服务器地址 keywords: ionic,phonegap,cordova,网络制式,动态切换,变更,API,服务器地址,$resource,localstora ...

  8. (转)在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗?

    转自:http://www.cnblogs.com/xiaoyao2011/archive/2011/09/09/2172427.html 在.NET程序运行过程中,什么是堆,什么是栈? 堆也就是托管 ...

  9. Jmeter运行过程中如何让Fiddler同时可以抓获到服务器的应答报文

    在默认情况下,Jmeter运行过程中,Fiddler是抓不到对应的应答报文的. 但是,在某些时候,我们希望分析Jmeter执行失败的原因,想了解Jmeter获取到的应答报文是否有问题,就需要同服务器返 ...

随机推荐

  1. JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比

    本篇文章主要对如何在JMeter中进行URL的参数进行配置进行介绍,通过CSV文件配置参数数据,对baidu.sogou.haosou进行搜索性能对比测试. 1.建立测试计划.线程组,并在线程组下添加 ...

  2. 关于js基本类型与引用类型(堆内存、栈内存的理解)

    js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...

  3. Gitlab的安装与配置

    gitlab的安装 参考治疗:https://www.gitlab.com.cn/installation/#centos-7 http://www.21yunwei.com/archives/435 ...

  4. Mysql 定位执行效率低的sql 语句

    一.通过MySQL慢查询日志定位执行效率低的SQL语句. MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysq ...

  5. VMware 虚拟机 不能上网 CentOS 6.5 Windows 7上面安装了VMware,然后安装了CentOS系统,安装完了无法上网;

    今天想要学习一下大数据的知识,在windows 7上面 安装了VMware,然后安装了Centos系统,但是发现安装完了,无法上网 我在Centos上面 使用 ping www.baidu.com 始 ...

  6. Linux下cp ~中关于“~”的疑问

    目的:将wi主文件夹下的.bashrc复制到/tmp,并更名为bashrc.对于书上的代码上加“~”存在疑问. cp ~/.bashrc /tmp/bashrc 对命令进行了以下尝试: 为什么不加“~ ...

  7. bzoj2755【SCOI2012】喵星人的入侵

    输入格式 第一行为三个整数n,m,K,分别表示地图的长和宽,以及最多能放置的炮塔数量. 接下来的n行,每行包含m个字符,‘#’表示地图上原有的障碍,‘.’表示该处为空地,数据保证在原地图上存在S到T的 ...

  8. LGP4173残缺的字符串

    题解 由于有通配符,所以$kmp$失效了: 将通配符看成0,其余字符看成互不相同的数字,$A,B$串对应得到$a,b$数组; 定义: $f(p) = \sum_{i=0}^{m-1} a_{i}b_{ ...

  9. windows下Python三步安装pip

    pip是用来方便地管理Python的第三方包的,由于此前玩Python仅仅是浅尝辄止,用的是python(x,y),但是这里并不代表你想用什么包都能从里面找到的,所以我把python(x,y)卸了,然 ...

  10. C++中的空类,编译器默认可以产生哪些成员函数

    C++中的空类,编译器默认可以产生哪些成员函数 C++中创建一个空类:class Empty {};默认会生成4个函数,其函数的原型如下: public: Empty() { ... } Empty( ...