hadoop,hdfs,yarn,linux命令,shell脚本讲解

本文深入探讨Hadoop的三大核心(HDFS, MapReduce, YARN)及四大模块(common, hdfs, mapreduce, yarn),同时详述Linux命令、shell脚本、用户管理、文件操作、环境配置等内容,为读者提供全面的大数据处理与系统管理知识。

数据1:hadoop,hdfs,yarn,linux命令,shell脚本讲解
1.描述一下hadoop的三大核心和四大模块

	hadoop三大核心:HDFS,MapReduce,yarn
	hadoop四大模块:
		1.hadoop common:为其他hadoop模块提供基础设施
		2·hadoop hdfs:一个高可靠,高吞吐量的分布式文件系统
		3.hadoop mapreduce:一个分布式的离线并行计算框架
		4.hadoop yarn:一个新的mapreduce框架,任务调度与资	源管理

2.table

1.自动补全命令或目录
2.在某个目录下只有一个目录时无需输入首字母敲tab自动补全目录
3双击tab:显示所有命令
列出某个目录下的所有文件

3.各种命令复习?

关机:init 0 
  shutdown -h now//把now改成数字对应的分钟数
重启:init 6 或 reboot

ctrl+c:强制退出
ctrl+Alt:退出虚拟机界面
ctrl+G:进入虚拟机界面
clear:清空

cd ./当前目录
cd ../ 返回上一级目录
cd - 返回上一次操作目录
cd~  回到root用户下的家目录

ls 列出当前目录下的所有目录
pwd  显示当前目录

4.创建用户

#useradd 用户名
#passwd 用户名
查看用户名:cat /etc/passwd
查看用户密码:cat /etc/shadow

#id 用户名 查看用户信息
#groups 用户名 查看用户所属组

5.修改密码的三种方式

1.#passwd 用户名 回车,然后输入新密码
2.echo "123" | passwd --stdin 用户名
3.暴力破解:
1.先进入虚拟机界面后,再3秒内按回车,进入
2.选项菜单按e进入编辑模式
3.编辑kernel那行 输入空格1 或者 single
4.按B重启
5.进入后执行下列命令
root@passwd root
Enter new Unix passwd :输入新密码
6.	执行命令 root@init 6或 reboot

6.删除用户

userdel 用户名
只删除用户信息不删除文件

7.用户切换

su 普通用户用户名
su -等于 su root
输入root用户密码

8.用户组

1.添加
	groupadd组名
2.删除groupdel 组名
3.添加用户组到指定用户组
useradd -g 组名 -d 路径 用户名
添加用户组
useradd -g 组名 用户名
4.修改用户到指定用户组
usermod -g 组名 -d 路径 用户名
修改用户组
usermod -g 组名 用户名
5.查看用户组
#cat /etc/group
6.查看用户
who am i//显示用户名,组名,时间
whoami //只显示用户名
who//用户连接方式
7给普通用户执行root用户
添加权限
chmod 777 /etc/sudoers
chmod u+w /etc/sudoers
u用户;g同组用户;o其他用户;a所有用户
例子vi /etc/sudoers
按i修改
enter换行
aa All=(root)NOPASSWD:ALL
保存退出:按ESC :wq
q!强制退出

生效方法
1.source /etc/sudoers //使修改操作生效
2.重启虚拟机:init 6或reboot

9.创建文件和目录

建目录:mkdir 目录名
touch 文件名
2.复制文件
cp 源文件名 改后文件名
3.复制目录
cp -r 源文件的名 改后文件的名
4.移动、剪切、重命名
mv 源文件名 改后文件名
5.删除
#rm 文件名//删除文件
#rm -rf 文件名//删除文件且不可恢复
6.查看文件内容
#cat -n 文件名//有行号显示文件内容
#cat 文件名 //无行号显示文件内容
7.显示文件前。。行,后。。行(不常用)
head 文件名//默认查看前10行
tail 文件名//默认查看后10行
8.head -3:显示开头前3行
  tail -3:显示结尾后3行
9.追加文本内容
echo "aaa">chen  追加覆盖原来内容
echo "mmm">>chen 追加不覆盖原来内容

10.vim文件名和vi文件名

	vim是高级文本编译器,可以带颜色
	vi是低级文本编辑器,不带颜色
相同点:命令行模式一样,功能一样

11.打包

1.打包多个文件和目录
tar -zcvf b.tar chen.txt a b

2.解包

不指定解包位置
tar -xvf a.tar
指定解包位置
tar -xvf a.tar -c /home/aa

12.查询命令,locate、which、find的区别?

locate 和which 功能一样,locate的查询效率比which快
find的运行效率最低

13.给shell命令起别名

vi /etc/bashrc

alias hk=`clear`
ESC :wq

14.linux网络安全

装完vmware之后把ip改成自己习惯的,必须确保本机与虚拟机在同一网段
,这样才能联通机子,不然无法联通
虚拟机和本机通过vmware NET1连接

字节码:255.255.255.0等于24

15.hadoop集群的三种模式

1.单机
	一个节点一台机子
2.伪分布
	一个节点模拟多个节点
3.全分部
	真是集群,有多个节点组成

16.什么是linux???

	linux是一套免费使用和自由传播的类Unix操作系统,是一
	个基于	POSIX和UNIX的多用户、多任务、支持多线程和多CPU的
	操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。
	它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思
	想,是一个性能稳定的多用户网络操作系统。

17…hadoop的三个版本?

Apache Hadoop
CDH
HDP

18.hadoop的环境支持?

	jdk
	hadoop	

19.安装hadoop??

1.查看防火墙状态
service iptables status
2.修改主机名
vi /etc/syconfig/netork//修改主机名

改MAC地址,UUID(改1-2位,16进制),
改:ONBOOT=yes        //默认是开机不启动,改成开机启动
改: BOOTPROTO=none     //是否启动PROTO协议  dhcp表示通过路	由器动态获取地址,没有路由就把它先关了,再写IP地址
(添加下面所有内容)
IPADDR=192.168.10.10
PREFIX=24 或255.255.255.0      //子网掩码   24代表三个网段255
GATEWAY=192.168.10.254	       //网关,是VMware1的IP,它将通过		这个机子与其他任何机子互连
DEFROUTE=yes		//是否开启默认路由
NAME="System eth0"          //给网卡起名(为了其他软件对此网卡进	行管理)

4. vi /etc/hosts修改映射文件
192.168.10.31 beicai01
192.168.10.32 beicai02
192.168.10.33 beicai03

5.重启网卡或重启虚拟机
#service network restart
init 6或reboot

6.ping 名或ip

7.用wsc导入所需要的包
mv 包名 

8.解包

9.修改系统环境变量
#vi /etc/profile
把pathmunge (){那行往下移
  然后插入
export JAVA_HOME=/opt/bigdata/jdk/
export HADOOP_HOME=/opt/bigdata/hadoop/

export 	CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
export 	PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

# source /etc/profile       //使修改后的系统生效

10.校验
#java //检测jdk是否安装成功
#hadoop //检测hadoop是否安装成功

20.集群

快照:对虚拟机的当前状态进行拍照,保存现在的状态
注意:写注释
克隆:一对一,一对多
分类:连接克隆:
仅仅是克隆出一个虚拟机的地址
完整克隆
克隆原来虚拟机的所有信息

21.hadoop三大核心

hdfs集群
yarn集群:分布式资源管理系统,yarn是一个通用的计算框架
mapredouce:适合计算机组成的分布式文件的大量数据计算

hadoop的四大模块

common:是hadoop的基础设施,为其他模块提供服务
hdfs;hadoop的分布式存储系统
mapredouce:hadoop的计算框架
yarn:一个分布式资源广利系统

22.测试hadoop

测试hadoop
1.hdfs hadoop分布式文件存储系统测试
上传文件到hdfs:
hdfs dfs -put 要上传问文件存储系统的路径
hdfs dfs -put /home/opt/bigdata/chen.txt
查看文件是否上传成功
hdfs dfs -ls/ /显示当前hdfs文件系统下的文件

从hdfs下载到本地:
hdfs dfs -get 上传文件的路径 hdfs存储系统存储文件的路径

2.验证yarn
yarn jar /opt/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-		mapreduce-exampls-2.7.2.jar wordcount /wc.txt/out/1
(来源:/mr/input/redhat.txt 目的:/mr/output/out1)
# hadoop fs -lsr /    复制/mr/output/out1/part-r-00000
# hadoop fs -text /mr/output/out1/part-r-00000

3.查看web系统

查看hdfs
h1:50070
查看yarn
h1:8088
查看集群历史服务
h1:19888

23.集群的启动方式

1.start-dfs.sh
2.start-yarn.sh

24.启动yarn的协议

yarn-daemon.sh start proxyserver

25.单进程启动

1.先启动dfs进程:
启动namenode
datanode
ResourceManager
NodeManager

组件:1.datanode
2.namenode
3.secondarynamenode
sbin/hadoop-daemon.sh start datanode//启动datanode的jps进程
hadoop-daemon.sh start  namenode
hadoop-daemon.sh start  secondarnamenode
再启动yarn进程:
yarn-daemon.sh start nodemanager
yarn-daemon.sh start resourcemanager

26.如何启动历史服务?

#mr-jobhistory-daemon.sh  start historyserver

27.启动proxyserver服务?

yarn-daemon.sh start proxyserver

28.hadoop的特点

优点:
	1.高可靠:
		按位存储,数据就近原则
	2.高扩展:
		集群节点可以根据业务需求随时扩展和缩减
	3.高效性
		可以在各个集群节点之间动态的移动数据,并保证集群间的各个系欸但动态平衡
	4.高容错
			hadoop能自动保存多个副本
		
缺点:
		1.不适合高校存储文件大小
		2.不适合低延迟数据访问
		3.不支持多用户的写入和修改操作

29.hadoop能够干什么?

	数据挖掘,收集数据,计算,数据展现

30.hdfs的底层架构-分布式文件存储系统

基于物理层存储的分布式
基于客户端/服务器

31.hdfs基本概念

hdfs是一个分布式文件存储系统
hdfs是用java语言来实现分布式的,可扩展文件系统
hdfs是hadoop的三大核心四大模块之一
hdfs主要用于海量数据存储
hdfs基本存储单位:块(是最小的数据读写单位)
块的默认单位是:byte
块的好处:
有个文件的大小可以大于集群的任意磁盘容量
适合用于数据备份们提供了容错能力和可用性

32.namenode:主节点集群老大,存放元数据信息

元数据:命名空间,块的生成空间,大小,文件目录
记录每个数据块在datanode的位置和副本信息
协调客户端对文件访问
更新影像文件

33.secondaryNameNode()

合并namenode的edit logs到fsimage文件中
datanode:
小弟,负责存储数据
	一次写入,多次读取
	数据文件以块存储

33.hdfs的读操作

1.客户端与namenode通讯获取文件的快位置信息,其中包括了块的	所有冗余备份的的位置信息:Datanode的列表
2.客户端获取文件位置信息后直接同有文件块的datanode通讯,读取文件
3.如果第一个datanode无法连接,客户端将自动连接下一个datanode
4.如果块数据的校验值出错,则客户端需要向namenode报告,并自动连接下一个datanode

34.hdfs的写如操作

	客户端访问namenode,获取元数据信息,namenode判断文件是否存在
如果存在,返回客户端不可写入
如果不存在,返回客户端,datanode信息
缓存第一个块到本地
缓存块成功后,namenode会给客户端返回一个datanode的列表
列表中是改块可以存放的位置,包括冗余备份
客户端随机连接到datanode,把第一个块存放起来并备份
后续读取文件所有的块重复以上操作,知道文件所有块的写入完成
删除本地缓存
记录文件信息到edits文件中,并更新到namenode的元数据到内存中
知道所有的操作完成,写操作完成

35.hdfs高可靠

按位存储,就近原则
hdfs的机架策略:
集群节点放在不同机架上
机架宽带比机架内宽带要小(传输速度块)
一个机架存放两个副本:防止数据丢失

0.17版本之前存放三个副本
1.副本放在与客户端同一个机架距离最近的机器上
2·副本放在同一个机架激励第一个副本最近的设备中
3·副本放在不同机架的某一个设备中

0.17之后存放三个副本
副本放在客户端同一个机架设备中
副本放在不同机架的某一个设备中
副本放到与第二副本同一个机架不同设备中

36.心跳机制

心跳三秒一次
块报告 五分钟一次
完整性报告 一小时一次
判断datanode是否死亡
10*3+2*5*60=630秒
namenode周期性从datanode接受心跳报告和快报告来监控集群
namenode根据块报告验证元数据信息
没有按时发送会被datanode标记死亡状态,不会给datanode分配io请求
如果datanode死亡,在namenode检测这些数据快丢失后在合适的时间自动修复
自动修复原因:
	1·数据副本损坏
	2·磁盘故障
	3·断电

37.安全模式

1.namenode启动安全模式
不支持操作,支持读取
2.安全模式下:
只能查询
3.如何进入安全模式
hdfs dfsadmin -safsemode enter 进入
hdfs dfsadmin -safsemode leave 离开
hdfs dfsadmin -safsemode gat 下载

38.hdfs的命令

hadoop/hdf/yarn fs -cmd
1.列出hdfs文件系统中根目录下的目录和文件
hdfs dfs -ls/ 列出hdfs二级目录
hdfs dfs -ls -R /  列出hdfs的所有文件信息
2.上传文件
hadoop/hdfs/yarn dfs -put ./test
3.文件复制
hdfs dfs -copyFormLocal 原路径 路径
hdfs dfa -moveFromLocal <hdfs src> <local src>
4.将hdfs下载到本地并重命名
hdfs dfs -get in getin
5.copyToLocal
hdfs dfs -cpyTpLocal  <hdfs src> <local src>
和get一样
6.删除文档
hdfs dfs -rmr  <hdfs src> 
hdfs dfs -rm <hdfs src>
hdfs dsf -rm -r <hdfs src> 
7.查看文件内容 
hdfs dfs -cat 文件名
8.建目录
hdfs dfs -mkdir/input
9.合并多个文件
hdfs dfs -getmerge 多个文件的hdfs路径之间用空格隔开 合并之后的	文件名
10.执行基本信息
hdfs dfsadmin -report
11.进入/查看/退出安全模式
hdfs dfsadmin -safemode enter|leave|get
12.添加节点
start-all.sh
	13负载均衡
start-balancer.sh

39.什么是yarn

	新的计算框架,负责整个集群的资源管理和分配
2.yarn的组件
	调度器和应用程序管理器
	调度器:
负责对各个应用程序资源进行分配
2.应用程序管理器
与调度器协商启动应用程序管理器的进程
3.container:(容器)
负责对各个应用程序资源进行分配
4.nodemanager slaver
是每个节点上的资源和任务管理器
5.resourcemanager master
负责整个集群资源管理与分配
6.jobhistoryserver
记录mapreduce的历史信息

什么的zookeeper?

hadoop是一个动物园,zookeeper就是一个管理员,hive蜂巢
zookeeper是一个分布式集群的协调服务,为分布式提供高可用,高效性的分布式协调服务
应用于:hadoop集群,hbase,kafka

46.zookeeper运行模式

单机,伪分布,全分布

47.leader/follwer选举机制:

集群必须启动一半或一半以上,而leader只有一个
follower可以有多个

48.ha

1.启动每台节点的zookeerper,再查看状态,jps-	QuperumMain
2.格式化第一台:namenode:hdfs -format
启动:hadoop-daemon.sh start namenode

格式化namenode:hdfs namenode -bootstorpStandby  

把普通集群变高可用:
hdfs -initializaShareEdits
把namenode换成hdfs hssdmin -failover -forcractive ha1 ha2

查看hdfs haadmin:
hdfs haadmin(会显示haadmin的命令列表)
hdfs haadmin -help或-list

3.启动HA集群:
启动journalnode:
hadoop-daemon.sh start journalnode
启动namenode:
hadoop-daemon.sh start namenode

4.进入web页面查看状态:
ha1:50070
ha2:50070
如果两台机子namenode都是standBy状态,执行下面操作
转换namenode为active状态:
hdfs haadmin -transitionToActive(transactionToActive)

5.查看进程:jps

6.启动datanode:
hadoop-daemon.sh start datanode(每台)

7.启动resourcemanager:
yarn-daemon.sh start resourcemanager

8.启动nodemanager:
yarn-daemon.sh start nodemanager

9.格式化zkfc:
hdfs zkfc -format


10启动HA:
start-dfs.sh
start-yarn.sh

11.	停止HA:dfs,yarn,resourcemanager,zkserver

50.大数据和云计算的区别?

云计算是硬件资源的虚拟化,而大数据是海量数据的高效处理。

云计算相当于我们的计算机和操作系统,将大量的硬件资源虚拟化后再进行分配使用。

51面试的重点
什么是linux?

	1991年(第一次正式对外公布)
Linux是一套免费使用和自由传播的类Unix的操作系统
C语言编写
以网络为核心
应用:
Linux可以安装在各个计算机和别的硬件设备中:
例如:手机,平板,台式机,大型机,超级计算机

52.linux的主要特征

	基本思想
一切皆文件
每个软件都有固定的用途
免费开源
多用户,多任务
良好的界面 字符界面和图面界面
字符界面--可以输入命令进行操作
图面界面--类似于windows的界面,可以说是一个Linux版的windows

(4)支持运行在多种平台
(eg:手机,平板,台式机,大型机,超级计算机、视屏游戏控制台)

53.常用的linux版本

Red Hat:
商业版(收费),企业级的LInux (80-110元)

Fedora Core:
由原来的Red Hat桌面版发展而来,免费版本(家用)

Centos:Red Hat社区克隆版本,免费
Debian:经常应用于服务器,性能稳定
Ubuntu:Debian衍生而来的,比较流行的桌面系统

	Fedora:急于尝试新技术,等不及稳定版本,一个测试平台

54.linux的根目录介绍??

/bin和/usr/bin :二进制文件,包括root用户和普通用户的操作命令,	shell解析器
/sbin:系统管理员root才能使用的命令

/boot:系统引导和内核目录,存放引导装载文件(启动分区	启动程序和内核)
/dev:设备目录,eg:cpu,input,disk
/home:所有用户的家目录
/lib:系统使用的函数库的目录
media:媒体目录,多媒体文件夹
/lost+found:系统崩溃时的信息存储位置
/opt:给主机额外安装软件存放目录
/tmp:存放程序产生的临时文件(关机重启信息清空)
/var:系统一般运行时需要改变的数据存储位置
/sys:系统的相关文件存放目录
/usr:存放应用程序相关的目录命令、函数库、共享包、内核源码
/proc:重要的需要存放在内存中的数据

55.用户操作

1、创建用户
# useradd 用户名 
# passwd 用户名
查看用户名:cat /etc/passwd
查看用户密码:cat /etc/shadow
# id 用户名//查看用户信息

1-499管理员 >=500普通用户

# groups 用户名 //查看用户所属组
2、修改密码
方法一:
# passwd 用户名 回车,然后输入新密码

方法二:
# echo "wef"
把双引号里的字符打印到显示屏上
	密码
# echo "1234" | passwd --stdin 用户名  //修改用户密码

# groups 用户名   //查看用户所属组
# id 用户名  //查看用户信息
1-500  管理员          >=500普通用户 


方法三: linux 不进去系统更改root密码 (linix暴力的破解密码)
先将输入定向到该虚拟机,即在虚拟机内部单击或是按Ctrl+G
	1.进入grub界面后,在3秒内按回车,进入
	2.选项菜单按e进入编辑模式
	3.编辑kernel那行  输入” 1”(空格1)或者” single”
	4.按B重启存的
	5.进入后执行下列命令
root@#passwd root (配置root用户的密码)

 Enter new unix password:输入新的密码
	6、执行命令 root@# init 6 或 reboot		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值