1、Hbase访问中需要设置环境变量,因此在Hbase初始化的时候要写上:
//初始化Hbase环境变量
static{
System.setProperty(“HADOOP_USER_NAME”, “******”);
}
2、用Spark在本地计算时需要设置:
SparkConf sparkConf=new SparkConf().setMaster(“local”).setAppName(“”).set(“spark.executor.heartbeatInterval”,“3600000”);
SparkContext sc= new SparkContext(sparkConf);
由于程序中的setMaster(“local”)将环境变量设为了本地用户,这样就更改了System.setProperty(“HADOOP_USER_NAME”, “sousuo”);造成了环境变量冲突而无法访问Hbase
解决办法:
在声明spark的本地设置时加上设置Hbase的环境变量:
SparkConf sparkConf=new SparkConf().setMaster(“local”).setAppName(“”).set(“spark.executor.heartbeatInterval”,“3600000”);
SparkContext sc= new SparkContext(sparkConf);
static{
System.setProperty(“HADOOP_USER_NAME”, “sousuo”);
}