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/a81423cbb29e4f818bec62f687e30421.png)
free:用于显示内存状态。会显示内存的使用状况。
df(disk free):用于显示目前在Linux系统上的文件系统磁盘使用情况统计
![在这里插入图片描述](https://img-blog.csdnimg/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/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
node2.itcast
node3.itcast
4.修改hosts
vim /etc/hosts
192.168.88.151 node1 node1.itcast
192.168.88.152 node2 node2.itcast
192.168.88.153 node3 node3.itcast
5.同步时间
ntpdate ntp5.aliyun
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/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/4ef2901008b64404ba2fc1c6e9a534b5.png)3.修改hdhs-site.xml文件
vim hdhs-site.xml
在configuration标签中间添加以下
dfs.namenode.secondary.http-address node2:9868 ![在这里插入图片描述](https://img-blog.csdnimg/9998cdd35d94478da889217d4225c6af.png) 4.修改mapred-site.xml vim mapred-site.xml在configuration标签中间添加以下
mapreduce.framework.name
yarn
在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 604800dd:删除整行
6.修改workers
vim workers
node1.itcast
node2.itcast
node3.itcast
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:
PWDscp−rhadoop−3.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
注意:初始化只可以执行一次
- 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.数据块存储
更多推荐
大数据学习
发布评论