学习大数据整理的相关bug集

6-14

1、安装mysql时,因为多次启动mysql服务,所以会显示PID file找不到,需要查看进程ps -ef | grep -i mysql,然后kill -9 所有的进程号,然后重新启动mysql服务。

2、挂载光盘时,说找不到sr0是因为在虚拟机里面没有把对应的ios镜像1加入进去。

 

3、linux上部署web项目,然后在在win的浏览器上输入地址可以正常进行浏览,

步骤:1、将win上的eclipse上的项目打成war

      2、在linux上解压Tomcat的包

      3、把war包放入到linux里面的Tomcat里面的WebApps里面

      4、在bin目录里面,启动Tomcat(./startup.sh)

      5、在win上的浏览器上输入地址 主机名:8080/项目名/

4、配置yum源时,执行repolist显示的文件数错误,要检查挂载的光盘是否正确,CentOS-Local.repo里面的路径是否正确。

5、eclipse上运行mapreduce程序总是显示加载不到本地的hadoop库,是因为导入的编译的hadoop的包不对,环境配置错误,有时会显示winutils.exe不存在,需要将此文件在官方网站下载,放到bin目录下去。

6、运行mapreduce时显示加载不到主类,是因为导入的Junit的包不正确,需要正确导入

7、运行时报错是显示一个nativeIO这个源码有问题,可以将改源码复制到该项目下,把代码中的一个access方法里面的return的返回值改写成true即可,粘贴该源码包后可能会显示缺少一个jar包,需要把JRElibrary删除再重新导入即可

8、使用Python脚本去解析json时,需要注意脚本的格式问题,因为Python对格式要求很严格。

9、动态分区单条插入数据时,前面表的partition里面必须是该表指定的分区,在select后面也需要加上分区字段。

10、运行sqoop命令时报错

 

是因为MySQL-connector-java包的问题,换一个jar包试一下就可以了。

11、azkaban正常启动在浏览器创建项目报错

 


 

解决办法:是azkaban安装的配置文件有问题,检查安装的配置文件,然后重新启动再尝试。

12、namenode两台都是standy模式

  原因:journalnode里面的元数据有问题,需要把journaldata删除掉然后重新格式化一下。

13、resourcemanager两台都启不起来---------

  原因:查看log日志,发现里面显示错误是zookeeper的问题,此时就需要检查zookeeper的配置信息,然后重新启动一下,如果还是不可以,需要删除zookeeper里面的除了myid意外全部删除,然后重新配置一下zookeeper,重新启动即可。

14、namenode启动不起来报错

 

解决办法:把活跃的namenode节点上的current里面的文件全部发送到这个启动不起来的这个节点上,再重新手动启动一下namenode就可以启动成功了。

15、hbase安装成功,jps进程都在,进入hbase shell命令,进行创建表时报错如下:

 

解决办法:删除HDFS上的hbase的文件和zookeeper上的hbase的文件,然后重新启动hbase即可。

原因:hbase和zookeeper的数据不一致。

16、集群正常,再eclipse里面运行一个mapreduce程序后,在Linux上运行hadoop fs -cat /version.txt可以查看到改文件的内容,在eclipse上打开改文件显示不存在,在浏览器上去查看报错如下:

 

解决方法:

所编译的安装包的配置文件有问题

17、启动时显示已经启动,但是jps也查找不到该进程

 

解决方法:

Ps -ef | grep 9000

然后kill -9 进程号

然后重新启动

18、当一个集群进入安装模式的原因有哪些?

答:1)一开始启动时会进入安装模式,等一会就可以了

2)丢数据,强制脱离安装模式

19hdfs回收站:因为HDFS的文件有时很大,删除后也会有很大的影响,(Linux没有回收站)通过配置文件就可以设置回收站

一个HDFS集群安全很重要

1)三个副本

2)校验文件:根据数据块去实现校验文件,量很大

20、安装storm,启动时报错

 

解决办法:http://storm-project.net/downloads.html 重新下载 正式的storm版本

同时需要注意配置文件里面的空格

21、把编写Storm的程序,打成jar包在Linux里面去运行会显示版本问题,原因是win上的java版本和Linux上的java版本不一致导致的,另外Storm的版本之间也有一定的区别,在编写代码时之前的版本和最新版本之间的API发生变动,类包已从“backtype.storm”更改为“org.apache.storm”。如果虚拟机中storm环境是新版本,想运行旧版本的程序打jar包运行的话,需要删除老版本的包,重新加载新版本的jar包,确认没有错误后,再打jar包到虚拟机运行。

22.Linux上安装redis时,make test开始会显示tcl找不到或是jmlc等找不到,需要重新下载即可。

23、在IDEA中创建maven项目时,下载完jar包后在会显示以下的jar包是未知的

 

此时需要执行如下操作

 

24、IDEA上运行代码时会报错如下:

ClassNotFoundException

此时,需要删除maven下的所有的依赖包,然后重新下载

25、安装historyServers时报错

 

解决办法:

需要检查配置文件,如果是高可用需要输入HDFS地址是hdfs://myha01/sparklog

如果是普通集群需要填写namenode主节点的的地址

 

26、给予yarnspark提交任务报错

 

 

错误二:

在脚本中运行会显示jar包不存在,拿出来命令运行就可以运行成功

原因:在脚本中的\后面应该有空格,需要删除空格然后在回车去编写下一条命令就可以执行了。

 

错误三:

 

在yarn配置里面添加

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>2.3</value>

</property>

参数解释:每使用1MB物理内存,最多可用的虚拟内存数。

默认值:2.1

27、启动spark-sql报错

 

解决办法如下两种方式:

本地模式:

 

Yarn模式:

 

 

28、finally里面进行资源的释放,原因是可以保证释放一定得到执行。但是如果有异常的话,程序就不会继续执行,资源释放不释放都没有意义啊。此外,当你修复了异常之后,自然就会运行到资源释放的语句,也不需要特意将释放语句放到finally里面??

答:我们目前都是一个线程的,所以看不到效果,当出现没有被捕获的异常,是当前线程终止,而不是Java程序终止。因此,如果有其他的线程,整个程序还是会继续执行的

29、   arr.sort((a,b)->Integer.valueOf(a.getName().compareTo(b.getName())));

System.out.println("name排序后集合--"+arr);

arr.sort((a,b)->Integer.valueOf(a.getId()).compareTo(b.getId()));

   System.out.println("id排序后集合--"+arr);

为什么使用那么比较的时候需要放在valueOf方法的里面,而使用id进行比较时只需要把getId放在valueOf的里面??

答:因为nameString类型,前面的Integer.valueOf也可以直接去掉,而id定义的是int类型的,compareTo方法需要包装类才可以使用,所以需要使用Integer.valueOf方法进行转换然后再使用CompareTo方法进行比较。

30、反射

 

使用红色部分就会出现没有这个方法的错误如下,而使用forName方法就会正常运行,为什么??

 

答:因为使用getClass方法最终的返回类型是creatInstance方法里面的String类型,并不是Personclass类,如果使用getClass方法需要再去创建Person类的对象,或是把String类型的className变成Class类型,这样使用就比较麻烦,所以还是使用forName的方法比较好一些。

 

31. JDBC API中在写db.properties里面不能写分号,不然就会报错找不到类

32. Eclipse里面运行servlet的代码时,链接数据库进行登录的验证时,创建的User类需要加入无参的构造器,不然就会报错没有初始化User,因为在使用反射的时候会调用无参的构造方法

 

33. 使用servlet实现的书城的项目时报错

 

 

原因:

   BookServlet里面的判断语句

if(request.getAttribute("name") == null){

request.setAttribute("msg", "璇峰厛鐧诲綍锛�");

request.getRequestDispatcher("login.jsp").forward(request, response);

}

不应该是request.getgetAttribute,应该是在session里面去获取我们的name值,在show.jsp里面的判断应该也是session去获取。因为我们request获取时每次都是空值,所以会获取不到我们的值

 

解决办法:

把request改写成session,并在BookServletif判断里面加上return,因为在不满足条件时它还会执行下面的语句还会不断的进行中定向等操作。

34. 在使用异步传输去实现书城项目时,部署好项目,启动Tomcat报错

 

报错原因:

解决办法:

35. 使用科学计数法表示浮点类型,eE是表示以10为底,用在十进制中。pP是表示以2位底,用在十六进制中,因为十六进制e是个特殊值,表示14,所以不能再用e来表示底数了。因此,十六进制用p

36. 启动其中一台节点的zookeeper时,虚拟机总是报错错误,然后被迫关机,其他的几个节点都能正常启动

报错信息是cannot open channel to xxxx:2888/3888

原因:没有关闭防火墙

开机关闭;chkconfig iptables off

37.启动zookeeper后出现noClassFound等等错误,例如:

Exception in thread "main" java.lang.NoSuchMethodError: method java.lang.management.ManagementFactory.getPlatformMBeanServer with signature ()Ljavax.management.MBeanServer; was not found.

at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:48)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:114)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:103)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:7

可能原因是该服务器jdk版本不正确,或是环境变量未设置好。

例如,原来的linux下已经装有jdk-1.4,然后又安装了新版本的jdk-1.6,我们按照网上教程的步骤安装好zookeeper并设置环境变量后,

echo $JAVA_HOME显示java-1.6,

但是用java -version命令发现,仍然显示java-1.4,说明环境变量未配好。zookeeper读取的jdk版本仍然是旧版本的jdk-1.4。

解决方法是在/etc/bashrc文件的末尾,

export JAVA_HOME=/usr/java/jdk1.6.0_23

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

//这里要注意,应该将$PATH放在尾部而不是放在头部,网上有安装教程写的是$PATH :$JAVA_HOME/bin,这样zookeeper读取的将是$PATH中的jdk旧版本而出错。

export CLASSPATH=.:$JAVA_HOME/lib/*.jar

38.Zookeeper能够正常启动,但是显示如下错误:

Starting zookeeper…

./zkServer.sh: line 80: /home /sysdata/zookeeper/zookeeper-data/zookeeper_server.pid: No such file or directory

STARTED

在配置文件zoo.cfg文件中指定了zookeeper启动的pid文件的生成位置:dataDir=/home /sysdata/zookeeper/zookeeper-data,但是我们发现该pid并没有生成。而且想要停止zookeeper显然也不能成功:

Stopping zookeeper ...

error: could not find file /zookeeper_server.pid。

原来是我的zoo.cfg文件中的给dataDir路径赋值前多了一个空格!zookeeper在读取此配置文件时会把空格也读进文件名(脚本咋这不智能呢),将此空格删去后zookeeper启动、关闭就正常了!

zoo.cfg文件很不智能,还有就是注释的时候#后边还得加一个空格。

39. spark获取的文件设置成snappy压缩格式,怎么去读取这个压缩格式??

  应该使用sqlContext.read().parquet(输入路径);最后的参数时一个DFarme

40. spark运行dmp项目中的app功能实现报错:

 

可能是在配置configuration时粘贴路径的时候\编码有问题,如果还报错需要手动加入路径

 

41. 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值