代码拉取完成,页面将自动刷新
所有配置文件,可在官网的底部查看,如图:
术语 | 含义 | 备注 |
---|---|---|
master | 集群中的主机,分配和调度任务,管理集群名单等工作在主机上完成 | 集群里对计算机的概念 |
slave | 集群中的从机,接受任务,接受分配与调度 | 集群里对计算机的概念 |
deamon | 守护进程,后台运行且周期性工作不会消亡的进程 | |
HDFS | hadoop distributed file system | hadoop 分布式文件系统 |
NameNode | 集群中用于管理 hdfs 的文件命名空间 (包括一些元数据,文件系统块信息和大小等),并接受客户端访问的主节点守护进程 | hdfs 守护进程之一 |
SecondaryNameNode | 检查点节点,用于辅助 NameNode 将每次文件变化的跟踪记录写入 NameNode 的文件快照中 | hdfs 守护进程之一 |
DataNode | hdfs 中的从节点,数据实际存放在 DataNode 上 | hdfs 守护进程之一 |
YARN | hadoop 分布式处理框架的资源管理和作业调度软件 | |
ResourceManager | 接受客户端的资源请求,并为 NodeManager 分配调度资源,资源包括 (cpu,硬盘,内存,网络) 等 | yarn 守护进程之一 |
NodeManager | 每台电脑上接受 ResourceManager 调度的 hadoop 程序的代理,监控这台电脑 hadoop 的资源使用情况,资源包括 (cpu,硬盘,内存,网络) 等,并汇报给 ResourceManager | yarn 守护进程之一 |
编辑 etc/hadoop/hdfs-site.xml
去掉 datanode
相关配置
<configuration>
<property>
<!-- DataNode 上的文件块副本数 参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#NameNode_and_DataNodes -->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<!-- NameNode 命名空间文件存储位置 -->
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-3.2.4/hadoop_data/hdfs/namenode</value>
</property>
<!-- 去掉下面的 datanode 配置 -->
<!-- <property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-3.2.4/hadoop_data/hdfs/datanode</value>
</property> -->
</configuration>
删除以下文件夹下所有内容
hadoop_data/hdfs/namenode
hadoop_data/hdfs/datanode
可以使用如下命令
# 删除 namenode 目录下所有文件
# -r 递归删除
# -f 强制删除
rm -rf hadoop_data/hdfs/namenode/*
# 删除 datanode 目录
rm -rf hadoop_data/hdfs/datanode
编辑 etc/hadoop/yarn-site.xml
<configuration>
<!-- ... 其他配置 -->
<!-- 新增配置 -->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
</configuration>
修改 workers 加入已经存在的 slave 主机名 vim etc/hadoop/workers
例如:
# workers
slave1
slave2
# 注意: 现在的 master 不需要充当 datanode 所以把 master 删除掉
以任意一台 slave 主机为例,执行下列操作,然后将同样的操作应用到其余 slave 主机
编辑 etc/hadoop/hdfs-site.xml
去掉 namenode
相关配置
<configuration>
<property>
<!-- DataNode 上的文件块副本数 参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#NameNode_and_DataNodes -->
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 去掉下面的 namenode 配置 -->
<!-- <property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-3.2.4/hadoop_data/hdfs/namenode</value>
</property> -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-3.2.4/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
# 删除 namenode 目录
rm -rf hadoop_data/hdfs/namenode
# 清空 datanode 下所有内容
rm -rf hadoop_data/hdfs/datanode/*
编辑 etc/hadoop/yarn-site.xml
<configuration>
<!-- ... 其他配置 -->
<!-- 新增配置 -->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
</configuration>
格式化 hdfs
hdfs namenode -format
启动
start-dfs.sh && start-yarn.sh
启动后使用 jps
查看 java
进程是否存在以下内容
NameNode
SecondaryNameNode
ResourceManager
然后在 slave1
和 slave2
上运行 jps
查看是否存在如下进程
DataNode
NodeManager
存在进程也不意味着启动成功,所以查看下网页看看:
hadoop hdfs web ui 网址: http://master:9870
yarn web ui 网址: http://master:8088
若访问不成功,可以替换 master 为自己的 ip 试试
最后查看 nodes 菜单中,是否存在节点,如图:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。