搭建过程和配置文件专门用 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 @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 2
数据数据量不是很大的话,应该是配置的问题吧,玩的少,具体不清楚。
跑作业任务的话,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
|
12
kex0916 2019-01-10 18:54:03 +08:00
看看 NameNode DataNode,NodeManager 等日志,有没有通信警告什么的
|