大数据学习

1.分布式与集群的区别:

分布式和集群是两个不同的概念,分布式是多台机器中每台机器上部署不同组件,集群是多台机器中每台机器上部署相同的组件

2.SSH协议

SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。
在Linux中,SSH的主要用途为:用户加密实现远程登录、服务器之间的免密登录。
SSH协议采用非堆成加密方式,需要两个秘钥:公开密匙和私有密匙
软件:FinalShell使用SSH协议来访问linux虚拟机

3.Linux文件系统概念

在os中负责管理和存储文件信息的软件机构称之为文件管理系统,简称文件系统
文件系统的结构为目录树结构,从/(根目录)开始
“万物皆文件”概念

当前路径:也叫做当前工作目录,当下用户所属的位置
相对路径:相对当前工作目录开始的路径,会随着当前路径变化而变化
绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复
/ :根目录
. :目录或者文件名字以.开始表示是隐藏的文件,如果路径以.开始表示当前路径
..:当前目录的上一级目录
~ :当前用户的home目录,比如root用户home目录是/root

在这里插入图片描述
常用命令:
Linux grep 命令用于查找文件里符合条件的字符串。

1.ls:
显示目录内容
-a 显示所有文件及目录(包含隐藏目录)
-l 除了文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
在这里插入图片描述

2.cd
切换目录
在这里插入图片描述

3.创建、删除
mkdir:用于创建目录
-p确保父目录名称存在,不存在就创建一个
touch:创建一个空的文件夹
rm:删除文件或目录
-f 强制直接删除,无需用户确认
-r 将目录及以下所有递归逐一删除
在这里插入图片描述
4.cp:用于复制文件或目录
-r:若给出的源文件是一个目录文件,此时将复制该目录文件下所有的子目录和文件
在这里插入图片描述

mv:用来为文件或目录改名、或将文件或目录移入其他位置
在这里插入图片描述

5.文件内容查看
cat:
用于连接文件并且打印到标准输出设备如console控制台上,适合小文件内容查看
more:
类似cat,不过会以一页一页的形式查看,更方便使用者逐页阅读,翻页结束自动退出。适合大文件查看。按space键翻下一页,按b往回上一页
在这里插入图片描述

tail:
用于查看文件的结尾部分的内容
-n:用于显示行数,默认为10,即显示10行的内容
-f:用于实时显示文件动态追加的内容,会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以查看到最新的文件内容
在这里插入图片描述
在这里插入图片描述
6.其他命令
echo:用于内容的输出,将内容输出到console控制台上

echo 内容 >> 文件

|:管道命令:将前一个命令执行的结果作为内容交给下一个命令进行处理。可以形成多级管道操作
命令1|命令2 可以将命令1的结果通过命令2作进一步的处理

输出重定向(覆盖)命令
command > file 执行command然后将输出的内容存入file,file内已经存在的内容将被新内容覆盖替代
输出重定向(追加)命令
command >> file 执行command然后将输出的内容存入file,新内容追加在文件末尾

解压命令:
打包/解包
tar:用于备份文件,是用来建立、还原备份文件的工具程序。他可以加入、解开备份文件内的文件
-c:建立新的备份文件(打包)
-x:从备份文件中还原文件(解包)
-v:显示指令执行过程
-f:指定备份文件
tar -cvf:打包
在这里插入图片描述
tar -zxvf 解包
在这里插入图片描述
注意:ll为ls -f,大写C -C表示指定路径,不写路径则默认为当前文件夹
解压缩:tar -zxvf xxxxx.tar.gz
按照指定压缩算法进行解压缩

7.系统命令:
date :用来显示或设定系统的日期与时间。在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
在这里插入图片描述

cal:用于显示当前或指定日期的公历
![在这里插入图片描述](https://img-blog.csdnimg.cn/a81423cbb29e4f818bec62f687e30421.png)
free:用于显示内存状态。会显示内存的使用状况。
df(disk free):用于显示目前在Linux系统上的文件系统磁盘使用情况统计
![在这里插入图片描述](https://img-blog.csdnimg.cn/dca1777f5ca7450186569e0647bef7e4.png)

在这里插入图片描述
在这里插入图片描述
ps:用于显示当前进程的状态,类似于windows的任务管理器
ps -ef显示的更加具体
jps:这是jdk自带的命令,专门用于查看本机运行的java进程情况

在这里插入图片描述
ps -ef | grep 进程名 :搜索进程
上边的命令配合了管道| 命令,将前一个命令执行的结果作为内容交给下一个命令进行处理。
在这里插入图片描述

4.Vi/Vim

vim编辑器

vi是一款很多unix及其延伸系统内置的文本编辑器,具有强大的文本编辑能力
vim是从vi发展出来的一个文本编辑器,可以理解为是vi编辑器的增强版。vim中代码补完、编译以及错误跳转等方便编程的功能特别丰富。
vi/vim编辑器的核心设计思想为:让程序员的手指始终保持在键盘的核心区域,就可以完成所有的编辑操作
学习使用vi/vim编辑器的最大挑战:万物皆命令

打开与新建文件

vim /path/file
文件不存在,则新建文件,否则就打开文件

vim编辑器三种工作模式

进来就是命令模式,然后输入i进入编辑模式,esc键回到命令模式。shift zz保存退出

1.命令模式
命令模式下,所敲的按键vim编辑器都理解为命令,以命令驱动执行不同的功能
此模式下,不能自由进行文本编辑
2.输入模式
也就是所谓的编辑模式、插入模式
此模式下,才可以对文件内容进行自由编辑
3.底线命令模式
以:开始,通常用于文件的保存、退出

在这里插入图片描述
在这里插入图片描述
Vim基本操作命令:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Apach Hadoop

Hadoop现状

HDFS作为分布式文件存储系统,处于生态圈的底层和核心地位
YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop的地位
MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理.

总结:
HDFS:分布式存储
YARN:任务调度和资源管理
MapReduce:科学计算

Hadoop优点

1.扩容能力
2.成本低
3.效率高
4.可靠性
Hadoop集群包括:HDFS集群、YARN集群
两个集群逻辑上分离,物理上在一起
两个集群都是标准的主从架构集群

Hadoop安装

笔记:https://blog.ctftools.com/2022/01/newpost-28/

环境

1.安装vim、ntpdate
Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步
yum -y install vim
yum -y install ntpdate

2.关闭防火墙(生产环境不建议这样)
systemctl stop firewalld.service
systemctl disable firewalld.service

3.配置本机名
vim /etc/hostname
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn

4.修改hosts
vim /etc/hosts
192.168.88.151 node1 node1.itcast.cn
192.168.88.152 node2 node2.itcast.cn
192.168.88.153 node3 node3.itcast.cn

5.同步时间
ntpdate ntp5.aliyun.com

6.创建统一工作目录
mkdir -p /export/data #数据
mkdir -p/export/server #服务
mkdir -p/export/software #软件

7.免密登录
ssh-keygen #四个回车
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

8.下载安装JDK1.8
下载:jdk-8u271-linux-x64.tar.gz
下载地址:https://www.oracle.com/java/technologies/downloads/
在这里插入图片描述

安装:
将jdk-8u271-linux-x64.tar.gz直接拖入到 /export/server目录下
在这里插入图片描述
在这里插入图片描述
查看/export/server 目录
在这里插入图片描述
解压jdk安装包
在这里插入图片描述
删除jdk安装包
在这里插入图片描述
配置环境变量
vim /etc/profile

export JAVA_HOME=/export/server/jdk1.8.0_271
export PATH=$ PATH:$ JAVA_HOME/bin
export CLASSPATH=.😒 JAVA_HOME/lib/dt.jar:$ JAVA_HOME/lib/tools.jar

#重新加载环境变量文件
source /etc/profile

验证java是否安装成功
在这里插入图片描述
安装成功

从node1拷贝java给node2、node3
使用scp
scp -r /export/server/jdk1.8.0_271/ root@node2:/export/server/
在这里插入图片描述
使用scp拷贝换环境变量
scp /etc/profile root@node1:/etc/
在这里插入图片描述
同时验证三台虚拟机
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

将hadoop安装包上传到 /export/server目录下
在这里插入图片描述

使用ls -l查看/export/server目录
在这里插入图片描述
解压hadoop安装包
在这里插入图片描述
删除hadoop安装包
在这里插入图片描述
在这里插入图片描述
hadoop安装包目录结构
在这里插入图片描述
修改hadoop配置文件
pwd:查看当前位置
1.修改hadoop-env.sh文件

cd进入/export/server/hadoop-3.3.0/etc/hadoop/

vim hadoop-env.sh
按G跳转到文件的最后一行,按i进入编辑模式,插入以下语句

export JAVA_HOME=/export/server/jdk1.8.0_311
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root 

在这里插入图片描述
保存退出
2.修改core-site.xml
vim core-site.xml
在这里插入图片描述

在Configuration标签中间添加以下代码

fs.defaultFS hdfs://node1:8020 hadoop.tmp.dir /export/data/hadoop-3.3.0 hadoop.http.staticuser.user root hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups * fs.trash.interval 1440 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4ef2901008b64404ba2fc1c6e9a534b5.png)

3.修改hdhs-site.xml文件
vim hdhs-site.xml
在这里插入图片描述

在configuration标签中间添加以下

dfs.namenode.secondary.http-address node2:9868 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9998cdd35d94478da889217d4225c6af.png) 4.修改mapred-site.xml vim mapred-site.xml

在configuration标签中间添加以下

在这里插入图片描述

mapreduce.framework.name
yarn

mapreduce.jobhistory.address node1:10020 mapreduce.jobhistory.webapp.address node1:19888 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME} ![在这里插入图片描述](https://img-blog.csdnimg.cn/4feabaf918ba499097ac34fc49070037.png) 5.修改yarn-site.xml vim yarn-site.xml

在configuration标签中间添加以下

yarn.resourcemanager.hostname node1 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false yarn.log-aggregation-enable true yarn.log.server.url http://node1:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 604800

dd:删除整行

6.修改workers
vim workers
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn

7.使用scp命令分发同步安装包
cd /export/server
scp -r hadoop-3.3.0 root@node2: P W D s c p − r h a d o o p − 3.3.0 r o o t @ n o d e 3 : PWD scp -r hadoop-3.3.0 root@node3: PWDscprhadoop3.3.0root@node3:PWD
在这里插入图片描述
8.修改环境变量
vim /etc/profile
将hadoop的环境变量添加进去
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
在这里插入图片描述
9.使用scp命令分发同步hadoop环境变量
scp /etc/profile root@node2:/etc/
scp /etc/profile root@node3:/etc/

在这里插入图片描述
10.最后在所有机器执行
source /etc/profile

11.输入hadoop进行验证识别
在这里插入图片描述

集群启动

1.NameNode format(格式化操作)

首次启动HDFS时,必须对其进行格式化操作
format本质上是初始化工作,进行HDFS清理和准备工作
命令:
hdfs namenode -format
在这里插入图片描述

注意:初始化只可以执行一次
  1. shell脚本一键启动hadoop集群
    启动HDFS集群
    start-dfs.sh(启动)
    stop-dfs.sh(停止)
    在这里插入图片描述
    使用java进程命令验证是否启动成功
    jps

node1:
在这里插入图片描述
node2:
在这里插入图片描述
node3:
在这里插入图片描述
启动YARN集群
start-yarn.sh(启动)
stop-yarn.sh(停止)
在这里插入图片描述
使用java进程命令验证是否启动成功
jps

node1:
在这里插入图片描述

node2:
在这里插入图片描述

node3:
在这里插入图片描述
start-all.sh
stop-all.sh

官方提供的关于HDFS集群和YARN集群的web页面

1.HDFS: http://namenode_host:9870
/namenode_host为主机名,此次配置的namenode在node1
在这里插入图片描述
在这里插入图片描述
2.YARN:http://resourcemanager_host:8088
其中resourcemanager_host是resourcemanager运行所在机器的主机名或ip
如果想要使用主机名访问,要在windows配置hosts
在这里插入图片描述
文件系统初体验

hadoop fs -mkdir /itcast:创建itcast文件夹
运行结果如下:
在这里插入图片描述
hadoop fs -ls /:查看根目录
在这里插入图片描述
hadoop fs -put anaconda-ks.cfg /itcast:上传文件到指定文件夹
在这里插入图片描述
在这里插入图片描述
mkdir -p 如果目录不存在,则自动创建目录
数据:指的是存储的内容本身,比如文件、视频、图片等
元数据:又称之为解释性数据,记录数据的数据
文件系统元数据一般指的是:文件大小、最后修改时间、底层存储位置、属性、所属用户、权限等信息。

HDFS:Hadoop Distributed File System hadoop分布式文件系统
是Apache Hadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在。也可以说大数据首先要解决的问题就是海量数据
存储的问题

在这里插入图片描述

HDFS对文件要求的是:一次写入多次读取

HDFS
适合场景:

大文件
数据流式访问
一次写入多次读取
低成本部署,廉价PC
高容错

不合适场景:

小文件
数据交互式访问
频繁任意修改
低延迟处理

HDFS特性:
1.主从架构
在这里插入图片描述
2.分块存储
在这里插入图片描述
3.副本机制
在这里插入图片描述

4.元数据管理
在这里插入图片描述
5.namespace
在这里插入图片描述
6.数据块存储
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值