大数据这一块...

6 阅读4分钟

一、 环境准备与虚拟机搭建

1. 硬件与软件准备:

  • 硬件:建议电脑内存至少为8GB,有条件可升级至16GB,以保证多台虚拟机同时运行的流畅性。硬盘空间建议预留500GB以上。
  • 虚拟机软件:推荐使用 VMware Workstation 或 VirtualBox。
  • Linux发行版:常见的选择有 CentOS 或 Ubuntu。

2. 虚拟机安装与基础配置:

  • 创建虚拟机:在VMware中新建虚拟机,选择下载好的CentOS 7 ISO镜像文件,并分配至少2-4GB内存和20GB以上的硬盘空间。
  • 配置静态IP:为保证集群节点间通信稳定,需要为每台虚拟机配置静态IP地址。
  • 修改主机名与hosts映射:为每个节点设置易于识别的主机名,并修改每台虚拟机的 "/etc/hosts" 文件,添加所有节点的IP与主机名映。
  • 关闭防火墙:为避免网络通信被阻断,学习环境中通常需要关闭防火墙。
  • 使用远程连接工具并配置好字符编码以避免乱码。

二、 JDK安装与配置

Java是运行Hadoop等大数据组件的必备环境。

1. 卸载系统自带JDK:为避免版本冲突,安装前应先检查并卸载系统可能自带的OpenJDK。可以使用 "rpm -qa | grep -i java" 查看已安装的Java包,并用 "rpm -e --nodeps" 命令卸载。

2. 上传与解压JDK:

  • 在 "/opt" 目录下创建 "software"(存放安装包)和 "module"(存放解压后的软件)目录,并修改目录所有者以便操作。
  • 使用SSH工具(如FinalShell的文件传输功能)将下载好的JDK压缩包上传至 "/opt/software" 目录。
  • 使用 "tar -zxvf" 命令解压JDK到 "/opt/module" 目录。

3. 配置环境变量:

  • 编辑环境变量配置文件。
  • 在文件中添加以下内容,注意将路径替换为你的实际JDK安装路径
  • 使用 "source" 命令使配置立即生效,然后通过 "java -version" 命令验证安装是否成功。

三、 Hadoop安装与伪分布式/完全分布式集群配置

核心部分:讲解了Hadoop的安装与集群配置,从单机模式到完全分布式模式的演进。

1. Hadoop安装:

  • 上传与解压:与JDK类似,将Hadoop安装包(如 "hadoop-3.1.3.tar.gz")上传至 "/opt/software",并解压到 "/opt/module"。
  • 配置环境变量:在 "my_env.sh" 等配置文件中添加Hadoop环境变量:export HADOOP_HOME=/opt/module/hadoop-3.1.3 export PATH=PATH:PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 验证安装:执行 "hadoop version" 查看版本信息。

2. Hadoop运行模式:

  • 本地模式:默认模式,无需配置,使用本地文件系统,用于调试。
  • 伪分布式模式:在单台机器上模拟一个小的集群,所有守护进程(NameNode, DataNode, ResourceManager等)都运行在同一台机器上。这是理解Hadoop架构的好方法。需要配置核心文件如 "core-site.xml"、"hdfs-site.xml"、"mapred-site.xml" 和 "yarn-site.xml"。
  • 完全分布式模式:在多台机器上部署真正的集群,是生产环境的标准模式。视频后续重点讲解了这种模式的配置。

3. 完全分布式集群配置关键步骤:

  • 集群规划:通常需要至少3个节点,分别作为主节点(Master)和从节点(Slave)。
  • 配置SSH免密登录:这是集群管理的基础。在每台机器上使用 "ssh-keygen -t rsa" 生成密钥对,并使用 "ssh-copy-id" 将公钥拷贝到所有节点(包括自身),实现节点间的无密码SSH访问。
  • 编写集群分发脚本:为了高效地将配置文件同步到所有集群节点,可以递归同步目录到所有指定主机。
  • 修改Hadoop配置文件:这是配置集群的核心,主要包括(路径在 "$HADOOP_HOME/etc/hadoop/"):
    • "core-site.xml":配置HDFS的默认访问地址和临时数据存储目录。
    • "hdfs-site.xml":配置HDFS的副本数量(通常设为3)、NameNode和DataNode的数据存储路径等。
    • "yarn-site.xml":配置YARN资源管理器的相关参数,如NodeManager的辅助服务。
    • "mapred-site.xml":指定MapReduce运行框架为YARN。
    • "workers":指定所有的DataNode和NodeManager节点的主机名。
  • 使用分发脚本同步配置:在一台节点上修改好所有配置文件后,使用之前编写的 "xsync" 脚本,将这些配置文件同步到集群中的所有其他节点。
  • 格式化与启动集群:
    • 在第一次启动前,需要在NameNode所在节点执行 "hdfs namenode -format" 命令来格式化HDFS。
    • 使用 "start-dfs.sh" 和 "start-yarn.sh" 脚本分别启动HDFS和YARN集群。
    • 使用 "jps" 命令查看各节点上的Java进程,确认NameNode、DataNode、ResourceManager、NodeManager等进程是否正常启动。
  • Web UI访问:启动成功后,可以通过浏览器访问以下界面监控集群:
    • HDFS NameNode: "http://<namenode_ip>:9870" (Hadoop 3.x)
    • YARN ResourceManager: "http://<resourcemanager_ip>:8088"

四、 运行第一个Hadoop示例程序

演示如何运行经典的WordCount程序来验证集群。

1. 启动HDFS和YARN:确保集群已正常启动。

2. 准备输入数据:

  • 在本地文件系统创建一个测试文件,如 "test.txt",里面包含一些英文文本。
  • 在HDFS上创建输入目录:"hadoop fs -mkdir /input"。
  • 将本地文件上传到HDFS:"hadoop fs -put test.txt /input"。

3. 运行WordCount示例:

  • Hadoop自带了示例JAR包。使用以下命令运行:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output 该命令会读取HDFS上 "/input" 目录下的所有文件,进行词频统计,并将结果输出到HDFS的 "/output" 目录。

4. 查看结果:

  • 作业完成后,使用 "hadoop fs -ls /output" 查看输出目录。
  • 使用 "hadoop fs -cat /output/part-r-00000" 查看最终的词频统计结果。
  • 也可以通过NameNode的Web UI(端口9870)浏览HDFS文件系统,查看输入和输出文件。