标签:表数 mysq 关于 art more 外网 cal 解决 信息
上海尚学堂谦先生的bug日志之hive启动权限问题
这几天开始做新老集群的迁移,今天开始对hive的所有数据进行迁移,主要是表的元信息和表数据。表的元信息我们存在mysql中,跟hive的服务器并不在同一个服务器上,因此这块我们不用怎么操心。但是表数据的话,我们就把hdfs的目录给迁移过去就可以了,我们用到了hadoop的快速分布式拷贝,中间会遇到一些关于数据如何避免走外网的问题,这里就不深入叙述。然后今天在迁移hive的时候,我是从老集群把hive给scp过去的,因为用户没切换过来,出现了如下问题:
Logging initialized using configuration in file:/usr/local/hive-0.13.1/conf/hive-log4j.properties
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Permission denied
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:330)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1989)
at org.apache.hadoop.hive.ql.session.SessionState.createTempFile(SessionState.java:432)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:328)
... 7 more
后来把对应的文件权限给到执行的用户后问题就解决了,这里给我们的一个教训就是,做迁移的时候必须注意权限的问题,不然麻烦时有发生。(上海尚学堂大数据培训谦先生原作,请多关注后续更多大数据相关技术文章)
问题原由:
1、hive-log4j.properties无读取权限
2、创建临时文件需要/usr/local/hive-0.13.1/tmp的写入权限
解决办法:
1、修改hive-log4j.properties的读取权限
2、修改/usr/local/hive-0.13.1/tmp文件的读取与写入权限。
标签:表数 mysq 关于 art more 外网 cal 解决 信息
原文地址:http://www.cnblogs.com/shsxt/p/7662466.html