
搭建过程和配置文件专门用 VuePress 记录了一下:前往日志
集群单个节点的配置:1VCPUs 2GB 5Mbps , 内存分配策略:参考了 Linode 的 2GB 节点配置教程
服务器用的廉价的阿里云的轻量应用服务器学生版,几个同学一人一台,拼凑了一个拥有 5 个节点的集群。
使用 Hive 导入社交用户数据 CSV 文件,使用 SQL 塞选出用户表中的共同爱好、共同好友。
在这个集群上做简单的 Map 和 Reduce 作业是极其缓慢的,从 0% 跳到 100%可能会经历数十分钟,效率堪忧。由于各个节点是同学自己买的,不能走 VPC 内网互通,只好用公网互通。怀疑问题会出现在这里
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1 2019-01-09 19:56:25,499 Stage-1 map = 0%, reduce = 0% INFO : Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1 INFO : 2019-01-09 19:56:25,499 Stage-1 map = 0%, reduce = 0% 2019-01-09 19:57:26,238 Stage-1 map = 0%, reduce = 0% INFO : 2019-01-09 19:57:26,238 Stage-1 map = 0%, reduce = 0% 2019-01-09 19:58:26,818 Stage-1 map = 0%, reduce = 0% INFO : 2019-01-09 19:58:26,818 Stage-1 map = 0%, reduce = 0% 2019-01-09 19:59:27,374 Stage-1 map = 0%, reduce = 0% INFO : 2019-01-09 19:59:27,374 Stage-1 map = 0%, reduce = 0% 2019-01-09 20:00:27,878 Stage-1 map = 0%, reduce = 0% ... 2019-01-09 20:17:32,700 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.69 sec INFO : 2019-01-09 20:17:32,700 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.69 sec 2019-01-09 20:18:33,218 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.69 sec INFO : 2019-01-09 20:18:33,218 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.69 sec 使用相同的 SQL 语句换做在 E-MapReduce 上能很块跑出结果(加钱世界可及)。
1 skyqqcc 2019-01-09 20:57:25 +08:00 没玩过,看不懂 |
2 jbiao520 2019-01-09 21:04:57 +08:00 公网肯定不行的,这个带宽,说不定还不是一个地区的,延迟感人 |
3 trafficMGR OP @jbiao520 其实都是广州区的,带宽可能会不够,实际上我们数据量是很小的,绰绰有余了,至于节点之间会不会交换很大的数据块,这个我到不清楚。平均延迟 <=2ms |
4 823036978 2019-01-09 21:08:05 +08:00 via iPhone 查看 hivesql 执行计划 |
5 trafficMGR OP 2019-01-09 21:26:18 +08:00 @823036978 具体使用什么命令查看呢,我还完全是个新手,对 Hive 不熟悉。之前一直用的 Beeline 作为客户端,元数据库就用的默认的 Derby。目前之间打开 hive 命令的行工具的话,会报出 Java 运行时错误,无法实例化`..SessionHiveMetaStoreClient',看起来还是没有配置正确的样子=.=|| |
6 823036978 2019-01-09 21:39:11 +08:00 via iPhone @trafficMGR explain hivesql |
7 823036978 2019-01-09 21:41:00 +08:00 via iPhone @trafficMGR 用 CDH 吧 |
8 cye3s 2019-01-09 21:45:35 +08:00 via Android 你们 5 个人笔记本跑 linux,lan 下搭个 |
9 whatsmyip 2019-01-09 23:11:33 +08:00 数据数据量不是很大的话,应该是配置的问题吧,玩的少,具体不清楚。 跑作业任务的话,8G 的笔记本就可以了,或者向楼上说的一样,把你们每个人的笔记本放在一起,做集群。 我之前用渣渣笔记本跑了一个 master,3 个 worker,绰绰有余,就是跑起来会卡。 如果你对 docker 略微熟悉的话,这是之前基于 docker 部署 hadoop 跟 hive 的两篇文档: https://blog.newnius.com/how-to-quickly-setup-a-hadoop-cluster-in-docker.html https://blog.newnius.com/setup-apache-hive-in-docker.html |
10 trafficMGR OP @whatsmyip Docker 这个主意不错,正好我也喜欢玩 Docker,而小内存节点跑 CDH 会很吃力,非常感谢! |
11 scalaer 2019-01-10 01:13:51 +08:00 via Android hadoop 生态圈的服务已经被集成了, 比如像楼上说的 cdh, 还有 hdp, 有兴趣的话可以看看 apache ambari |
nbsp; 12 kex0916 2019-01-10 18:54:03 +08:00 看看 NameNode DataNode,NodeManager 等日志,有没有通信警告什么的 |