一.大数据
广义大数据:以hadoop软件为主的生态圈(Sqoop、Flume、Spark、Flink、Hbase、Kafka和cdh环境)
狭义大数据:hadoop软件本身,开源的(在gitlab上可以看到源代码和地址)
二.组成
Hadoop由以下三个部分组成:
1.hdfs 存储数据(主要是网盘存储)
2.mapreduce 计算作业(生产上不使用,但设计理念指导着其他框架)
3.yarn 资源(CPU、内存memory)和作业的调度
实际上大数据也是这三个东西:
1.存储:hdfs、hbase、kudu
2.计算:mapreduce、spark、flink(其中spark和flink是重中之重)
3.资源和作业的调度:yarn
例:假如有100台机器(电脑),有一个很大的计算作业,100G的数据
①首先需要存储.但是一台机器存不下去,那么就需要把这些数据分开存进这100台机器,这时候hdfs会把文件切割,进行分布式存储(读的时候会自动拼接)。
②计算(作业),可以跑在其中某台或几台,计算时就需要从hdfs存储的资源里抽取调度,通过集群光纤传输到计算机的机器上,计算完成后又会把结果再次执行回写到存储上面(这里的存储可以是外部存储)。
三.hadoop的安装部署
1.版本:hadoop-3.2.2(【注意】:下载二进制的binary,不要下载源代码)
2.要学会看官方文档:Apache Hadoop 3.3.1 – Hadoop: Setting up a Single Node Cluster.(注意版本哟)
(一).准备工作
1.官网下载压缩包:Apache Downloads
2.rz 上传hadoop压缩包到Linux(一般上传到root用户的/tmp目录,因为这个目录有777权限,在这个目录里没有权限的烦恼)
3.在Linux系统里创建一个用户hadoop001并在这个用户下创建以下文件夹:
useradd hadoop001 #新建用户hadoop001
su - hadoop001 #切换到该用户下
mkdir sourecode software app log lib data tmp shell app.bak.1 app.bak.2
sourcecode //存放源代码;software //存放安装包;app //解压后的目录;log //日志目录;data //数据目录;lib //存放第三方jar包;tmp //临时目录;app.bak.1和app.bak.2用于备份
【问题】:为什么要自己建立一个/tmp目录,而不使用root用户下自带的/tmp目录?
答:因为自带的/tmp目录会根据当前版本特性,默认清除定期(30天)不访问的内容。
4.把安装包从root用户移动到用户hadoop001
mv /tmp/hadoop-3.2.2.tar.gz /home/hadoop001/software
此时报错:Operation not permitted 原因:尽管自带的/tmp目录有777权限,但是新建的用户hadoop001对hadoop-3.22.tar.gz的操作还是有权限限制的,所以不能移动。
解决方法一:赋予新用户hadoop001权限后再执行上述操作。
解决方法二:退出到root用户,再执行:mv /tmp/hadoop-3.2.2.tar.gz /home/hadoop001/software
5.在root用户下赋予用户hadoop001的software目录下所以的权限:
chown hadoop001:hadoop001 /home/hadoop001/software/*
(二).hadoop的软连接
1.切换到用户hadoop001的software目录解压hadoop压缩包到~/app目录:
tar -xzvf hadoop-