概要说明
本工程为大数据培训的指导教程,包含了培训实践各个环节的说明及相关代码。
课程概要
名称 | 内容 |
---|---|
第一天上午 |
|
元宝铺架构分享 |
|
大数据总揽 |
介绍当前大数据的基本情况 |
环境准备 |
为后续实践准备基础环境 |
第一天下午 |
|
Spark入门 |
介绍Spark框架的基本概念 |
Scala入门 |
介绍Scala语言的基础使用 |
Hadoop安装使用 |
动手实践Hadoop的安装、配置及基础使用 |
Spark安装使用 |
动手实践Spark的standalone安装、配置及基础使用 |
案例分析:ybMAP |
介绍元宝铺数据处理遇到的问题及如何解决 |
第二天上午 |
|
Zookeeper安装使用 |
动手实践Zookeeper的安装、配置及基础使用 |
HBase安装使用 |
动手实践HBase的安装、配置及基础使用 |
Hive安装使用 |
动手实践Hive的安装、配置及基础使用 |
Kafka安装使用 |
动手实践Kafka的安装、配置及基础使用 |
Sqoop安装使用 |
动手实践Sqoop的安装、配置及基础使用 |
Zeppelin安装使用 |
动手实践Zeppelin的安装、配置及基础使用 |
生产环境说明 |
介绍用Ambari+HDP搭建生产环境,使用Hue、Kylin做分析 |
案例分析:垂直行业数据运营平台 |
以4S店行业为入口分析垂直行业数据运营平台的架构及流程 |
第二天下午 |
|
综合实例:访客分析 |
以访客分析为例子综合使用Kafka、Spark Streaming、Redis、Mongo等技术框架 |
综合实例:支付宝数据处理 |
以支付宝数据处理为例子综合使用HDFS、Spark SQL、Hive、Zeppelin/Hue等技术框架 |
资源说明
实验需要的资源列表,因我朝网络管制,故预先下载备用。
Tip
|
网盘下载地址: http://pan.baidu.com/s/1dEJ7agT |
Caution
|
生产环境下所有未经官方源下载的文件都要做签名校验 |
名称 | 说明 |
---|---|
tools\DockerToolbox-1.11.0.exe |
Windows的Docker安装程序 |
tools\DockerToolbox-1.11.0.pkg |
Mac的Docker安装程序 |
tools\AsciidocFX_Windows_No_JRE.exe |
此文档的撰写工具 |
images\scala_2.10_image.tar |
Docker镜像,本实验的基础环境 |
images\mysql_image.tar |
Docker MySQL镜像 |
images\mongo_image.tar |
Docker Mongo镜像 |
images\bd-lab_image.tar |
Docker镜像,本实验最终成果 |
frameworks\hadoop-2.7.2.tar.gz |
Hadoop压缩包 |
frameworks\spark-1.6.1-bin-hadoop2.6.tgz |
Spark Hadoop2.6预编译包 |
frameworks\apache-hive-1.2.1-bin.tar.gz |
Hive预编译包 |
frameworks\hbase-1.2.1-bin.tar.gz |
HBase预编译包 |
frameworks\kafka_2.10-0.8.2.2.tgz |
Kafka预编译包 |
frameworks\zookeeper-3.4.8.tar.gz |
Zookeeper预编译包 |
frameworks\sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz |
Sqoop预编译包 |
frameworks\zeppelin-0.5.6-incubating-bin-all.tgz |
Zeppelin预编译包 |
frameworks\mysql-connector-java-5.1.36.jar |
Mysql JDBC驱动 |
data\r4ZBzEh4Fu8imdju5_0.35396679607219994.out |
模拟支付宝数据 |
data\banks.csv |
模拟银行数据 |
环境准备
硬件要求:内存:>=4G,硬盘:>=20G,网络畅通
系统要求:Centos6.x,开启SSH,推荐使用Docker,也可使用实体机或虚拟机(Vmware、Virtualbox或Hyper-V)
基本环境:安装完成 JDK8、Scala2.10.x,MySQL、Mongo
使用Docker创建环境(推荐/可选)
如您使用的是实体机或虚拟机请忽略此操作。
-
下载Docker
Linux直接使用包管理工具安装(Centos6及以下版本安装比较麻烦), Windows或Mac使用`Docker toolbox`安装(已在资源列表中) 详细参见: https://docs.docker.com/
-
添加镜像
从官方仓库安装:
# 下载scala基础镜像
docker pull gudaoxuri/scala_2.10
# 下载mysql镜像
docker pull mysql
# 下载Mongo镜像
docker pull mongo
如网络过慢可使用资源列表中已下载的镜像安装:
# 从本地添加scala基础镜像
docker load -i <your path>/images/scala_2.10_image.tar
# 从本地添加mysql镜像
docker load -i <your path>/images/mysql_image.tar
# 从本地添加mongo镜像
docker load -i <your path>/images/mongo_image.tar
-
创建容器
# 创建mysql容器,开放3306端口,用户名root,密码123456
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
# 创建mongo容器,开放27017端口,无需认证
docker run --name mongo -p 27017:27017 -d mongo
# 创建scala基础容器,开放大数据服务需要的几个重要端口
docker run --name bd-lab -h bd -d \
-p 2181:2181 \
-p 6066:6066 \
-p 7077:7077 \
-p 8088:8088 \
-p 8041:8041 \
-p 19888:19888 \
-p 60010:60010 \
-p 60030:60030 \
-p 4040:4040 \
-p 8080:8080 \
-p 8081:8081 \
-p 9000:9000 \
-p 7203:7203 \
-p 9092:9092 \
-p 50010:50010 \
-p 50070:50070 \
-p 50075:50075 \
-p 10000:10000 \
-p 28081:28081 \
-p 222:22 \
-v /c/Users/i/docker_data/bd-lab:/opt/res \
gudaoxuri/scala_2.10
Important
|
容器说明
`gudaoxuri/scala_2.10`镜像开放了SSH服务,用户名root,密码123456,端口号222 |
Note
|
后续环境使用`docker`容器,如无特殊说明所使用容器均基于`gudaoxuri/scala_2.10`镜像。 |
Tip
|
Docker使用简明教程
http://gudaoxuri.github.io/Docker_ABC/
|
使用Virtual box创建环境(可选)
-
下载CentOS6.x
http://mirrors.163.com/centos/6.7/isos/x86_64/CentOS-6.7-x86_64-minimal.iso
-
安装CentOS到Virtual box
Important
|
注意事项
|
-
安装完成,配置网络
ONBOOT=yes
BOOTPROTO=static
IPADDR=<ip>
NETMASK=<mask>
GATEWAY=<getway>
ifup eth0
nameserver 180.76.76.76
nameserver 8.8.8.8
ifconfig
ping www.baidu.com
-
安装必须的工具
# 测试环境,可以关闭防火墙
chkconfig iptables off
service iptables stop
yum install -y wget
# 安装java
wget -P /opt/env/ --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz
tar -xzf /opt/env/jdk-8u60-linux-x64.tar.gz -C /opt/env/
rm -rf /opt/env/jdk-8u60-linux-x64.tar.gz
mv /opt/env/jdk1.8.0_60 /opt/env/java
echo "export JAVA_HOME=/opt/env/java" >> /etc/profile
# 安装Scala
wget -P /opt/env/ http://downloads.typesafe.com/scala/2.10.6/scala-2.10.6.tgz
tar -xzf /opt/env/scala-2.10.6.tgz -C /opt/env/
rm -rf /opt/env/scala-2.10.6.tgz
mv /opt/env/scala-2.10.6 /opt/env/scala
echo "export SCALA_HOME=/opt/env/scala" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin' >> /etc/profile
source /etc/profile
# 安装MySQL
yum install -y mysql-server mysql mysql-devel
service mysqld start
# mysqladmin -u root password 123456
mysql -u root -p
grant all on *.* to'root'@'%' identified by '123456';
flush privileges;
# 安装Mongo
vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
yum install -y mongodb-org
vi /etc/mongod.conf
bind_ip = 0.0.0.0
service mongod start
-
文件夹共享
vi /etc/selinux/config SELLINUX=disabled yum install -y samba vi /etc/samba/smb.conf # 开启匿名访问 security = share # 修改访问目录 [public] comment = Public Stuff path = /share availabe = yes browseable = yes public = yes writable = yes printable = no write list = +staff mkdir /share chmod 777 /share /etc/init.d/smb start
基本环境创建
SSH到实验环境
# 创建用户user,密码123456
adduser user
passwd user
mkdir -p /opt/workspaces/
chown user: /opt/workspaces/
# 进入user账号
su - user
# 切换到工作空间
cd /opt/workspaces
# 创建各框架lib目录
mkdir frameworks
# 创建各框架数据目录
mkdir data
# 创建各框架日志目录
mkdir logs
# 创建应用包目录
mkdir apps
# 创建SSH免密钥登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
Important
|
如无特殊说明后续操作都使用user账号 |