我试图通过我的MySQL实例上的dataproc集群运行一个简单的查询。一切都在谷歌云上。
gcloud dataproc jobs submit hadoop \
--cluster=$cluster_name \
--region=us-central1 \
--class=org.apache.sqoop.Sqoop \
--jars=$bucket/sqoop_jars/sqoop_sqoop-1.4.7.jar,$bucket/sqoop_jars/sqoop_avro-tools-1.8.2.jar,file:///usr/share/java/mysql-connector-java-5.1.49.jar \
-- \
eval \
-Dmapreduce.job.user.classpath.first=true \
--driver com.mysql.jdbc.Driver \
--connect="jdbc:mysql://localhost:3306/airports" \
--username=root \
--password-file=$pwd_file \
--query "select count(*) from flights limit 10"但是,当我运行它时,将返回以下错误:
警告tool.EvalSqlTool: SQL异常执行语句: java.sql.SQLException:拒绝用户'root'@'localhost‘的访问(使用密码: YES)
我想这意味着我的凭据是错的。但是,当我尝试使用以下命令直接登录到实例时:
gcloud sql connect 'instance_name' --user=root我登录时没有任何问题。在这一点上,网络层不可能有任何问题。我还试着创建不同的用户并测试密码,但没有什么效果。请帮帮忙。快把我逼疯了。
发布于 2021-03-16 02:09:44
要从Datproc集群连接到CloudSQL实例,您应该使用CloudSQL代理:https://github.com/GoogleCloudDataproc/initialization-actions/tree/master/cloud-sql-proxy
发布于 2021-03-16 17:13:47
我看到您已经用--password-file为您的密码指定了一个文件。您还需要将此文件用于--files=作业吗?
https://stackoverflow.com/questions/66644170
复制相似问题