hadoop 安装错误收集

[root@hadoop2 ~]# hadoop namenode -formatjava

DEPRECATED: Use of this script to execute hdfs command is deprecated.node

Instead use the hdfs command for it.shell

Error: Could not find or load main class "-Djava.library.path=.usr.local.hadoop.lib"apache

解决办法:oop

把hadoop环境变量的hadoop_opts引号两端的\\去掉this

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"spa


Run on Hadoop编译程序时,出现以下错误:
        WARN mapred.JobClient: No job jar file set.  User classes may not be found. See JobConf(Class) or JobConf#setJar(String)
        缘由是由于job.setJarByClass使用了xxx.class的类加载器来寻找包含该类的Jar包,而后设置该Jar包为做业所用的Jar包。可是咱们的做业Jar包是在程序运行时才打包的,而xxx.class的类加载器是AppClassLoader,运行后咱们没法改变它的搜索路径,因此使用setJarByClass是没法设置做业Jar包的。
        将本工程导出的jar包放到工程根目录下面,并在提交程序前添加下面的设置:
        conf.set("mapred.jar", "xxx.jar"); //其中,xxx.jar是你导出的jar文件名,注意第一个参数不要拼写错了。

六、Run on Hadoop编译程序时,出现以下错误:
        org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=xxx, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x
        由于Eclipse使用Hadoop插件提交做业时,会默认以xxx身份去将做业写入hdfs文件系统中,对应的也就是HDFS上的/user/xxx,个人为/user/root,因为xxx用户对hadoop目录并无写入权限,因此致使异常的发生。解决方法为:放开 hadoop目录的权限 , 方法有二:
        (1)执行以下命令
        $ hadoop fs -chmod 777 /user/root
        (2)修改Hadoop配置
        修改hadoop的配置文件:conf/hdfs-core.xml,找到dfs.permissions的配置项,将value值改成false,具体以下:
        
            dfs.permissions
            false
            
                If "true", enable permission checking in HDFS.
                If "false", permission checking is turned off, but all other behavior is unchanged.
                Switching from one parameter value to the other does not change the mode, owner or group of files or directories.
            
        
        修改完后重启下hadoop的进程使之生效便可。
------------------------------------------------end------------------------------------------------

七、MapReduce操做HBase出现以下错误:
        Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
        Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
        这是由于Hadoop在调用HBase包时找不到相应jar包,解决办法是将HBase目录下的hbase-0.90.4.jar和lib目录下的zookeeper-3.3.2.jar包拷贝到hadoop/lib下便可,其它这类问题相似。

八、MapReduce操做HBase出现以下错误:
        org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table
        这是由于HBase中不存在要插入数据的表,在hbase shell中手工建立表格create 'xxx', 'xxx'便可。

九、MapReduce跑job时若是出现以下错误:
        java.lang.RuntimeException: java.lang.ClassNotFoundException
        这是由于Hadoop在找class时没有从jar包中找而出错,解决办法是删除除开jar和.java文件外的全部目录和文件便可。插件

相关文章
相关标签/搜索