首页主机资讯如何使用Ubuntu Hadoop进行数据分析

如何使用Ubuntu Hadoop进行数据分析

时间2026-01-15 18:45:03发布访客分类主机资讯浏览295
导读:在 Ubuntu 上使用 Hadoop 进行数据分析的实操指南 一 环境准备与安装 安装 Java(Hadoop 3.x 建议使用 JDK 8 或 JDK 11): 安装 OpenJDK 11:sudo apt update &...

在 Ubuntu 上使用 Hadoop 进行数据分析的实操指南

一 环境准备与安装

  • 安装 Java(Hadoop 3.x 建议使用 JDK 8JDK 11):
    • 安装 OpenJDK 11:sudo apt update & & sudo apt install -y openjdk-11-jdk
    • 验证:java -version、javac -version
  • 创建专用用户与 SSH 免密:
    • sudo useradd -m hadoop -s /bin/bash & & sudo passwd hadoop & & sudo adduser hadoop sudo
    • su - hadoop
    • sudo apt-get install -y openssh-server
    • ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa & & cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys & & chmod 600 ~/.ssh/authorized_keys
    • ssh localhost 测试免密登录
  • 下载并解压 Hadoop(示例版本 3.3.5):
    • wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
    • sudo tar -xzf hadoop-3.3.5.tar.gz -C /usr/local & & sudo mv /usr/local/hadoop-3.3.5 /usr/local/hadoop & & sudo chown -R hadoop:hadoop /usr/local/hadoop
  • 配置环境变量(~/.bashrc 或 /etc/profile):
    • export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    • export HADOOP_HOME=/usr/local/hadoop
    • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • source ~/.bashrc
  • 验证安装:/usr/local/hadoop/bin/hadoop version

二 伪分布式配置与启动

  • 配置目录:$HADOOP_HOME/etc/hadoop
  • core-site.xml
    • hadoop.tmp.dirfile:/usr/local/hadoop/tmp fs.defaultFShdfs://localhost:9000
  • hdfs-site.xml
    • dfs.replication1 dfs.namenode.name.dirfile:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dirfile:/usr/local/hadoop/tmp/dfs/data
  • mapred-site.xml(如不存在先 cp mapred-site.xml.template)
    • mapreduce.framework.nameyarn
  • yarn-site.xml
    • yarn.resourcemanager.hostnamelocalhost yarn.nodemanager.aux-servicesmapreduce_shuffle yarn.nodemanager.env-whitelistJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
  • 格式化 NameNode(首次执行):/usr/local/hadoop/bin/hdfs namenode -format
  • 启动与验证:
    • 启动:/usr/local/hadoop/sbin/start-dfs.sh & & /usr/local/hadoop/sbin/start-yarn.sh
    • 进程检查:jps(应见 NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager)
    • Web 界面:NameNode http://localhost:9870,YARN http://localhost:8088
    • HDFS 基础操作:
      • hdfs dfs -mkdir -p /user/hadoop/input
      • hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/hadoop/input
      • hdfs dfs -ls /user/hadoop/input

三 数据分析实战 WordCount

  • 方式 A 使用 Hadoop 自带示例
    • 运行:/usr/local/hadoop/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount /user/hadoop/input /user/hadoop/output
    • 查看结果:hdfs dfs -cat /user/hadoop/output/*
  • 方式 B 自定义 Java 程序
    • 核心代码骨架(TokenizerMapper / IntSumReducer / main 设置输入输出与 Job 参数)
    • 编译打包为 WordCount.jar
    • 运行:/usr/local/hadoop/bin/hadoop jar WordCount.jar WordCount /user/hadoop/input /user/hadoop/output2
    • 查看:hdfs dfs -cat /user/hadoop/output2/*
  • 注意:输出目录不能已存在,否则会报错

四 进阶 使用 Hive 做 SQL 数据分析

  • 安装与初始化(示例路径,可按需调整)
    • 下载解压 Hive,配置 HIVE_HOME 与 PATH
    • 初始化元数据库(Derby 或 MySQL),启动 HiveServer2 与 Beeline
  • 典型流程
    • 建表(外部表指向 HDFS 数据):
      • CREATE EXTERNAL TABLE logs (ts BIGINT, user STRING, action STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’ LOCATION ‘/user/hadoop/logs’;
    • 数据清洗与聚合:
      • CREATE TABLE user_action_cnt AS SELECT user, action, COUNT(*) AS cnt FROM logs WHERE action IS NOT NULL GROUP BY user, action;
    • 导出结果到 HDFS 或外部系统,用于报表或可视化
  • 适用场景:批处理、离线统计、维度建模与即席查询

五 常见问题与优化建议

  • 权限与路径
    • 确保 HDFS 目录归属正确(如 hadoop:hadoop),避免权限拒绝
    • 输出目录需不存在,避免作业提交失败
  • 资源与性能
    • 合理设置 YARN 内存(yarn.nodemanager.resource.memory-mb、mapreduce.map.memory.mb、mapreduce.reduce.memory.mb)
    • 小文件多时合并(CombineFileInputFormat)或使用 SequenceFile/ORC/Parquet 提升 I/O
  • 监控与排错
    • 使用 jps 检查进程、NameNode/ResourceManager Web UI 定位瓶颈
    • 查看 YARN 日志:yarn logs -applicationId < app_id>
  • 扩展生态
    • 交互式查询可用 Spark SQL / Impala,实时处理可引入 Spark Streaming / Storm,可视化可用 Superset / Zeppelin / FineBI 连接 Hive/Spark

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


若转载请注明出处: 如何使用Ubuntu Hadoop进行数据分析
本文地址: https://pptw.com/jishu/780315.html
怎样排查Ubuntu Hadoop性能瓶颈 Nginx配置中如何优化错误页面

游客 回复需填写必要信息