HDFS上的根暂存目录:/ tmp / hive应该可写。当前权限为:-wx ------

Ama*_*jee 6 hadoop hive hdfs

我已经使用hdfs命令更改了权限。它仍然显示相同的错误。

HDFS上的根暂存目录:/ tmp / hive应该可写。当前权限为:-wx ------

我正在执行的Java程序。

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
import org.apache.hive.jdbc.HiveDriver;

public class HiveCreateDb {
   private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

   public static void main(String[] args) throws Exception {
      // Register driver and create driver instance

         Class.forName(driverName);

/*  try {
  Class.forName(driverName);
} catch(ClassNotFoundException e) {
  print("Couldn't find Gum");

} */     // get connection

      Connection con = DriverManager.getConnection("jdbc:hive://", "", "");

      Statement stmt = con.createStatement();

      stmt.executeQuery("CREATE DATABASE userdb");
      System.out.println("Database userdb created successfully.");

      con.close();
   }
}
Run Code Online (Sandbox Code Playgroud)

它给出了连接蜂巢的运行时错误。

线程“主”中的异常java.lang.RuntimeException:java.lang.RuntimeException:HDFS上的根临时目录:/ tmp / hive应该可写。当前权限为:rwx ------ 在此处输入图片说明

小智 5

尝试这个

hadoop fs -chmod -R 777 /tmp/hive/;

使用-R解决的问题在运行配置单元查询时遇到类似的问题。