zoukankan      html  css  js  c++  java
  • Hadoop学习1--解决启动过程中的问题

    方法:http://www.aboutyun.com/thread-12694-1-1.html 

    http://www.linuxidc.com/topicnews.aspx?tid=13

    http://www.cnblogs.com/kinglau/p/3270160.html

    http://www.winseliu.com/blog/2014/04/21/hadoop2-windows-startguide/

    $ bin/start-all.sh
    -bash: bin/start-all.sh: No such file or directory

    解决历程:

    1、一堆人说是没权限,把当前登陆用户对Hadoop文件夹的权限,设置为完全控制。

    结果:不起作用

     2、参考这篇文章 http://blog.sciencenet.cn/blog-288615-493280.html

    结果:无效

    3、看日志,http://www.linuxidc.com/Linux/2012-04/59200.htm有一段

    15/07/13 23:07:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    有一篇文章说,库类型和平台不一致,突然想到,安装cygwin时,64位版本安装失败,后来32位的反倒安装成功了。

    明天试一下,重新安装个64位版本试试。

    结果:无效

    4、再次尝试。网上遇到上述问题,日志里都有error,而我这里,肉眼检查了几遍,也没找到。

    使用以下命令打印日志详情,

    $ export HADOOP_ROOT_LOGGER=DEBUG,console

    $ bin/hadoop fs -text /test/data/origz/access.log.gz

    依然没有找到error

    很费解,于是,把命令窗口的日志复制到文本中,全文搜索error,

    见证神奇的时刻来了!

    发现了这么一段:

    15/07/14 16:58:01 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path

    好高级的错误,这也行!

    沿着这条路继续走下去=>

    http://blog.csdn.net/bamuta/article/details/13506843

    我发现了libhadoop.so的快捷方式,也有libhadoop.so.1.0.0

    把后者改名,尝试,涛声依旧。

    http://blog.csdn.net/xichenguan/article/details/38797331

    查了下,发现前者是后者的一个快捷方式(姑且这么叫,因为我的确不知道在linux中该叫啥)

    有的说这个版本问题,就是这东西,下载下来是32位的,如果在64位系统中安装,需要自己编译一个。

    一边查怎么编译,一边隐隐的觉得有什么地方不对劲。

    姑且不论这也是大公司提供的东西,就冲着这是个开源的东西,总不会这么不智能吧?就不能提供一个成品?

    接着查!果然,从Hadoop2.5版本后官方已经提供64位版本了。

    顺便还学到了怎么验证当前版本的命令

    一路cd到这个文件的目录下:..../lib/Native

    file libhadoop.so

    就可以看到,果然,我机子上装的就是64位。

    ---------光明啊,又破灭了,一丝凉风吹来。。。没关系,转向继续

    在上面那句报错日志之后,是一串的目录,总觉得是路径配置的不对

    D: oolsCygwinhomelenovohadooplib ative

    会不会是这种路径,在这个伪linux系统下,不认识呢,隐约记的前两天看到过一个文章说路径要这样来配置:

    Cygwin/d/tools/Cygwin/bin...

    于是,找了环境变量里的path,和用户变量:HADOOP_HOME(没有自己加),统统改为Cygwin/d/tools/Cygwin/bin

    再来格式化!!!!!

    错误消失!!!!!!!!!!!!!!!

    好艰难的一步。

    到最后一步,执行bin/start-all.sh

    一直失败,

    -bash: bin/start-all.sh: No such file or directory

    几近崩溃啊

    最后抱着试试看的心理,给我参照的博客的作者回复了一下,没想到让我柳暗花明了

    再次隆重推出这篇文章:http://www.cnblogs.com/kinglau/p/3270160.html

    作者说,从2.xx版本后,-all.sh文件就换了目录了!

    在sbin

    no zuo no die!

    总算解决了这个东西了,这就像委将对想引用设置到对象实例一般神级的存在。

    感觉这个路上绕的时间有点长了。

    前置工作没做好。

    开始换个方向:

    1、学习下Linux系统,不需要太深入,先了解下基本的操作使用,这样对大部分命令就有个初步的认识了。

    2、直接在Linux系统上安装,避开由于环境带来的困扰,毕竟,要不变初心才好,而初心,是学习Hadoop。

    从下一篇开始走新路。

  • 相关阅读:
    【转】Java并发编程:synchronized
    【转】Java并发编程:Thread类的使用
    【转】Java并发编程:如何创建线程?
    【计算机二级C语言】卷005
    【计算机二级C语言】卷004
    【计算机二级C语言】卷003
    【计算机二级C语言】卷002
    【计算机二级C语言】卷001
    汇编窥探Swift String的底层
    【KakaJSON手册】08_其他用法
  • 原文地址:https://www.cnblogs.com/xyang/p/4642964.html
Copyright © 2011-2022 走看看