- 准备工作: - 硬件准备:准备至少 3 台服务器或虚拟机作为集群节点,确保它们之间网络互通,并且硬件配置能够满足 Hadoop 运行的需求。- 软件准备:在每台节点上安装 Linux 操作系统(如 CentOS、Ubuntu 等),并且关闭防火墙、禁用 SELinux(如果使用的是 CentOS 等系统)以避免可能的网络和权限问题。同时,安装好 SSH 服务以便远程操作和节点间的通信。
- 基础环境配置: - 设置主机名和 IP 地址1: - 为每台节点设置固定的 IP 地址,可以通过修改
/etc/sysconfig/network-scripts/ifcfg-ens33
(CentOS 系统为例)文件来配置 IP 等网络信息。- 修改/etc/sysconfig/network
文件来设置主机名,并使用hostname
命令查看和验证主机名是否设置成功。确保每台节点的主机名和 IP 地址在/etc/hosts
文件中有正确的映射关系,以便节点之间能够通过主机名互相访问。- 安装并配置 JDK: - 下载适合 Linux 系统的 JDK 安装包(如 JDK 1.8 版本),将其解压到指定目录(如/opt/module/jdk1.8.0_xxx
)1。- 配置环境变量,在/etc/profile
文件中添加 JAVA_HOME 等环境变量信息,并使用source /etc/profile
命令使环境变量生效。通过java -version
命令验证 JDK 是否安装成功。 - 安装 Hadoop: - 下载 Hadoop 安装包(如 Hadoop 2.x 或 3.x 版本),并将其解压到指定目录(如
/opt/module/hadoop-2.7.2
或/opt/module/hadoop-3.x.x
)12。- 配置 Hadoop 环境变量,在/etc/profile
文件中添加 HADOOP_HOME 等环境变量信息,并使环境变量生效。 - 配置 Hadoop4: - core-site.xml:该文件是 Hadoop 的核心配置文件之一,主要用于定义 Hadoop 的基本配置信息。例如,指定 NameNode 的地址和 Hadoop 运行时产生文件的存储目录
- hdfs-site.xml:主要用于配置 HDFS 的相关参数,如副本数、Secondary NameNode 的地址等。
yarn-site.xml:用于配置 YARN 的相关参数,如 ResourceManager 的地址、NodeManager 的资源分配等
- mapred-site.xml(如果是 Hadoop 2.x 版本,需要从模板文件复制并修改):用于配置 MapReduce 的相关参数,如指定 MapReduce 运行在 YARN 上。
节点间免密登录配置: - 在每台节点上生成 SSH 密钥对,使用
ssh-keygen -t rsa
命令,一路回车即可1。- 将每台节点的公钥复制到其他节点上,使用ssh-copy-id <目标节点主机名>
命令,以便节点之间可以免密码登录14。时间同步1: - 选择一台节点作为时间服务器,安装并配置 NTP(Network Time Protocol)服务。修改
/etc/ntp.conf
文件,添加允许本地网络的主机访问时间服务器的配置,以及设置本地时钟源等。- 在其他节点上设置定时任务,定期从时间服务器获取时间进行同步,使用crontab -e
命令添加定时任务,如*/10 * * * * /usr/sbin/ntpdate <时间服务器主机名>
。分发 Hadoop 配置文件: - 将配置好的 Hadoop 主节点上的 Hadoop 安装目录和配置文件分发到其他从节点上,可以使用
scp
命令或者编写脚本进行自动化分发2。启动 Hadoop 集群: - 在主节点上,使用
hadoop-daemon.sh start namenode
命令启动 NameNode,使用yarn-daemon.sh start resourcemanager
命令启动 ResourceManager(如果是 Hadoop 2.x 版本,使用start-all.sh
命令可以一次性启动所有相关服务)。- 在从节点上,使用hadoop-daemon.sh start datanode
命令启动 DataNode,使用yarn-daemon.sh start nodemanager
命令启动 NodeManager。验证 Hadoop 集群: - 使用
jps
命令查看各个节点上运行的 Hadoop 进程是否正常启动。在主节点上应该有 NameNode、ResourceManager 等进程,在从节点上应该有 DataNode、NodeManager 等进程。- 可以通过 Hadoop 的 Web 界面查看集群的状态和运行情况,如 NameNode 的 Web 界面地址通常为<NameNode 主机名>:50070
,ResourceManager 的 Web 界面地址通常为<ResourceManager 主机名>:8088
。- 以上是一个基本的 Hadoop 完全分布式部署的步骤,具体的配置和操作可能会根据不同的 Hadoop 版本、操作系统和实际需求有所不同。在部署过程中,需要仔细检查每一步的配置是否正确,确保集群能够正常运行。
版权归原作者 蓝宗林 所有, 如有侵权,请联系我们删除。