1 总体架构
本书浅显易懂,实战性强,以一个实战项目入手,系统性的介绍了如何做一个大数据系统的整个过程。本书另一个亮点是提供了在线演练平台http://www.feiguyun.com/support/。
实战项目的总体架构图:
书中详细的描述了如何利用爬虫、Sqoop等获取数据,如何利用HDFS、HBase等存储大数据,如何利用MapReduce、Hive、Pig、Python、Spark等技术处理大数据,如何利用Spark及R分析展示大数据的整个过程。
2 数据流程图
数据流图:
公共数据包括微信、微博、公共网站等公开的互联网数据。
企业应用程序的埋点数据包括软件系统的日志记录、页面的点击记录等行为数据。
企业结构化数据包括用户注册、交易等结构化数据。
3 各功能组件
4 实施规划
参考书中规划的集群节点,使用VirtualBox虚拟机及Ubuntu操作系统进行搭建。
规划如图:
Host-IP | HostName | CPU | MEM | OS | 备注 |
---|---|---|---|---|---|
192.168.1.245 | master | 2 | 2G | Ubuntu14.04 | VirtualBox |
192.168.1.247 | slave01 | 2 | 2G | Ubuntu14.04 | VirtualBox |
192.168.1.249 | slave02 | 2 | 2G | Ubuntu14.04 | VirtualBox |
192.168.1.153 | 客户端 | 2 | 8G | Win10 |
5 操作系统基础环境配置
客户端使用SSH分别登录到master,slave01,slave02,创建hadoop用户及用户组,修改hostname。以master为例:
client:~ client $ ssh user@192.168.1.245
user@192.168.1.245's password: # 输入user用户密码
Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)
* Documentation: https://help.ubuntu.com/
68 packages can be updated.
58 updates are security updates.
Last login: Tue Apr 23 14:01:24 2019 from 192.168.1.153
user@master:~$ sudo groupadd hadoop
[sudo] password for user: # 输入user用户密码
user@master:~$ sudo useradd -m -g hadoop hadoop
user@master:~$ sudo passwd hadoop
输入新的 UNIX 密码: # 密码:hadoop
重新输入新的 UNIX 密码: # 密码:hadoop
passwd:已成功更新密码
user@master:~$ vi /etc/hostname # 如果不是master,则修改为master
user@master:~$ cat /etc/hostname
master
登录验证:
client:~ client$ ssh hadoop@192.168.1.245
hadoop@192.168.1.245's password: # 输入hadoop用户密码
Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)
* Documentation: https://help.ubuntu.com/
68 packages can be updated.
53 updates are security updates.
New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Your Hardware Enablement Stack (HWE) is supported until April 2019.
Last login: Wed Apr 24 15:24:53 2019 from 192.168.1.153
hadoop@master:~$ whoami # 当前有效用户名称
hadoop
hadoop@master:~$ umask # 默认权限
0002
slave01,slave02配置相同。
注意事项:
1、Win10 WSL下安装Hadoop会遇到很多坑,不建议使用。
2、Spark默认内存1G,虚拟机内存分配不能小于1G,否则Spark工作节点不能启动。
6 总结
随着互联网的普及、移动互联网的不断发展、5G的到临、物联网的逐渐渗透,大数据技术的影响会越来越深远。因此掌握大数据技术也越来越重要,而大数据依赖各项基础开发,如Linux、Shell、 Python、 Java、 数据库、爬虫技术、数据分析、机器学习等都需要深入学习,并在工作中应用和实践。