三个部分:
第一部分、大数据要学什么,怎么学,如何学
第二部分、大数据基础系统环境
第三部分、大数据基础框架HADOOP 2.x快速搭建
第一点:
基础
-1. Java SE
大数据技术框架中90%以上都是基于Java语言编写
-2. MySQL
SQL on HADOOP
-3. Linux系统
大数据技术框架安装部署在Linux操作系统上
大数据技术学习:
- 第一方面:大数据离线分析
- HADOOP 2.x(HDFS、MapReduce、YARN)
- 环境搭建
- 处理数据思想
- Hive (大数据数据仓库)
- 类比MySQL
- HBase (基于HDFS之上NoSQL数据库)
- 面向列数据库
- 协作框架
- SQOOP(桥梁:HDFS <--> RDBMS)
- Flume
- 调度框架Anzkaban
- 扩展前沿框架:
- Kylin
- Impala
- ES
- 第二方面:大数据实时分析
以Spark框架为主分析
- Scala
OOP + FP
- SparkCore
- 类比MapReduce
- SparkSQL
- 类似Hive 和 Pandas
- Kafka
消息队列
- 实时数据处理
SparkStreaming
- 扩展延伸:
- Flink
- 第三方面:大数据机器学习(扩展篇)
- Spark MLlib
机器学习库
- PySpark 编程
Pytho与Spark开发
- 推荐系统
- Python 数据分析
- Python机器学习
===================================================
虚拟化软件 - VMWare
虚拟出一台计算机(Memroy、CPU Core、硬盘)
虚拟机安装操作系统
- Linux系统
CentOS 6.x 64位
- Win 7
开发
1、安装较高版本的VMWare软件
VMWare 12.x
2、导入安装的虚拟机
注意:
将其他虚拟机全部关机
a. 解压给虚拟机
建议:英文目录盘符下
b. 导入VMWare中
选择【已移动】该虚拟机
c. 超级用户ROOT
root/123456
3、为了保证所有人与虚拟机一致性
修改VMnet 8 适配器网段地址
192.168.59.0
4、虚拟机配置约束规定:
- a. 普通用户
huadian/huadian
- b. 主机名
bigdata-hpsk01.huadian.com
5、基本操作一:
- 创建普通用户
# adduser huadian
# passwd huadian
- 修改主机名
当即生效
# hostname bigdata-hpsk01.huadian.com
永久生效
# vim /etc/sysconfig/network
- 配置IP地址与主机名映射
# vim /etc/hosts
增加如下内容:
192.168.59.222 bigdata-hpsk01.huadian.com bigdata-hpsk01
测试:
# ping bigdata-hpsk01.huadian.com
========================================================================
192.168.59.222 bigdata-hpsk01.huadian.com
192.168.59.223 bigdata-hpsk02.huadian.com
192.168.59.224 bigdata-hpsk03.huadian.com
--mac地址
sudo vi /etc/udev/rules.d/70-presisitent-net.rules
删除eth0
eth1-->eth0
复制mac地址 00:0c:29:30:71:66
--修改 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
mac地址
ip
--hostname
--配置ip和主机名的映射
--重启
vim /etc/udev/rules.d/70-persistent-net.rules
--删除eth0
--将eth1修改为eth0
--复制mac地址
编辑网卡文件: vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改ip地址及Mac地址
IPADDR=192.168.134.199
HWADDR=00:0C:29:65:64:A8
重启网络:service network restart
ifconfig
========================================================================
6、远程连接
远程协议(对于Linux系统,SSH2)
远程机器IP地址
使用账号与密码
7、配置普通用户huadian具有sudo权限
# chmod u+w /etc/sudoers
# vim /etc/sudoers
增加如下内容:
huadian ALL=(root) NOPASSWD:ALL
# chmod u-w /etc/sudoers
测试:
$ sudo service iptables status
8、关闭防火墙
当前关闭:
$ sudo service iptables stop
永久关闭:
$ sudo chkconfig iptables off
此外关闭Selinux
$ sudo vim /etc/sysconfig/selinux
设置值:
SELINUX=disabled
必须重启机器方能生效配置
9、重启虚拟机
关闭虚拟机
$ sudo init 0
虚拟机快照
备份当前配置虚拟机状态
启动虚拟机
===================================================
大数据框架:
- 海量数据分析
MapReduce、Spark、SQL、.......
- 海量数据存储
HDFS、Hive(本质上数据还是存储HDFS)、HBase、ES
最原始的HADOOP框架
- 数据存储
HDFS(Hadoop Distributed File System)
- 数据分析
MapReduce
Google 三篇论文:
- GFS - 开源版本 HDFS
- MapReduce - MapReduce
- BigTable - 开源 HBase
全文检索:
- Nutch
- Lunce
- Hadoop
1. 官方网址:
大数据绝大多数框架,都属于Apache 顶级项目
http://apache.org/
HADOOP 网址:
http://hadoop.apache.org/
HADOOP 源码归档:
http://github.com/apache/hadoop
2. 分布式
相对于【集中式】
需要多台机器,进行写作完成。
架构:
- 主节点Master - 老大, 管理者
管理
- 从节点Slave - 从属,奴隶 被管理者
干活
从HDFS: 存储数据
- 主节点: NameNode
决定数据存储到哪个DataNode上
- 从节点: DataNodes
存储数据,管理数据
从MapReduce
分而治之思想
将海量数据划分为多个部分,每部分数据进行单独处理,最后将所有处理结果进行合并
- map - MapTask
单独处理每一部分的数据
对于JAVA OOP,就是一个方法,里面实现处理数据业务逻辑代码
- reduce - ReduceTask
合并所有MapTask输出的结果数据
对于JAVA OOP,就是一个方法,里面实现如何合并map输出的结果
YARN:
分布式集群资源管理框架:管理集群各个机器的资源,并且合理调度分配资源给各个程序使用(MapReduce运行程序)
主节点:
ResourceManager - 了解整个集群中资源
从节点:
NodeManagers - 管理 每台机器资源
处理数据资源:
- 内存Memory
- CPU Core
=====================================================
综上所述:
HADOOP 框架安装部署:
都属于Java 进程,其实启动JVM进程,运行服务
- HDFS - 提供分析的数据
NameNode / DataNodes
- YARN - 提供程序运行的资源
ResourceManager / NodeManagers
伪分布式安装部署:
在一台机器上安装部署上述的HDFS和YARN服务
1、规划Linux系统目录结构
以系统 /opt 目录为主安装软件包
/opt
/datas
测试数据
/softwares
软件包
/modules
软件安装目录
/tools
开发IDE及工具
2、安装JDK
-a. 卸载系统自带的OpenJDK
查看安装的JDK
$ sudo rpm -qa|grep java
卸载JDK
$ sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
-b. Linux系统自带上传下载软件
$ sudo yum install -y lrzsz
其中
rz: 上传文件
sz: 表示下载
-c. 安装JDK
在Linux安装JDK类似于Windows绿色软件的安装,直接解压,配置环境变量即可
- 使用rz上传软件包至/opt/softwares
- 解压到/opt/modules
$ chmod u+x jdk-8u91-linux-x64.tar.gz
$ tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/modules/
- 配置系统环境变量
$ sudo vim /etc/profile
在文件最后增加如下内容:
# JAVA HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_91
export PATH=${PATH}:${JAVA_HOME}/bin
使其生效
$ source /etc/profile
验证
$ java -version
第一部分、大数据要学什么,怎么学,如何学
第二部分、大数据基础系统环境
第三部分、大数据基础框架HADOOP 2.x快速搭建
第一点:
基础
-1. Java SE
大数据技术框架中90%以上都是基于Java语言编写
-2. MySQL
SQL on HADOOP
-3. Linux系统
大数据技术框架安装部署在Linux操作系统上
大数据技术学习:
- 第一方面:大数据离线分析
- HADOOP 2.x(HDFS、MapReduce、YARN)
- 环境搭建
- 处理数据思想
- Hive (大数据数据仓库)
- 类比MySQL
- HBase (基于HDFS之上NoSQL数据库)
- 面向列数据库
- 协作框架
- SQOOP(桥梁:HDFS <--> RDBMS)
- Flume
- 调度框架Anzkaban
- 扩展前沿框架:
- Kylin
- Impala
- ES
- 第二方面:大数据实时分析
以Spark框架为主分析
- Scala
OOP + FP
- SparkCore
- 类比MapReduce
- SparkSQL
- 类似Hive 和 Pandas
- Kafka
消息队列
- 实时数据处理
SparkStreaming
- 扩展延伸:
- Flink
- 第三方面:大数据机器学习(扩展篇)
- Spark MLlib
机器学习库
- PySpark 编程
Pytho与Spark开发
- 推荐系统
- Python 数据分析
- Python机器学习
===================================================
虚拟化软件 - VMWare
虚拟出一台计算机(Memroy、CPU Core、硬盘)
虚拟机安装操作系统
- Linux系统
CentOS 6.x 64位
- Win 7
开发
1、安装较高版本的VMWare软件
VMWare 12.x
2、导入安装的虚拟机
注意:
将其他虚拟机全部关机
a. 解压给虚拟机
建议:英文目录盘符下
b. 导入VMWare中
选择【已移动】该虚拟机
c. 超级用户ROOT
root/123456
3、为了保证所有人与虚拟机一致性
修改VMnet 8 适配器网段地址
192.168.59.0
4、虚拟机配置约束规定:
- a. 普通用户
huadian/huadian
- b. 主机名
bigdata-hpsk01.huadian.com
5、基本操作一:
- 创建普通用户
# adduser huadian
# passwd huadian
- 修改主机名
当即生效
# hostname bigdata-hpsk01.huadian.com
永久生效
# vim /etc/sysconfig/network
- 配置IP地址与主机名映射
# vim /etc/hosts
增加如下内容:
192.168.59.222 bigdata-hpsk01.huadian.com bigdata-hpsk01
测试:
# ping bigdata-hpsk01.huadian.com
========================================================================
192.168.59.222 bigdata-hpsk01.huadian.com
192.168.59.223 bigdata-hpsk02.huadian.com
192.168.59.224 bigdata-hpsk03.huadian.com
--mac地址
sudo vi /etc/udev/rules.d/70-presisitent-net.rules
删除eth0
eth1-->eth0
复制mac地址 00:0c:29:30:71:66
--修改 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
mac地址
ip
--hostname
--配置ip和主机名的映射
--重启
vim /etc/udev/rules.d/70-persistent-net.rules
--删除eth0
--将eth1修改为eth0
--复制mac地址
编辑网卡文件: vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改ip地址及Mac地址
IPADDR=192.168.134.199
HWADDR=00:0C:29:65:64:A8
重启网络:service network restart
ifconfig
========================================================================
6、远程连接
远程协议(对于Linux系统,SSH2)
远程机器IP地址
使用账号与密码
7、配置普通用户huadian具有sudo权限
# chmod u+w /etc/sudoers
# vim /etc/sudoers
增加如下内容:
huadian ALL=(root) NOPASSWD:ALL
# chmod u-w /etc/sudoers
测试:
$ sudo service iptables status
8、关闭防火墙
当前关闭:
$ sudo service iptables stop
永久关闭:
$ sudo chkconfig iptables off
此外关闭Selinux
$ sudo vim /etc/sysconfig/selinux
设置值:
SELINUX=disabled
必须重启机器方能生效配置
9、重启虚拟机
关闭虚拟机
$ sudo init 0
虚拟机快照
备份当前配置虚拟机状态
启动虚拟机
===================================================
大数据框架:
- 海量数据分析
MapReduce、Spark、SQL、.......
- 海量数据存储
HDFS、Hive(本质上数据还是存储HDFS)、HBase、ES
最原始的HADOOP框架
- 数据存储
HDFS(Hadoop Distributed File System)
- 数据分析
MapReduce
Google 三篇论文:
- GFS - 开源版本 HDFS
- MapReduce - MapReduce
- BigTable - 开源 HBase
全文检索:
- Nutch
- Lunce
- Hadoop
1. 官方网址:
大数据绝大多数框架,都属于Apache 顶级项目
http://apache.org/
HADOOP 网址:
http://hadoop.apache.org/
HADOOP 源码归档:
http://github.com/apache/hadoop
2. 分布式
相对于【集中式】
需要多台机器,进行写作完成。
架构:
- 主节点Master - 老大, 管理者
管理
- 从节点Slave - 从属,奴隶 被管理者
干活
从HDFS: 存储数据
- 主节点: NameNode
决定数据存储到哪个DataNode上
- 从节点: DataNodes
存储数据,管理数据
从MapReduce
分而治之思想
将海量数据划分为多个部分,每部分数据进行单独处理,最后将所有处理结果进行合并
- map - MapTask
单独处理每一部分的数据
对于JAVA OOP,就是一个方法,里面实现处理数据业务逻辑代码
- reduce - ReduceTask
合并所有MapTask输出的结果数据
对于JAVA OOP,就是一个方法,里面实现如何合并map输出的结果
YARN:
分布式集群资源管理框架:管理集群各个机器的资源,并且合理调度分配资源给各个程序使用(MapReduce运行程序)
主节点:
ResourceManager - 了解整个集群中资源
从节点:
NodeManagers - 管理 每台机器资源
处理数据资源:
- 内存Memory
- CPU Core
=====================================================
综上所述:
HADOOP 框架安装部署:
都属于Java 进程,其实启动JVM进程,运行服务
- HDFS - 提供分析的数据
NameNode / DataNodes
- YARN - 提供程序运行的资源
ResourceManager / NodeManagers
伪分布式安装部署:
在一台机器上安装部署上述的HDFS和YARN服务
1、规划Linux系统目录结构
以系统 /opt 目录为主安装软件包
/opt
/datas
测试数据
/softwares
软件包
/modules
软件安装目录
/tools
开发IDE及工具
2、安装JDK
-a. 卸载系统自带的OpenJDK
查看安装的JDK
$ sudo rpm -qa|grep java
卸载JDK
$ sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
-b. Linux系统自带上传下载软件
$ sudo yum install -y lrzsz
其中
rz: 上传文件
sz: 表示下载
-c. 安装JDK
在Linux安装JDK类似于Windows绿色软件的安装,直接解压,配置环境变量即可
- 使用rz上传软件包至/opt/softwares
- 解压到/opt/modules
$ chmod u+x jdk-8u91-linux-x64.tar.gz
$ tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/modules/
- 配置系统环境变量
$ sudo vim /etc/profile
在文件最后增加如下内容:
# JAVA HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_91
export PATH=${PATH}:${JAVA_HOME}/bin
使其生效
$ source /etc/profile
验证
$ java -version