这是一篇早年学习大数据知识时的折腾笔记,根据某培训机构的教程实操了Hadoop集群部署的详细过程。由于时间较早,部分内容可能已经过时,仅供参考。
学习中以三台虚拟机为例,主机名分别为hadoop01、hadoop02、hadoop03,系统为RockyLinux 8。
若多台虚拟机使用克隆的方式创建,需要按如下步骤分别修改主机名和静态ip地址,避免冲突。若各个虚拟机采用独立安装,则可在安装时直接配置好主机名和静态ip地址。
用户配置可以通过 xshell 发送键入到所有会话窗口
的功能,同时在三台主机上执行,可以简化 ssh 免密登录的重复操作。否则需要在每台主机上分别执行。
生成密钥对
将公钥分发到各个节点
:::caution 以下配置需要在 %wheel ALL=(ALL) ALL 之后添加,否则无效。因为所有用户都在 %wheel 组中,若在 %wheel 之前添加,则会被之后的 %wheel 这一行配置覆盖。 :::
切换到 hadoop 用户
生成密钥对
将公钥分发到各个节点
Rocky Linux 9 默认使用 chrony 作为时间同步服务。而 CentOS 7/8 默认使用 ntpd 作为时间同步服务。
创建目录
授权给 hadoop 用户
jdk-8u212-linux-x64.tar.gz
到/bigdata/software
目录通过
source
命令使环境变量生效,不需要重启系统,但是只对当前 shell 会话生效,若同时打开多个 shell 会话,则需要在每个 shell 会话中执行此命令,或者重启系统。
主机名 | 角色 |
---|---|
hadoop01 | NameNode、DataNode |
hadoop02 | DataNode |
hadoop03 | DataNode、SecondaryNameNode |
针对副本数量
dfs.replication
,由于我们在家中部署时,多数情况下三台虚拟机均在同一台物理机上和硬盘上,设置多个副本没有实际意义,反而浪费磁盘空间,所以设置为 1。生产环境中,需要修改为 3。
文件夹
/opt/bigdata/hadoop-3.3.4
只可在集群初次启动之前分发,若已启动过,不可再分发,因为每个节点生成的数据不同,分发后会导致集群损坏。
访问 NameNode
访问 DataNode
访问 SecondaryNameNode
主机名 | 角色 |
---|---|
hadoop01 | Nodemanager |
hadoop02 | ResourceManager、Nodemanager |
hadoop03 | Nodemanager |
注意只分发 /hadoop-3.3.4/etc/hadoop 配置文件夹,切勿同步整个 /opt/bigdata/hadoop-3.3.4 文件夹。
访问 ResourceManager
访问历史服务器