mysql - 使用Sqoop从mysql导入数据到Hadoop但是失败

标签 mysql hadoop

我尝试使用以下命令通过 Sqoop 导入数据。

sqoop import -connect jdbc:mysql://localhost/test_sqoop --username root --table test

但我收到连接拒绝错误。

我发现我无法连接到 mysql 并收到此错误:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

而且我还发现如果不执行start-dfs.shmysql.sock存在于/var/lib/mysql/mysql中.sock

mysql

执行start-dfs.sh后,mysql.sock就会消失,无法连接到mysql。

start-dfs.sh

下面是/etc/my.cnf配置。

datadir=/var/lib/mysql
套接字=/var/lib/mysql/mysql.sock

最佳答案

  • jdbc 字符串应为:jdbc:mysql://localhost:3306/test_sqoop ,最佳实践是使用服务器名称 intesad localhost127.0.0.1 。您可以通过此命令 hostname -f 获取服务器名称。所以jdbc字符串应该是jdbc:mysql://servername:3306/test_sqoop - 将服务器名称替换为 hostname -f 的输出命令。
  • 您需要-P--password--connection-param-file将密码传递给sqoop命令。 sqoop不读取 .my.cnf文件。 - 请参阅用法here

关于mysql - 使用Sqoop从mysql导入数据到Hadoop但是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422130/

相关文章:

php - 如何扩展从 MySQL 导入的类别列表

php - mysql 返回的数组出现错误

hadoop - 删除托管(非外部)表时,不会删除 hdfs 上的配置单元文件

hadoop - Pig 用户定义的函数不理解什么是 eval function()

java - Linux 中的 Oozie 4.0.1 构建错误

php - 如何对从数据库导入的多个数组使用循环

列的数据类型更改后的 MySQL 警告

asp.net - 我需要编辑 100,000 多个产品

java - Apache Pig:轻量级Java客户端

java - 如何在Hadoop 2.7.5中获得用户输入?