让我来救人 !!!!!!!!!!!!!!!!
很简单,不是什么 mysql-connector-...... jar的问题(可以先忽略,我用的就是5.1.40)
1.编辑Hadoop/etc/hadoop.mapred-site.xml
这些基于集群之外,专门为该错误提供的5项property
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxmaps</name>
<value>4</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxreduces</name>
<value>1</value>
</property>
<property>
<name>mapreduce.job.ubertask.maxbytes</name>
<value>2147483648</value>
</property>
2.调整执行主体,将localhost调整为master
调整前
sqoop import --connect jdbc:mysql://localhost:3306/test?useSSL=false --username root --password 123456 --table test1 -m 1
调整后
sqoop import --connect jdbc:mysql://master1:3306/test?useSSL=false --username root --password 123456 --table test1 -m 1
3.将主机和从机(集群)的映射名(或者ip)设置全部权限,添加到MySQL的数据库中
直接添加即可
grant all privileges on * . * to root@ip地址 identified by '密码';
grant all privileges on * . * to root@172.18.0.2 identified by '123456';
flush privileges;
grant all privileges on * . * to root@172.18.0.3 identified by '123456';
flush privileges;
grant all privileges on * . * to root@172.18.0.4 identified by '123456';
flush privileges;
#也可以最后刷新
flush privileges;
调整完成这三部之后
重新启动集群,启动mysql(mysql添加权限,不用重启,保证启动状态即可)
即可
使用sqoop将mysql数据导入hdfs中
如果,救到了大家,就先转发一下吧!!帮助更多伙伴