gpt4 book ai didi

sql-server - 如何减少sqoop导出的日志大小

转载 作者:行者123 更新时间:2023-12-02 20:47:38 25 4
gpt4 key购买 nike

有没有一种方法可以控制sqoop export创建的日志的大小?尝试将一系列parquet文件从hadoop集群导出到microsoft sql server,并发现在映射器作业中的某个点之后,进度变得很慢/冻结。从hadoop Resourcemanager来看,当前的理论是sqoop作业中的日志正在填充到导致进程冻结的大小。
hadoop的新手,任何建议都将不胜感激。谢谢。

更新

从资源管理器Web界面查看sqoop jar应用程序的冻结 map task 作业之一的syslog输出,日志输出如下所示:

2017-11-14 16:26:52,243 DEBUG [communication thread] org.apache.hadoop.yarn.util.ProcfsBasedProcessTree: [ 8758 8840 ]
2017-11-14 16:26:52,243 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.security.SaslRpcClient: reading next wrapped RPC packet
2017-11-14 16:26:52,243 DEBUG [IPC Parameter Sending Thread #0] org.apache.hadoop.ipc.Client: IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490 sending #280
2017-11-14 16:26:52,243 DEBUG [IPC Parameter Sending Thread #0] org.apache.hadoop.security.SaslRpcClient: wrapping token of length:751
2017-11-14 16:26:52,246 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.security.SaslRpcClient: unwrapping token of length:62
2017-11-14 16:26:52,246 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.ipc.Client: IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490 got value #280
2017-11-14 16:26:52,246 DEBUG [communication thread] org.apache.hadoop.ipc.RPC: Call: statusUpdate 3
2017-11-14 16:26:55,252 DEBUG [communication thread] org.apache.hadoop.yarn.util.ProcfsBasedProcessTree: [ 8758 8840 ]
2017-11-14 16:26:55,252 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.security.SaslRpcClient: reading next wrapped RPC packet
2017-11-14 16:26:55,252 DEBUG [IPC Parameter Sending Thread #0] org.apache.hadoop.ipc.Client: IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490 sending #281
2017-11-14 16:26:55,252 DEBUG [IPC Parameter Sending Thread #0] org.apache.hadoop.security.SaslRpcClient: wrapping token of length:751
2017-11-14 16:26:55,254 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.security.SaslRpcClient: unwrapping token of length:62
2017-11-14 16:26:55,255 DEBUG [IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490] org.apache.hadoop.ipc.Client: IPC Client (<ipc_client_num>) connection to /<myipaddress>:23716 from job_1502069985038_3490 got value #281
2017-11-14 16:26:55,255 DEBUG [communication thread] org.apache.hadoop.ipc.RPC: Call: statusUpdate 3

此外,让该进程全天运行,似乎sqoop作业确实完成了,但是花费的时间很长(〜500 MB的.tsv数据大约需要4个小时)。

最佳答案

响应已发布问题的标题,控制sqoop命令的日志输出的方法是通过编辑$ HADOOP_HOME / etc / hadoop目录中的log4j.properties文件(因为sqoop apparently使用它继承了其日志属性(尽管根据我的判断,sqoop2可能是not))或在sqoop调用中使用-D前缀使用generic参数,例如:

sqoop export \
-Dyarn.app.mapreduce.am.log.level=WARN\
-Dmapreduce.map.log.level=WARN \
-Dmapreduce.reduce.log.level=WARN \
--connect "$connectionstring" \
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \
--table $tablename \
--export-dir /tmp/${tablename^^}_export \
--num-mappers 24 \
--direct \
--batch \
--input-fields-terminated-by '\t'

但是,我从帖子的正文中得出的最初理论认为,来自sqoop作业的日志正在填充到导致该过程冻结的大小,这似乎没有成立。在 resourcemanager ui中,映射任务的日志大小降至0字节,但是系统仍然经历了高达一定百分比的良好运行,然后下降到非常慢的速度。

关于sql-server - 如何减少sqoop导出的日志大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com