1、集群规划
1.1、非高可用集群规划
软件名 | 服务名 | hadoop100 | hadoop101 | hadoop102 |
---|---|---|---|---|
Hadoop(HDFS) | DataNode | 1 | 1 | 1 |
Hadoop(HDFS) | NameNode | 1 | ||
Hadoop(HDFS) | SecondaryNameNode | 1 | ||
Hadoop(YARN) | ResourceManager | 1 | ||
Hadoop(YARN) | NodeManager | 1 | 1 | 1 |
ZooKeeper | QuorumPeerMain | 1 | 1 | 1 |
MySQL | 1 | |||
HIVE | 1 | |||
Spark | 1 | |||
Kafka | Kafka | 1 | 1 | 1 |
Flume | 1 | 1 | 1 | |
Sqoop | 1 | |||
HBase | HMaster | 1 | ||
HBase | HRegionServer | 1 | 1 | 1 |
Solr | jar | 1 | 1 | 1 |
Atlas | Atlas | 1 |
1.2、高可用集群规划
软件名 | 服务名 | hadoop100 | hadoop101 | hadoop102 |
---|---|---|---|---|
Hadoop(HDFS) | DataNode | 1 | 1 | 1 |
Hadoop(HDFS) | NameNode | 1 | 1 | |
Hadoop(ZKFC) | DFSZKFailoverController | 1 | 1 | |
Hadoop(HDFS) | JournalNode | 1 | 1 | 1 |
Hadoop(YARN) | ResourceManager | 1 | 1 | |
Hadoop(YARN) | NodeManager | 1 | 1 | 1 |
ZooKeeper | QuorumPeerMain | 1 | 1 | 1 |
MySQL | 1 | |||
HIVE | 1 | |||
Spark | 1 | |||
Kafka | Kafka | 1 | 1 | 1 |
Flume | 1 | 1 | 1 | |
Sqoop | 1 | |||
Solr | jar | 1 | 1 | 1 |
Atlas | Atlas | 1 |
2、框架版本
名称 | 版本 | 下载地址 |
---|---|---|
CentOS | 7-5 | |
JDK | 1.8 | 同下面HIVE |
Hadoop | 3.1.3 | 同下面HIVE |
HIVE | 3.1.2 | https://download.youkuaiyun.com/download/Yellow_python/13782524 |
MySQL | 5.7.32 | https://dev.mysql.com/downloads/mysql/ |
MySQL的JDBC | 5.1.49 | https://dev.mysql.com/downloads/connector/j/ |
ZooKeeper | 3.5.7 | http://archive.apache.org/dist/ |
Spark | 3.0.0 | 同上ZooKeeper |
Kafka | 2.7.0 | 同上ZooKeeper |
Flume | 1.9 | 同上ZooKeeper |
Sqoop | 1.4.7 | 同上ZooKeeper |
Scala | 2.12.13 | https://www.scala-lang.org/download/ |
HBase | 2.4.9 | |
Atlas | 2.1.0 | https://download.youkuaiyun.com/download/Yellow_python/79106345 |
Solr | 7.7.3 |
3、数据项目技术选型策略
3.1、技术选型策略
考虑因素 | 说明 | 例如 |
---|---|---|
业务需求 | 离线数仓、实时数仓 | 离线用HIVE,实时用Flink |
数据量 | 数据量大小、数据变化量大小 | 小数据用MySQL,大数据用Hadoop |
数据种类 | 关系型数据、非关系型数据 结构化数据、非结构化数据 | 文章可存ElasticSearch 社交网络可存Neo4j |
技术成熟度 | 技术越成熟,bug越少,方案越完善 | 在人工智能领域,Python技术体系比Java技术体系更成熟 |
技术热度 | 热度越高,技术资源越多 | 冷门技术出bug了,可能找不到解决办法 冷门技术的翻译文档不多 |
学习难度 | 难度越高,学习时间越长 | Keras比TensorFlow简单 两个框架都能解决问题的情况下优先选简单的 |
运维成本 | 有些技术 开发快 但 维护难 | Scala的开发效率高于Java,但代码可读性更低 吧? |
金钱 | 有的软件要付费 |
3.2、版本选择策略
- 选稳的:Java8虽不是最新,但是很稳
- 第三个数字尽量选大的,比如Spark的
3.0.2
版本解决了3.0.1
版本的一些bug