由于前面发了DCT图片压缩,还是有学弟学妹感谢我的文章,那我后面就把电脑上还保存着的部分实验和报告发布在这个专栏吧~
实验的源文件和我配置好之后的文件我打包好了在这里
链接:https://pan.baidu.com/s/1w9hBLdFKNqKtAaPmhtgaYA?pwd=wit6
提取码:wit6
考虑到有的人那啥,我这个实验用的虚拟机也放在这里吧,里面包含docker、长亭的雷池waf以及大数据实验配置好的所有环境
链接:https://pan.baidu.com/s/17ivaYLUVoOOmNDBNwr9bog?pwd=wit6
提取码:wit6
--来自百度网盘超级会员V3的分享
Hadoop配置和安装
-
如何查看和确认Linux防火墙已经关闭?如需关闭Linux系统防护墙,需要设置哪些操作步骤?
1.1查看防火墙状态à sudo systemctl status firewalld
可见防火墙是打开状态“active“
1.2关闭防火墙à sudo systemctl stop firewalld
再次查看防火墙状态,发现已经关闭” inactive”
-
写出在Ubuntu中安装SSH服务端和生成秘钥并加入授权过程。
2.1安装 OpenSSH 服务器àsudo apt install openssh-server
2.2生成SSH密钥à ssh-keygen -t rsa -b 4096
2.3将生成的公钥文件添加到授权列表中
à cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2.4设置 SSH 目录和授权文件的权限
àchmod 700 ~/.ssh
àchmod 600 ~/.ssh/authorized_keys
重启 SSH 服务,以使更改生效àsudo systemctl restart ssh
-
安装和配置Hadoop伪分布式集群中,需要修改和配置core-site.xml 和hdfs-site.xml,(1)写出这两个配置文件中的各属性名称功能。(2)启动后的Hadoop进程有哪些?(3)Hadoop启动后运行jps可以看到有哪些进程启动?
首先配置安装好Java环境,本次实验环境为Java1.8+centOS8
(1)如下图为core-site.xml的配置
属性一名称为fs.defaultFS,值为hdfs://localhost:9000,这个属性指定了Hadoop文件系统的默认URI。
属性二名称为hadoop.tmp.dir,值为/root/Hadoop/temp ,功能为Hadoop运行时产生的临时文件的存储路径。
如下图为hdfs-site.xml的配置
属性一:dfs.replication:,这个属性指定了数据块的副本数量。在这里,副本数量被设置为1,表示每个数据块只有一个副本
属性二:dfs.namenode.name.dir: 这个属性指定了NameNode存储命名空间元数据的本地文件系统路径。元数据将被存储在/root/Hadoop/temp/dfs/name目录下。
属性三:dfs.datanode.data.dir: 这个属性指定了DataNode存储数据块的本地文件系统路径。数据块将被存储在/root/Hadoop/temp/dfs/data目录下
(2)常见的 Hadoop 进程:
Namenode:HDFS守护进程,用来管理文件系统的命名控件,负责记录文件是如何分隔成数据块,以及这些数据块被存储到哪些数据节点上,它的主要功能是对内存及IO进行集中管理。
Datanode:文件系统的工作节点,根据需要存储和检索数据块,并定期向Namenode发送它们所存储的块的列表。
Secondary Namenode:辅助后台程序,与Namenode进行通信,以便定期保存HDFS的元数据的快照,用以备份和恢复数据。
ResourceManager:负责集群中所有资源的统一管理和分配
NodeManager:管理Hadoop集群中单个计算节点,并与ResourceManager保持通信
(3)如图运行jps可以看到有这些进程启动
-
实验小结
本次实验首先配置了Java环境,然后安装和配置了Hadoop,并最终启动了Hadoop集群。本次实验使我们熟悉了配置Java环境和Hadoop的过程,并了解了启动Hadoop集群的基本步骤。通过这个实验,我们能够更好地理解和掌握Hadoop分布式系统的部署和管理。
Linux下安装jdk8
上传并解压
tar -zxvf 文件名.tar.gz
命令vi /etc/profile设置环境变量
export JAVA_HOME=/root/jdk8/jdk1.8.0_221 #jdk安装目录 export JRE_HOME=${JAVA_HOME}/jre #jre安装目录 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin |
注意事项:
打开之后要输入i进行插入,然后光标定到最下面再输入
输入完成后”:wq”进行保存并退出,”:q!”是不保存退出
上面冒号是告诉vi这是命令不是要插入的东西,w为wrtie,q为quit,!为强制退出
source /etc/profile输入这条命令让配置生效
HDFS文件访问
- 用shell命令在HDFS中新建user目录及hadoop子目录,写出命令过程及结果截图如下。
使用命令hadoop fs -mkdir /user/hadoop创建文件夹
使用命令hadoop fs -cd /user查看发现文件夹创建成功
- 将Ubantu本地文件系统中的数据文件class1.txt、class2.txt和class3.txt存储到HDFS中的user/hadoop目录中,写出shell命令过程及将实验结果截图如下。
首先将class1.txt、class2.txt和class3.txt存放在Ubantu本地文件系统里面
再使用命令hadoop fs -put class1.txt class2.txt class3.txt /user/hadoop将这几个文件存储到HDFS中的user/hadoop目录中
使用命令hadoop fs -ls /user/hadoop验证文件是否存储进去
发现存储成功
HBase数据库
- 在Hadoop伪分布式集群基础上安装和配置Hbase数据库,并启动。输入jps命令,将系统进程截图粘贴到下方。
启动Hbase之后进程如下
- 在HBase数据库中用shell命令创建表student(name,sex,age,dept),并在表中新增如下数据:
name | sex | age | dept |
xiaoli | male | 18 | computer |
yiyi | female | 20 | english |
lulu | female | 19 | art |
(1)shell命令查看表中所有数据,并将结果截图粘贴在下方。
部分创建过程中的命令和截图如下:
create 'student', 'info'
put 'student', 'row1', 'info:name', 'xiaoli'
put 'student', 'row1', 'info:sex', 'male'
put 'student', 'row1', 'info:age', '18'
put 'student', 'row1', 'info:dept', 'computer'
最终表格数据如下àscan 'student'
(2)shell命令删除姓名为’lulu’对应行键的中age单元格数据。并将结果截图粘贴在下方。
删除命令delete 'student', 'row3', 'info:age'
(3)shell命令增加姓名为’yiyi’对应行键中数学课程成绩为95分(score:math 95)。并将结果截图粘贴在下方。
涉及到修改表的结构,首先禁用表student,命令为disable 'student'
然后增加一个列族score,命令为alter 'student', {NAME => 'score'}
再启用student表,命令为enable 'student'
插入新数据,命令为put 'student', 'row2', 'score:math', '95'
最后查看表有没有插入成功,命令为scan 'student'
假设上述HBase表可以被划分成多个Region,假设每个Region大小为128MB,假设.META.表的每行(一个映射条目)在内存中大约占用2KB。
(1)画出HBase的三层结构定位Region图(这个要自己画一下)
⬆这个为我找的解释,理解下三层结构图
(2)计算上述HBase表的理论存储容量大小。
这里我写错了,因为我没有买书就看了几篇文章,但其实很简单,书上写了,自己看一下去吧,我懒得去找在哪一页了
实验小结
通过本次HBase实验,我深入了解了HBase的架构和基本操作,从创建表、插入数据到管理表结构和计算存储容量,全面掌握了HBase的使用方法。实践中的挑战让我更加深刻地理解了理论知识,同时也提升了我解决问题的能力。在排查错误的过程中,我花费了不少时间和精力,但通过仔细分析问题、查阅资料和不断尝试,最终成功克服了困难。这次实验不仅加强了我对大数据存储技术的理解,也为我未来在数据管理领域的发展奠定了坚实的基础,我对HBase及其在实际应用中的潜力有了更深的认识和信心。