作者简介&#xff1a;大家好我是小唐同学(๑><๑&#xff09;&#xff0c;好久不见&#xff0c;为梦想而努力的小唐又回来了&#xff0c;让我们一起加油&#xff01;&#xff01;&#xff01;
个人主页&#xff1a;小唐同学(๑><๑&#xff09;的博客主页
目前再学习大数据&#xff0c;现在在初级阶段-刚学Hadoop&#xff0c;若有错误&#xff0c;请指正
目录
一&#xff0c;集群部署规划
二&#xff0c;配置文件说明
三&#xff0c;配置集群&#xff1a;
&#xff08;1&#xff09;配置核心文件&#xff1a;
四&#xff0c;格式化节点&#xff1a;
五&#xff0c;启动集群&#xff1a;
六&#xff0c;测试集群&#xff1a;
&#xff08;1&#xff09;上传小文件&#xff1a;
(2)上传大文件&#xff1a;
一&#xff0c;集群部署规划
&#xff08;1&#xff09;NameNode和SecondaryNameNode不要安装在同一台服务器
&#xff08;2&#xff09;ResourceManager也很消耗内存&#xff0c;不要和NameNode,SecondaryNamenode配置在同一台机器上
二&#xff0c;配置文件说明
置文件和自定义配置文件
&#xff08;1&#xff09;默认配置文件有四种对应Hadoop的四大组件
&#xff08;2&#xff09;自定义配置文件&#xff1a;
core-site.xml , hdfs-site.xml , yarn-site.xml , mapred-site.xml
这四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上&#xff0c;用户可以根据项目需求重新进行修改配置。&#xff08;$HADOOP_HOME为Hadoop的安装路径&#xff09;
三&#xff0c;配置集群&#xff1a;
&#xff08;1&#xff09;配置核心文件&#xff1a;
配置core-site.xml
fs.defaultFS
hdfs://hadoop102:8020
hadoop.tmp.dir
/opt/module/hadoop-3.1.3/data
配置hdfs-site.xml
dfs.namenode.http-address
hadoop102:9870
dfs.namenode.secondary.http-addresshadoop104:9868
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop103
yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
mapreduce.framework.name
yarn
配置完成后在集群上分发配置好的Hadoop配置文件
上述集群配置完成后&#xff0c;在群起集群之前需要配置workers文件
先切换到Hadoop的目录下
cd /opt/module/hadoop-3.1.3
切换到Hadoop的文件夹下
cd etc/hadoop/
vim workers
上述命令进入workers文件下&#xff08;文件不允许有空格和空行&#xff09;
有几个节点就配置几个名称
配置完毕后需要分发一下 分别配置给其他集群内部的服务器
四&#xff0c;格式化节点&#xff1a;
&#xff08;1&#xff09;如果集群是第一次启动&#xff0c;需要初始化&#xff08;格式化&#xff09;NameNode,在格式化的过程中我遇到了报错&#xff0c;通过阅读报错信息&#xff0c;重新配置了四个自定义配置文件&#xff08;建议报错先认真阅读&#xff09;
hdfs namenode -format
上述格式化完成
五&#xff0c;启动集群&#xff1a;
启动集群在sbin目录下&#xff08;在Hadoop的安装目录下&#xff09;
启动HDFS&#xff1a;
启动完毕后用命令jps(jps命令在Hadoop的安装路径下执行&#xff0c;是java提供的一个显示当前所有java进程pid的命令)
可以看到跟我们的集群规划相同
搜索 hadoop102:9870可以看到hdfs存储的数据信息
在配置了ResourceManager的节点&#xff08;hadoop103&#xff09;启动YARN
可以看到三个进程符合集群规划
搜素 hadoop103:8088可以看到yarn的资源调度网页
六&#xff0c;测试集群&#xff1a;
上传文件到集群&#xff1a;
&#xff08;1&#xff09;上传小文件&#xff1a;
上传带内容的文件到wcinput
(2)上传大文件&#xff1a;
回到根部录下可以看到有添加的数据&#xff0c;但是这只是个链接&#xff0c;方便展示&#xff0c;实际存储在datanode节点
刚开始初始化节点的时候只有name&#xff0c;现在存入数据后出现了data
数据存储的目录&#xff1a;
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-2091296116-192.168.10.102-1677829450991/current/finalized/subdir0/subdir0
查看文件内容&#xff1a;
查看小文件直接cat即可
查看大文件&#xff1a;
cat blk_1073741826>>tmp.tar.gz和cat blk_1073741827>>tmp.tar.gz是把这两个拼接成一个jdk压缩包&#xff0c;然后解压发现就是上传的jdk压缩包&#xff0c;所以可以确定hdfs实际上内容存储的位置就是在这里。这里为什么会把jdk的压缩包分为两部分呢&#xff1f;原因就是在hadoop里存储的容量是128MB为一个块&#xff0c;然后jdk的压缩包有180MB&#xff0c;所以一个块存不下&#xff0c;需要两个块&#xff0c;注意块的序号是从0开始的
Hadoop是具有高可用的&#xff0c;所以会有多个备份&#xff0c;不测试显示3分备份&#xff0c;所以在hadoop103,hadoop104上同样的路径有同样的数据