Hadoop集群搭建

以下是在 Linux 系统下搭建 Hadoop 集群的详细步骤解答(以常用的三节点集群为例,包含一个主节点和两个从节点,实际可按需扩展节点数量):

一、前期准备

  1. 硬件与系统环境
    • 硬件要求:选择合适的服务器或者虚拟机,主节点建议配置稍高些(例如多核 CPU、足够的内存和磁盘空间),从节点根据数据量和任务负载相应配置。
    • 操作系统:通常选用 Linux 系统,如 CentOS、Ubuntu 等,这里以 CentOS 7 为例进行说明。确保各节点之间网络互通,可以互相 ping 通,关闭防火墙或者配置好相应的端口访问规则(Hadoop 默认使用多个端口通信)。
  2. 安装 JDK
    • 下载合适版本的 JDK(Hadoop 依赖 Java 环境运行,一般要求 Java 8 及以上版本),例如从 Oracle 官网下载对应 Linux 版本的 JDK 安装包(也可使用开源的 OpenJDK)。
    • 在各节点上安装 JDK,以下是 CentOS 7 上的安装示例命令(以安装 JDK 8 为例):
  • 通过 java -version 命令验证 JDK 是否安装成功。

二、安装配置 Hadoop

  • 下载 Hadoop
    • 从 Hadoop 官方网站(Apache Hadoop)下载稳定版本的 Hadoop 二进制包,例如 hadoop-X.X.X.tar.gz,然后在各节点上进行解压,如解压到 /usr/local/ 目录下:
    • 配置 Hadoop 环境变量
      • 编辑 /etc/profile 文件,添加以下内容(以 Hadoop 解压到 /usr/local/hadoop-X.X.X 为例):
      • 执行 source /etc/profile 使环境变量生效。
      • 配置 Hadoop 核心文件(core-site.xml
        • 编辑 $HADOOP_HOME/etc/hadoop/core-site.xml 文件,配置如下示例内容(可根据实际情况修改):
        • 配置 HDFS 文件(hdfs-site.xml
          • 编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 文件,示例配置如下:
          • 配置 YARN 文件(yarn-site.xml
            • 编辑 $HADOOP_HOME/etc/hadoop/yarn-site.xml 文件,内容示例:
            • 配置 MapReduce 文件(mapreduce-site.xml
              • 一般将模板文件重命名后进行配置,执行命令:

              • 编辑 mapreduce-site.xml 文件,配置如下:

              • 配置集群节点信息(slaves 文件)

                • 编辑 $HADOOP_HOME/etc/hadoop/slaves 文件,在其中填入从节点的主机名,每行一个,例如:

                三、集群启动与验证

                • 在各节点上格式化 HDFS 文件系统(只需在首次搭建时执行一次)
                  • 在主节点上执行以下命令:
                  • 启动集群服务
                    • 可以在主节点上通过以下脚本启动 Hadoop 集群的各个服务:

                    • 也可以通过 start-all.sh 命令一次性启动 HDFS 和 YARN 服务,但该命令在较新的 Hadoop 版本中可能已被弃用。

                    • 验证集群状态

                      • 通过浏览器访问 Hadoop 管理界面来查看集群状态:

                        • HDFS 的 Web 界面:在浏览器中输入 http://master:50070(默认端口为 50070),可以查看 HDFS 文件系统的相关信息,如 namenode 的状态、各 datanode 的信息等。
                        • YARN 的 Web 界面:访问 http://master:8088(默认端口 8088),能看到资源使用情况、运行的任务等信息。
                      • 使用命令行工具验证,例如执行以下命令查看 HDFS 根目录信息:

                      • 提交一个简单的 MapReduce 示例任务(Hadoop 自带了一些示例程序)来测试集群是否能正常进行计算任务,如运行 WordCount 示例:

                      • 其中 /input 是输入文件所在的 HDFS 目录(需提前上传输入文件),/output 是任务输出目录。

                        四、常见问题及解决

                      • 权限问题 :如果在启动或操作过程中提示权限不足,需要检查配置文件中指定的目录权限是否正确设置,一般 hadoop 用户或者启动服务的用户对相关目录要有读写执行权限,例如使用 chownchmod 命令调整目录权限。

                      • 节点连接问题 :若节点之间无法正常通信,检查网络配置,包括 IP 地址分配、主机名解析(确保各节点能通过主机名互相访问,可以配置 /etc/hosts 文件添加主机名与 IP 的对应关系)、防火墙设置等。

                      • 服务启动失败 :查看启动日志(日志文件一般在 $HADOOP_HOME/logs 目录下),根据报错信息排查是配置错误、资源不足还是软件版本冲突等原因导致的问题,然后针对性地进行修复。

                      以上就是搭建 Hadoop 集群的详细步骤及相关说明,实际搭建中可根据具体的业务需求和环境情况进行适当调整和优化。

相关推荐
Bug退退退1235 小时前
RabbitMQ 高级特性之死信队列
java·分布式·spring·rabbitmq
prince056 小时前
Kafka 生产者和消费者高级用法
分布式·kafka·linq
诗旸的技术记录与分享7 小时前
Flink-1.19.0源码详解-番外补充3-StreamGraph图
大数据·flink
资讯分享周7 小时前
Alpha系统联结大数据、GPT两大功能,助力律所管理降本增效
大数据·gpt
菜萝卜子7 小时前
【Project】基于kafka的高可用分布式日志监控与告警系统
分布式·kafka
G皮T9 小时前
【Elasticsearch】深度分页及其替代方案
大数据·elasticsearch·搜索引擎·scroll·检索·深度分页·search_after
TDengine (老段)9 小时前
TDengine STMT2 API 使用指南
java·大数据·物联网·时序数据库·iot·tdengine·涛思数据
用户Taobaoapi201411 小时前
母婴用品社媒种草效果量化:淘宝详情API+私域转化追踪案例
大数据·数据挖掘·数据分析
G皮T11 小时前
【Elasticsearch】检索排序 & 分页
大数据·elasticsearch·搜索引擎·排序·分页·检索·深度分页
无级程序员13 小时前
hive2服务启动报错:/tmp/hive on HDFS should be writable(不是chmod 777能解决的)
hive·hadoop·hdfs