在我们的网络中,我们对mysql数据库有非常明确的访问控制。在编写了一个sqoop命令之后,我们发现sqoop正在尝试从hadoop集群中的一个服务器连接mysql。hadoop集群中的服务器将无法连接到mysql数据库。有没有办法告诉sqoop从执行sqoop命令的本地机器连接mysql?
iswrvxsc1#
sqoop自然作为map reduce作业运行。因此,从mysql复制数据的进程可以在集群上的任何主机上运行,并且通常会有多个进程同时从mysql读取数据。但是,我认为可以在“local”模式下运行sqoop,通过传递来停止它在map reduce上的运行 -jt local 命令,例如:
-jt local
sqoop [tool-name] -jt local [tool-arguments]
但是,如果需要并行运行导出,这可能会慢得多。注意,我没有亲自测试过。
1条答案
按热度按时间iswrvxsc1#
sqoop自然作为map reduce作业运行。因此,从mysql复制数据的进程可以在集群上的任何主机上运行,并且通常会有多个进程同时从mysql读取数据。
但是,我认为可以在“local”模式下运行sqoop,通过传递来停止它在map reduce上的运行
-jt local
命令,例如:但是,如果需要并行运行导出,这可能会慢得多。
注意,我没有亲自测试过。