Hadoop,Hbase,Zookeeper错误日志及部分解决办法(2)

在重新启动HBase服务的时候可能会出现如下的错误:

INFO ipc.HbaseRPC: Server at /227.23.56.100:60020 could not be reached after 1 tries, giving up.

出现这个错误的原因可能会有很多,比如各个配置文件中的地址不一致等,但我这里给出的一个可能原因是端口号被其他某一进程占用,或者还是HBase进程使用着,但此服务(或说此端口)已经不再可用,解决的方式为:通过此端口查找到对应的进程,然后杀死对应的进程,再重启HBase服务,你会发现上面出现的错误将消失,服务启动正常。

具体步骤为:

1、  lsof -i:60020                  2、  kill -9 PID(进程ID)                      3、  重启HBase服务。

FAILED: Error in metadata: MetaException(message:org.apache.Hadoop.hbase.MasterNotRunningExceptio

n: dfsname1.cptrue.com:60000

最近在做数据挖掘方面的事情,需要hive+hbase表,但是使用hive链接hbase现有的数据库时,总是抛异常。

FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningExceptio

n: dfsname1.cptrue.com:60000
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:394)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:83)
        at org.apache.hadoop.hive.hbase.HBaseStorageHandler.getHBaseAdmin(HBaseStorageHandler.java:74)

………………………………

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
下面是我的hiveql语句

hive> create EXTERNAL table hbase_table_log(key string, label bigint) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'          
    > with SERDEPROPERTIES ("hbase.columns.mapping"=":key, b:label")                                                    
    > TBLPROPERTIES("hbase.table.name" = "log");    

解决方案:这个问题基本就是hive+hbase版本的问题,你需要将你所使用的hbase的jar包拷贝到hive的lib目录下进行替换,这还不算结束,你需要将hbase-site.xml拷贝到conf目录下面。在不重启hive的情况下,重新建立external table,恭喜,运行成功!!!

这里需要注意的地方是with下面的mapping,它对应的值":key,b:label",不能出现空格,否则它会告诉你

FAILED: Error in metadata: MetaException(message:Column Family  b is not defined in hbase table log)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

希望大家日后遇到这个问题的时候,可以顺利解决!

FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException: CNC-JN-R-541:60000 

出现这个错误的原因是我引入的hbase包和hive自带的hive包冲突,删除hive/lib下的 hbase-0.89.0-SNAPSHOT.jar, OK了。

FAILED: Error in metadata: MetaException(message:Column Family department is not defined in hbase table hello)

当使用hive相关管理已经存在的hbase 多列table时,出现上面错误,而且列族“department ”的确存在,最终发现原因是:在hive中使用CREATE EXTERNAL TABLE 创建表的时候,"hbase.columns.mapping"的值中不能包含空格


hdfs中,提示权限错误:

代码如下:
public class Loadup {
public static void main(String[] args) throws Exception{
final int piece=10;
String localSrc=args[0];
String Dst=args[1];
Configuration conf=new Configuration();
InputStream in=new BufferedInputStream(new FileInputStream(localSrc));
FileSystem fs=FileSystem.get(URI.create(Dst),conf);
OutputStream out=fs.create(new Path(Dst),new Progressable(){
public void progress(){
System.out.println("copy:......");
}
});
IOUtils.copyBytes(in, out, 4096,true);
System.out.println("success");
}
}
报错情况如下:

Exception in thread "main" org.apache.hadoop.security.AccessControlException:

org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo-pc\lenovo, access=WRITE, inode="hadoopnode":hadoopnode:supergroup:rwxr-xr-x
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

解决办法如下:
hadoop fs -chmod 777 /user/input
hadoop fs -chmod 777 /user/output

hadoop fs -chmod 777 /user/hadoop

Hadoop】集群之外的机器如何连接到集群并与HDFS交互,提交作业给Hadoop集群

转自:

集群以外的机器如何访问Hadoop集群,并像集群中提交作业和传送数据
(1)首先,在机器上安装nutch或者hadoop
(2)配置两个文件
hadoop-site.xml:
<configuration><property>
 <name>fs.default.name</name>
 <value>hdfs://gc04vm12:9000</value>
 <description> </description>
</property>

<property>
     <name>mapred.job.tracker</name>
 <value>gc04vm12:9001</value>
 <description> </description>
</property>

</configuration>

(3)这样便能执行命令,查看集群状态,向集群提交作业


(4)hdfs中的用户
使用root登陆而hadoop中没有创建root用户时,使用如下命令时,查看到的就不是nutch用户主目录 /user/root了
[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -ls   执行此命令时,即是列出/user/root(root用户主目录)目录下的文件或目录
ls: Cannot access .: No such file or directory.  没有此目录

[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -ls /
Found 3 items
drwxr-xr-x   - nutch supergroup          0 2010-05-21 00:42 /tmp
drwxr-xr-x   - nutch supergroup          0 2010-05-21 00:53 /user
drwxr-xr-x   - nutch supergroup          0 2010-05-21 00:55 /usr    这个是什么?

[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -mkdir x  主目录(/user/root)中创建x目录,提示以下信息
mkdir: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="user":nutch:supergroup:rwxr-xr-x
这是因为root用户对/user/目录没有写权限(drwxr-xr-x   - nutch supergroup          0 2010-05-21 00:53 /user)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswjd.html