实训第一天

上午:

  1. 老师先简单介绍了下Linux系统的分区所包含的内容,比如/usr是系统存在软件的地方;/home为用户家目录,/var/log分区是系统日志记录分区,/tmp用来存放临时文件等等。
  2. 然后介绍了Hadoop各个组件的作用,eg,计算类组件MapReduceSparkStorm,Flink,储存类组件HDFSHbase,分析类组件HivePig,数据挖掘方面DataHouseMachineLearning,数据采集方面FlumeOozie
  3. 系统的基本架构:HDFS架构包含三个部分:NameNode,DataNode,Client。NameNode用于存储、生成文件系统的元数据,运行一个实例。DataNode用于存储实际的数据,将自己管理的数据块上报给NameNode ,运行多个实例。Client:支持业务访问HDFS,从NameNode ,DataNode获取数据返回给业务。多个实例,和业务一起运行。

3.HDFS数据写入过程: (1)业务应用调用HDFS Client提供的API请求写入文件。(2)HDFS Client联系NameNode,NameNode在元数据中创建文件节点。(3)业务应用调用write API写入文件。(4)HDFS Client收到业务数据后,从NameNode获取到数据块编号、位置信息后,联系DataNode,并将需要写入数据的DataNode建立起流水线。完成后,客户端再通过自有协议写入数据到DataNode1,再由DataNode1复制到DataNode2, DataNode3。(5)写完的数据,将返回确认信息给HDFS Client。(6)所有数据确认完成后,业务调用HDFS Client关闭文件。(7)业务调用close, flush后HDFS Client联系NameNode,确认数据写完成,NameNode持久化元数据。

4.HDFS数据读取过程:

(1)业务应用调用HDFS Client提供的API打开文件。(2)HDFS Client联系NameNode,获取到文件信息(数据块、DataNode位置信息)。(3)业务应用调用read API读取文件。(4)HDFS Client根据从NameNode获取到的信息,联系DataNode,获取相应的数据块。(Client采用就近原则读取数据)。(5)HDFS Client会与多个DataNode通讯获取数据块。(6)数据读取完成后,业务调用close关闭连接。

下午:

老师告诉了进入HDFS文件目录下的流程方法,并且实际操作了HDFS下面的常见的命令

  1. 首先ssh [email protected]登陆自己账户上,cd 到自己的home目录下面的client目录,ls查看当前路径下的文件及文件夹有哪些,如下图所示:

图 1client目录下的文件及文件夹

  1. 通过source bigdata_env命令来使环境变量生效,紧接着通过kinit stu15命令来进行用户的认证;
  2. 通过hdfs dfs -ls /显示hdfs目录下的信息,如下图所示:

图 2hdfs目录下的文件及文件夹

  1. 创建文件:hdfs dfs -mkdir /tmp/fz(在tmp下创建fz这个文件),然后用hdfs dfs -ls /tmp/查看该文件是否创建成功,如下图创建成功:

图 3文件创建成功

  1. 移动文件:hdfs dfs -mv /tmp/a.txt  /tmp/fz,表示将tmp下面的a.txt文件移动到fz下面;

复制文件: hdfs dfs -cp /tmp/a.txt  /tmp/fz,表示将tmp下面的a.txt文件复制到fz下面;

下载文件:hds dfs -cat /tmp/a.txt,表示将tmp下面的a.txt下载到本地文件系统;

上传文件过程:

(1) vi fz.txt,在本目录下创建fz.txt文件的同时并进行打开,打开后即可编辑,用q!推出编辑模式;

(2) cat fz.txt可以查看刚才自己编辑的内容;

(3)hdfs dfs -put ./fz.txt,上传fz.txt到hdfs分布式文件系统。

6.更改文件权限

(1).用r表示可读文件,用数字4表示,w为可写文件,用数字2表示,x代表可执行文件用数据1表示,‘777’这个数组代表的意思是属主用户,属组用户,其他用户,拥有可读可写可执行的权限;

(2)首先在tmp下创建fz.txt文件,使用命令hdfs dfs -mkdir /tmp/fz.txt,创建完后使用hdfs dfs -ls  /tmp/查看目录,如下图所示:

图 4tmp目录下的文件及文件夹

可以看到a.txt的权限是rwxr-xr-x,也就是‘755’,接下来操作将权限改为‘777’,用命令:

hdfs dfs -chmod 777 /tmp/fz.txt,更改后查看是否修改成功,如下图所示:

图 5 更改权限'777'成功

猜你喜欢

转载自blog.csdn.net/weixin_41503009/article/details/84067094