我曾经使用过Datapoc(图像版本1.1)和Zeppelin 0.62来创建存储在Google Cloud Bucket中的hive表。现在,我通过遵循https://zeppelin.apache.org/docs/0.7.1/interpreter/spark.html创建了另一个使用Zeppelin0.71的DataProc1.2版。一旦每个外部组件( MySQL服务器上的配置单元元存储、齐柏林飞艇)完全初始化,我使用以下命令查询所有配置单元表
%sql
show tables但未返回从以前版本的Dataproc创建的表。我重新检查了zeppelin.sh和cloud-sql-proxy.sh的初始化脚本,它们是正确的。然后我重新检查了hive.metastore.warehouse.dir的值,它与以前版本的Dataproc中使用的值相匹配,但这次Spark2.2.0改为spark.sql.warehouse.dir (请参阅https://issues.apache.org/jira/browse/SPARK-15034)。
然后,我创建了一个新的配置单元表table_zeppelin,并且内容被正确地存储在存储桶中。当我通过show tables进行验证时,该表如期出现。但是,一旦我重新启动齐柏林飞艇,重新运行show tables,我什么也得不到。奇怪..。因为table_zeppelin的内容已经在存储桶中了。一旦我验证了存储配置单元元数据的MySQL实例中的表table_zeppelin,我就没有看到TBLS。我猜是蜂巢转移出了什么问题。
令人惊讶的是,当我创建另一个hive表时,table_spark,但这次是通过spark-shell,一切都像预期的那样工作。当我运行show tables时,我得到了table_spark和在以前的Dataproc版本中创建的所有表,但没有得到之前通过Zeppelin0.71创建的table_zeppelin。MySQL实例的TBLS表中也包含table_spark。我很确定在齐柏林飞艇0.71中设置蜂巢转移点有问题,因为齐柏林飞艇不能对转移点进行任何读/写。我可以确认在zeppelin-env.sh中将SPARK_HOME设置为指向Dataproc Spark是正确的。
下面是我的集群创建脚本:
gcloud dataproc --region us-west1 clusters create coco-cluster --bucket rcom_dataproc_dev --zone us-west1-a --master-machine-type n1-highmem-4 --master-boot-disk-size 500 --num-workers 3 --worker-machine-type n1-highcpu-8 --worker-boot-disk-size 500 --image-version 1.2 --project true-dmp --initialization-actions 'gs://dmp_recommendation_dev/env_dependencies/cloud-sql-proxy.sh','gs://dmp_recommendation_dev/env_dependencies/zeppelin.sh' --scopes cloud-platform --properties hive:hive.metastore.warehouse.dir=gs://rcom_dataproc_dev/hive-warehouse --metadata "hive-metastore-instance=true-dmp:asia-northeast1:rcom-metastore-sql,hive-metastore-db=hive_metastore_dev"注意:存储配置单元转移存储的MySQL实例位于亚洲,但集群位于美国。我不认为这是造成这种情况的原因。
所以我的问题是,如何设置Zeppelin 0.71来识别Google Cloud SQL实例中的Hive Metastore?
谢谢
Peeranat F.
发布于 2017-08-29 10:47:06
感谢你的详细复制品--这在(未发布的)齐柏林飞艇0.8:https://issues.apache.org/jira/browse/ZEPPELIN-2377中得到了修复。
我们将把这个修复移植到我们的包中,并在未来几周内编辑这篇文章,当它推出时。
同时,命令行上的spark-shell/spark-sql/spark-submit和通过Dataproc API的spark/spark-sql应该仍然有效。
https://stackoverflow.com/questions/45882501
复制相似问题