Sqoop抽取数据到MySQL时遇到的一个坑

背景

对数据进行标准的ETL流程的操作
Sqoop == data > Hive ETL sqoop ==> MySQL

xxx.properties文件

mysql_driver="jdbc:mysql://localhost:3306/ruozedata_bi"
mysql_username="root"
mysql_password="root"

driver_rep="jdbc:mysql://localhost:3306/bireport?useUnicode=true&characterEncoding=utf8"
username_rep="root"
password_rep="root"

HOSTNAME="localhost" 
PORT="3306"
USERNAME="root"
PASSWORD="root"
DBNAME="bireport" 

tables=ruozedata_operatetrendandcity_rep,ruozedata_dealcompany_rep

第一次报错

The driver has not received any packets from the server.

大概意思是mysql连接超时,解决步骤:

  1. 修改driver_rep:
    jdbc:mysql://localhost:3306//bireport?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false

  2. 修改/etc/my.cnf
    wait_timeout=31536000
    interactive_timeout=31536000

重启mysql

没有效果,再度报错:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2251)
        at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2104)
        ... 31 more
Caused by: java.net.UnknownHostException: localshot
        at java.net.InetAddress.getAllByName0(InetAddress.java:1259)
        at java.net.InetAddress.getAllByName(InetAddress.java:1171)
        at java.net.InetAddress.getAllByName(InetAddress.java:1105)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:188)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)

定位到原因:Caused by: java.net.UnknownHostException: localshot
修改localhost为机器的ip即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值