Sparkstdout日志乱码-创新互联
采用Apache版本spark1.2.1时没有出现乱码,但spark-1.1.0-cdh6.2.1版本中,在分布处理的map函数里对数据进行打印输出进行debug时
创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站制作、成都做网站, 我们的网页设计师为您提供的解决方案。val rs = rdd.filter(e => {val (lable,text) = (e._2(2), e._2(3)); m.filterItem(lable, text) }) .reduceByKey((x,y) => m.merge(x, y)) .map{case (x,y) => {println(x + "\t" + y); (x._1.toLong, x._2, y(1), y(3) )}}
发现stdout文件里面中文内容乱码
(5,?????????????) List(????????????? ? ??, http://xinligs.cn.china.cn/, A0, ,???:???,,??:?????????????138?,??:7975209__??:15028078833__??:15176090928,,,,,,,,????:???????????????????????(11)???,,,,, false, 4, 7) ????????????? 17 ,???:???,,??:?????????????138?,??:7975209__??:15028078833__??:15176090928,,,,,,,,????:???????????????????????(11)???,,,,
在/var/run/spark/work/目录中查看对应app-20150605171809-0003中的stdout文件
stderr: ASCII C++ program text stdout: UTF-8 Unicode text, with very long lines
stdout是ASCII编码的,对中文肯定显示不了
在使用service启动Java程序时,机器上hadoop中stdout输出的日志也是是中文乱码
修改 /sbin/service ,在env -i 后面加上 LANG="$LANG"
重启spark的各节点
service spark-master restart service spark-worker restart
最后日志中文显示正常
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:Sparkstdout日志乱码-创新互联
文章源于:http://scyanting.com/article/djhdpc.html