Daily Archives: September 25, 2015

New way of using our jar first

use own jar instead of default jars.   ADD mapreduce.job.user.classpath.first=true in DgSecure machine /etc/hadoop/conf mapred-site.xml   ... Read More | Share it now!

Hadoop应用引用第三方jar的几种方式

  简单来说,Hadoop引入第三方jar包有以下几种方式: 一、把引用到的所有的第三方jar包打到一个jar包内,形成一个超大包,像上一篇文章中提到的第二种引入jar之后打包的方式; 二、把引用到的所有的第三方jar包放到Hadoop的lib目录下,需要Hadoop集群中的每个节点都要放; 三、把jar包放在集群中固定的一台机器上,使用libjars命令加载第三方jar; 四、把jar包放在HDFS上,动态加载第三方jar包。   接下来对这几种方式的优缺点,说一下我个人的见解:   一、把引用到的所有的第三方jar包打到一个jar包内 优点:在hadoop集群上可以直接运行,运行命令也是比较简单; 缺点:把所以的jar包放在一起,文件过大,考虑到加入升级版本的话,引用的第三方jar文件一般不会发生变化,这种打包方式每次都要把第三方jar文件打包在一起上传。 这种打包方式在上一篇文章中《Hadoop应用引用第三方jar的几种方式(一)》已经进行了演示和说明,个人不太建议这种方式。   二、把引用到的所有的第三方jar包放到Hadoop的lib目录下 优点:在hadoop集群上可以直接运行,运行命令也是比较简单; 缺点:集群中的每个节点下都需要放置第三方jar,缺一不可,不够灵活,当版本升级的时候,需要对每一台机器上的jar包进行维护,不太容易进行维护。 对于这种方式,我没有进行实验,理论上来说是可行的,个人不太建议这种方式。   三、把jar包放在集群中固定的一台机器上,使用libjars命令加载第三方jar 优点:只需要维护hadoop集群中的一台机器上的lib库,易于系统的维护; 缺点:只能在存放jar的机器上去执行hadoop... Read More | Share it now!