首页主机资讯怎样在 Ubuntu 上运行 Hadoop 示例

怎样在 Ubuntu 上运行 Hadoop 示例

时间2025-10-21 14:29:03发布访客分类主机资讯浏览1112
导读:1. 准备工作:安装Java环境 Hadoop依赖Java运行,首先需安装OpenJDK 8(或更高兼容版本)。执行以下命令完成安装: sudo apt-get update sudo apt-get install openjdk-8-j...

1. 准备工作:安装Java环境
Hadoop依赖Java运行,首先需安装OpenJDK 8(或更高兼容版本)。执行以下命令完成安装:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

验证安装是否成功:

java -version

输出应显示Java版本信息(如openjdk version "1.8.0_361")。

2. 配置SSH免密登录
Hadoop集群节点间需无密码SSH通信,本地测试时需配置localhost的免密登录:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  # 生成密钥对(直接回车,默认路径)
cat ~/.ssh/id_rsa.pub >
    >
     ~/.ssh/authorized_keys  # 将公钥添加至授权文件
chmod 600 ~/.ssh/authorized_keys  # 设置文件权限
ssh localhost  # 测试免密登录(无需输入密码则成功)
```。


**3. 下载并解压Hadoop**  
从Apache官网下载稳定版本的Hadoop(如3.3.5),解压至指定目录(如`/opt/hadoop`):  
```bash
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
sudo mkdir -p /opt/hadoop
sudo tar -zxvf hadoop-3.3.5.tar.gz -C /opt/hadoop --strip-components=1

设置Hadoop环境变量,编辑~/.bashrc文件:

export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使配置生效:

source ~/.bashrc
```。


**4. 配置Hadoop核心文件**  
进入Hadoop配置目录(`$HADOOP_HOME/etc/hadoop`),修改以下文件:  
- **core-site.xml**:设置HDFS的默认文件系统地址(本地模式用`localhost`):  
  ```xml
  <
    configuration>
    
      <
    property>
    
          <
    name>
    fs.defaultFS<
    /name>
    
          <
    value>
    hdfs://localhost:9000<
    /value>
    
      <
    /property>
    
  <
    /configuration>
    
  • hdfs-site.xml:配置NameNode和DataNode的目录及副本数(本地模式副本数为1):
    <
        configuration>
        
        <
        property>
        
            <
        name>
        dfs.replication<
        /name>
        
            <
        value>
        1<
        /value>
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        dfs.namenode.name.dir<
        /name>
        
            <
        value>
        file:/opt/hadoop/tmp/dfs/name<
        /value>
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        dfs.datanode.data.dir<
        /name>
        
            <
        value>
        file:/opt/hadoop/tmp/dfs/data<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  • mapred-site.xml(若未存在,可复制模板mapred-site.xml.template生成):设置MapReduce框架为YARN:
    <
        configuration>
        
        <
        property>
        
            <
        name>
        mapreduce.framework.name<
        /name>
        
            <
        value>
        yarn<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  • yarn-site.xml:配置YARN的资源管理器地址:
    <
        configuration>
        
        <
        property>
        
            <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
            <
        value>
        mapreduce_shuffle<
        /value>
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        yarn.resourcemanager.hostname<
        /name>
        
            <
        value>
        localhost<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    ```。
    
    
    

5. 格式化HDFS并启动集群
首次运行需格式化NameNode(注意:格式化会清除HDFS中的所有数据,仅首次需要):

hdfs namenode -format

启动HDFS和YARN服务:

start-dfs.sh  # 启动HDFS(NameNode、DataNode)
start-yarn.sh  # 启动YARN(ResourceManager、NodeManager)

验证服务是否启动成功:

jps  # 应显示NameNode、DataNode、ResourceManager、NodeManager等进程

访问Web界面查看集群状态:

  • HDFS NameNode:http://localhost:9870(Hadoop 3.x版本)
  • YARN ResourceManager:http://localhost:8088

6. 运行Hadoop示例(以WordCount为例)
Hadoop自带WordCount示例(统计文本单词出现次数),步骤如下:

  • 创建HDFS输入目录
    hdfs dfs -mkdir -p /user/your_username/input  # 替换为你的用户名
    
  • 上传本地文件到HDFS
    在本地创建测试文件(如file1.txtfile2.txt),内容示例:
    file1.txt: Hello world halo world
    file2.txt: hello hadoop halo hadoop
    
    上传至HDFS:
    hdfs dfs -put ~/work/input/* /user/your_username/input  # 替换为实际文件路径
    
  • 运行WordCount程序
    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount \
    /user/your_username/input /user/your_username/output  # 输出目录需不存在
    
  • 查看运行结果
    hdfs dfs -cat /user/your_username/output/part-r-00000  # 显示单词统计结果
    ```。
    
    
    

注意事项

  • 若使用Hadoop 2.x版本,示例jar包路径可能为hadoop-examples-*.jar,需调整命令中的路径。
  • 本地模式仅用于开发和调试,生产环境需配置伪分布或完全分布式模式。
  • 运行前确保防火墙未阻止Hadoop相关端口(如9000、50070、8088)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 怎样在 Ubuntu 上运行 Hadoop 示例
本文地址: https://pptw.com/jishu/731158.html
Ubuntu Hadoop 任务调度如何实现 如何确保 Ubuntu Hadoop 安全性

游客 回复需填写必要信息