实验环境:
1、Linux操作系统
2、Hadoop的介质
3、Spark的介质
学习路线和课程简介:
1、基础:Java语言:Java基础(Java SE):变量 类型 循环 if
面向对象:类、封装、集成、多态
I/O:输入流、输出流
反射、泛型
JDBC: 操作关系型数据库
Linux基础
大数据:数据的处理 (1)离线计算 (2)实时计算
2、Hadoop
(1)数据储存:HDFS
(2)数据计算:MapReduce(Java程序) ---> 离线计算
(3)其他组件(生态圈):HBase、Hive、Pig、Flume、Sqoop*****
3、Storm:实时计算框架(Java语言)
(1)NoSQL:Redis内存数据库
(2)Storm中的内容
4、Spark:数据计算
(1)Scala编程语言:看成是Java的升级
(2)Spark Core:整个Spark的核心 ---> 相当于MapReduce
(3)Spark SQL
(4)Spark Streaming:实时计算框架
第一章、Linux基础
一、Linux的实验环境
(*)版本:RedHat 7.4 64位 自带netcat服务器(测试:Spark Streaming)
(*)VM:12
(*)类型:Redhat Linx 7 64位
(*)网卡:仅主机模式
(*)一共5台虚拟机:安装JDK、配置主机名、关闭防火墙
192.168.157.11 bigdata11
192.168.157.12 bigdata12
192.168.157.13 bigdata13
192.168.157.14 bigdata14
192.168.157.15 bigdata15
二、配置Linux和Linux的目录结构
1、对Linux了解
2、关闭防火墙
查看防火墙的状态:systemctl status firewalld.service
关闭防火墙: systemctl stop firewalld.service
禁用防火墙(永久)systemctl disable firewalld.service
3、设置主机名 (配置文件) /etc/hosts
vi /etc/hosts
192.168.157.11 bigdata11
三、vi编辑器:相当于linux的记事本
三种模式:
1、编辑模式:等待命令的输入
按i--> 进入:插入模式
按:(冒号)进入命令模式
2、插入模式: 按esc键回到编辑模式
3、命令模式
(*) w: 保存
(*) q: 退出
(*) wq: 保存退出
(*) 打开行号:set number
关闭行号: set nonumber
(*) 换行: set wrap
set nowrap
四、文件目录操作命令(重点掌握:后面操作HDFS的时候,很方便)
(*)ls 显示文件和目录列表
-l 列出文件的详细信息
-a 列出当前目录所有文件,包含隐藏文件
隐藏文件:.bash_profile 设置环境变量:JAVA_HOME、HADOOP_HOME
隐藏目录:.ssh ----> 配置Hadoop和Spark的免密码登录
查询Hadoop的中文件:hdfs dfs -ls /
(*)当前目录:pwd
/root ---> root用户的HOME目录(快捷方式: ~)
(*)mkdir 创建目录
-p 父目录不存在情况下先生成父目录
约定:mkdir /root/tools ---> 所有的安装包
mkdir /root/training ---> 安装目录
在Hadoop中创建目录:hdfs dfs -mkdir /aaa
(*)cd 切换目录
(*)touch 生成一个空文件
echo 生成一个带内容文件 ----> 更常用的用法:查看环境变量
echo $JAVA_HOME
(*)cat、tac 显示文本文件内容
cat是从第一行开始写;tac是从最后一行开始写
举例: cat a.txt
查看Hadoop中文件的内容: hdfs dfs -cat /a.txt
(*)cp 复制文件或目录
cp a.txt data.txt
在Hadoop中拷贝数据: hdfs dfs -cp /a.txt /b.txt
(*)rm 删除文件
-r 同时删除该目录下的所有文件
-f 强制删除文件或目录
rm -rf a.txt
在Hadoop中删除文件:hdfs dfs -rmr /a.txt
(*)kill:杀死
参数: -9 强制杀死
(*)tar命令:打包压缩
五、Linux的权限管理(Hadoop的HDFS权限非常像)
1、权限的类型:r 读
w 写
x 执行
2、使用ls -l或者ll命令查看权限
六、安装常用软件:安装JDK的时候,讲讲tar命令
tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/
(1).tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。
打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名”
解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”
(2).参数
作用
-c 创建压缩文件 -x 解开压缩文件
-t 查看压缩包内有那些文件 -z 用Gzip压缩或解压
-j 用bzip2压缩或解压 -v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性 -P 使用绝对路径来压缩
-C 指定解压到的目录
(3)设置环境变量:vi ~/.bash_profile
JAVA_HOME=/root/training/jdk1.8.0_144
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
(4)生效环境变量: source ~/.bash_profile
七、案例:Java的死锁分析 ---> 介绍一个工具(kill -3 的命令)
目的:找到死锁 性能诊断
Java提供了一个非常强大的性能诊断工具:Thread Dump(文本信息)
1、Linux:kill -3 PID(就是Java的进程号)
2、Windows: 按ctrl+break(fn+B)键
八、补充
克隆虚拟机修改hostname,ip地址和MAC地址
1.hostname
查看hostname:hostname -i/-f
a.hostname newname
b.vi /etc/sysconfig/network
hostname bigdata14
c.vi /etc/hosts
192.168.30.14 bigdata14
2.ip地址
vi /etc/sysconfig/network-scripts/ifcfg-*(网卡名)
3.MAC地址
在VMware里:网络适配器-》高级-》生成