我正在尝试从我的本地电脑(win7)访问远程cloudera HDFS集群。正如我在上一篇question中提出的cricket_007,我做了以下事情: 1)我创建了下一个火花会话
val spark = SparkSession
.builder()
.appName("API")
.config("spark.sql.warehouse.dir", "/user/hive/warehouse")
.master("local")
.enableHiveSupport()
.getOrCreate()
2)我从群集中删除了下一个文件:
core-site.xml
hdfs-site.xml
hive-site.xml
mapred-site.xml
yarn-site.xml
并将变量HADOOP_CONF_DIR配置到包含它们的目录
3)我下载了spark并配置了变量SPARK_HOME和SPARK_CONF_DIR
4)我下载了winutils并将其设置在路径变量中。我将/ tmp / hive的权限更改为777。
当master设置为local时,我只看到默认数据库,这意味着它不能识别xml文件。当它被设置为纱线时,屏幕被卡住,看起来我的电脑正在思考,但它花费了很多时间并且没有结束。当我使用本地时,我也使用该行:.config("hive.metastore.uris","thrift://MyMaster:9083")
一切正常。
知道为什么会这样吗?为什么localy我只看到默认数据库?为什么当主人设置为纱线我不能连接而且卡住了?为什么当我添加配置行时它只解决了我的问题?