一.分布式系统和集群
分布式
- 概念:分布式是指将多台服务器集中在一起,每台服务器都实现总体中的不同业务,做不同的事情。
- 基础架构:去中心化模式,中心化模式(主从模式)。
集群
- 概念:所谓集群是指一组独立的计算机系统构成的一多处理器系统,它们之间通过网络实现进程间的通信,让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份的。
区别
- 分布式:分布式的主要工作是分解任务,将职能拆解,多个人在一起做不同的事。
- 集群:集群主要是将同一个业务,部署在多个服务器上,多个人在一起做同样的事。
二.Hadoop框架概论
- Hadoop的功能:Hadoop是开源的技术框架,提供分布式存储,计算,资源调度的解决方案。
- 狭义解释:Hadoop是指Apache这款开源框架,核心组件有:HDFS,MAPREDUCE,YARN。MapReduce计算需要的数据和产生的结果需要HDFS来储存,MapReduce的运行需要Yarn集群来提供资源调度。
- 广义解释:Hadoop通常是指一个更广泛的概念——Hadoop生态圈。
- HDFS集群:NameNode,DataNode,SecondaryNameNode
- YARN集群:ResourceManager,NodeManager
Hadoop集群搭建
- Standalone mode(单机模式)
- Cluster mode(集群模式)
三.HDFS文件系统
特点
- 文件系统可存储超大文件,时效性稍差。
- 具有硬件故障检测和自动快速恢复功能。
- 为数据存储提供很强的扩展能力。
- 存储一般为一次写入,多次读取,只支持追加写入,不支持随即修改。
- 可在普通廉价的机器上运行。
架构
- HDFS采用Master/Slave架构。
- 一个HDFS集群有两个重要的角色,分别是Namenode和Datanode。
- HDFS的四个基本组件:HDFS Client,NameNode,DataNode和Secondary NameNode。
一.Linux系统的文件结构
- /bin 二进制文件,系统常规命令
- /boot 系统启动分区,系统启动时读取的文件
- /dev 设备文件
- /etc 大多数配置文件
- /home 普通用户的家目录
- /lib 32位函数库
- /lib64 64位库
- /media 手动临时挂载点
- /mnt 手动临时挂载点
- /opt 第三方软件安装位置
- /proc 进程信息及硬件信息
- /root 临时设备的默认挂载点
- /sbin 系统管理命令
- /srv 数据
- /var 数据
- /sys 内核相关信息
- /tmp 临时文件
- /usr 用户相关设定
二.基础操作
- 立刻关机 shutdown -h now 或者 poweroff
- 立刻重启 shutdown -r now 或者 reboot
- ifconfig --help //查看 ifconfig 命令的用法
- man shutdown //打开命令说明后,可按"q"键退出
- su yao //切换为用户"yao",输入后回车需要输入该用户的密码
- exit //退出当前用户
三.目录操作
3.1 切换目录(cd)
- cd / //切换到根目录
- cd /bin //切换到根目录下的bin目录
- cd ../ //切换到上一级目录 或者使用命令:cd ..
- cd ~ //切换到home目录
- cd - //切换到上次访问的目录
- cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
- cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
3.2 查看目录(ls)
- ls //查看当前目录下的所有目录和文件
- ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
- ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
- ls /bin //查看指定目录下的所有目录和文件
3.3 创建目录(mkdir)
- mkdir tools //在当前目录下创建一个名为tools的目录
- mkdir /bin/tools //在指定目录下创建一个名为tools的目录
3.3 删除目录与文件(rm)
- rm 文件名 //删除当前目录下的文件
- rm -f 文件名 //删除当前目录的的文件(不询问)
- rm -r 文件夹名 //递归删除当前目录下此名的目录
- rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
- rm -rf * //将当前目录下的所有目录和文件全部删除
- rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
3.4 修改目录(mv)
- mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
- mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
- mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
3.5 拷贝目录(cp)
- cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
- cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
3.6 搜索目录(find)
- find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
3.7 查看当前目录(pwd)
- pwd //显示当前位置路径