当前位置: 首页 > news >正文

大数据技术——核心知识点复习提纲

一、Linux 基础命令

命令功能常用选项
cd切换目录.当前目录,..上级目录
ls列出文件-a显示隐藏,-l详细信息,-R递归
cat查看文件-n显示行号
mkdir创建目录-p创建父目录
rm删除文件/目录-f强制,-r递归
cp复制-f覆盖,-R递归
mv移动/重命名-f覆盖,-i询问
pwd显示当前路径
chmod修改权限数字法(r=4,w=2,x=1)如700
sudo以超级用户执行
source使配置生效
hostnamectl修改主机名set-hostname
ifconfig查看IP地址

二、JDK 安装与环境变量

步骤

  1. 上传jdk-8u161-linux-x64.tar.gz/opt

  2. 解压:sudo tar -zxvf jdk-8u161-linux-x64.tar.gz

  3. 编辑/etc/profile,添加:

    bash

    export JAVA_HOME=/opt/jdk1.8.0_161 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
  4. source /etc/profile使其生效

  5. 验证:java -version


三、SSH 免密登录配置

操作流程

  1. 生成密钥对:ssh-keygen -t rsa(一路回车)

  2. 将公钥追加到授权文件:

    bash

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. 设置权限:

    bash

    chmod 755 ~ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
  4. 分发公钥到其他节点:

    bash

    ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
  5. 验证:ssh master无需密码即成功


四、Hadoop 部署

4.1 伪分布式部署(单节点)

配置文件修改(位于$HADOOP_HOME/etc/hadoop/
文件关键配置
hadoop-env.shexport JAVA_HOME=/opt/jdk1.8.0_161
core-site.xmlfs.defaultFShdfs://master:9000
hadoop.tmp.dir→ 临时目录
hdfs-site.xmldfs.replication1
dfs.namenode.name.dirdfs.datanode.data.dir
yarn-site.xmlyarn.resourcemanager.hostnamemaster
yarn.nodemanager.aux-servicesmapreduce_shuffle
mapred-site.xmlmapreduce.framework.nameyarn
启动与验证
  • 格式化:hdfs namenode -format

  • 启动:start-all.shstart-dfs.sh+start-yarn.sh

  • 进程检查:jps应看到NameNode, DataNode, SecondaryNameNode, ResourceManager, NodeManager

  • Web 界面:HDFS →http://master:50070,YARN →http://master:8088

4.2 完全分布式集群部署

节点规划
节点HDFS 角色YARN 角色
masterNameNodeResourceManager
slave1, slave2DataNodeNodeManager
关键配置修改
  • etc/hosts:添加所有节点的 IP 与主机名映射

  • masters文件:写入master

  • workers文件:写入slave1slave2(删除 localhost)

  • hdfs-site.xmldfs.replication设为2

  • 删除临时目录(datanode_1_dir中的内容)

克隆虚拟机后修改 slave 节点
  • 修改 IP 地址(/etc/netplan/*.yaml

  • 修改主机名:sudo hostnamectl set-hostname slave1

  • 修改hdfs-site.xml:注释掉 NameNode 相关配置,保留 DataNode 配置

启动集群
  1. 在 master 上格式化:hdfs namenode -format

  2. 启动:start-all.sh

  3. 分别在各节点用jps验证进程


五、Hive 安装与配置

5.1 MySQL 作为元数据库(MySQL 8.0.14)

  • 安装依赖:sudo apt-get install libaio1

  • 按顺序安装 deb 包(mysql-common,libmysqlclient21, ... ,mysql-community-server

  • 注意:若安装时未设置 root 密码,后续需用sudo mysql进入并执行:

    sql

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
  • 创建用户并授权:

    sql

    CREATE USER 'zeng'@'%' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'zeng'@'%'; CREATE DATABASE bigdata; -- 存储 Hive 元数据

5.2 Hive 3.1.1 部署

配置文件
  • hive-site.xml:配置 MySQL 连接(URL、驱动、用户名、密码)

  • hive-env.sh:设置export HADOOP_HOME=/opt/hadoop-3.1.1

  • /etc/profile添加HIVE_HOMEPATH

  • hive-config.sh设置JAVA_HOME,HADOOP_HOME,HIVE_HOME

初始化与启动
  • 复制 MySQL 驱动:mysql-connector-java-8.0.14.jar到 Hive 的lib目录

  • 初始化元数据库:schematool -initSchema -dbType mysql

  • 启动 Hive:hive(需 Hadoop 已启动)


六、Hive 数据库与表操作

6.1 数据库 DDL

sql

CREATE DATABASE classtest; CREATE DATABASE IF NOT EXISTS classtest; SHOW DATABASES; DESCRIBE DATABASE classtest; -- 查看库存储位置 DROP DATABASE IF EXISTS classtest;

6.2 表操作(三种建表方式)

① 直接建表

sql

CREATE TABLE student ( id string COMMENT 'student id', name string COMMENT 'student name', age int COMMENT 'student age' ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE LOCATION '/user/hive/warehouse/classtest.db/student';
② AS 查询建表(复制结构和部分数据)

sql

CREATE TABLE student2 AS SELECT id, name FROM student WHERE id > 150;
③ LIKE 建表(仅复制结构,无数据)

sql

CREATE TABLE student3 LIKE student;
其他常用命令
  • SHOW TABLES;

  • DESC student;-- 查看表结构

  • ALTER TABLE 旧名 RENAME TO 新名;


七、Hive 分区表(重点)

7.1 单字段静态分区

sql

CREATE TABLE cityperson ( id string, name string, age int ) PARTITIONED BY (city string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
  • 加载数据

    sql

    LOAD DATA LOCAL INPATH '/home/user1/citydataForxiamen.txt' INTO TABLE cityperson PARTITION(city='xiamen');
  • 查看分区SHOW PARTITIONS cityperson;

  • HDFS 存储结构:/user/hive/warehouse/库名.db/表名/city=值/

7.2 多字段静态分区

sql

CREATE TABLE agentinformation ( agentID string, agentName string, agentAddress string ) PARTITIONED BY (province string, city string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';
  • 加载数据示例:

    sql

    LOAD DATA LOCAL INPATH '...' INTO TABLE agentinformation PARTITION(province='shanxi', city='xian');
  • 覆盖数据:添加OVERWRITE关键字

    sql

    LOAD DATA LOCAL INPATH '...' OVERWRITE INTO TABLE agentinformation PARTITION(province='fujian', city='xiamen');

八、Sqoop 数据迁移

8.1 Sqoop 安装与配置

  • 解压sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz/opt

  • 配置sqoop-env.sh:设置HADOOP_COMMON_HOME,HADOOP_MAPRED_HOME,HIVE_HOME

  • 配置/etc/profileexport SQOOP_HOME并修改PATH

  • 复制 MySQL 驱动到 Sqoop 的lib目录

  • 验证:./bin/sqoop version

8.2 数据导入操作

① MySQL → HDFS

bash

./bin/sqoop import \ --connect jdbc:mysql://master:3306/teacherinfo?serverTimezone=UTC \ --username zeng --password 123456 \ --table teacher \ --delete-target-dir -m 3
  • 默认导入到/user/user1/teacher(HDFS)

② MySQL → Hive

bash

./bin/sqoop import \ --connect jdbc:mysql://master:3306/teacherinfo?serverTimezone=UTC \ --username zeng --password 123456 \ --table teacher \ --delete-target-dir \ --hive-import --hive-table teacher -m 3
  • 前提:将hive-common-3.1.1.jar复制到 Sqoop 的lib目录,避免ClassNotFoundException

  • Hive 中会自动创建表(字段顺序可能与 MySQL 不同,需注意)

③ 带条件导入(--where

bash

./bin/sqoop import --connect jdbc:mysql://master:3306/erp?serverTimezone=UTC \ --username zeng --password 123456 \ --table emp --columns ename,eaddress,esalary \ --where "esalary > 4000" \ --delete-target-dir --hive-import --hive-table esalary -m 3

8.3 常用参数

参数作用
--connectJDBC URL
--table源表名
--columns指定列
--where过滤条件
-mMap 任务数(并行度)
--delete-target-dir删除目标目录(避免冲突)
--hive-import导入到 Hive
--hive-tableHive 表名

九、常见问题与解决

问题原因解决方法
ClassNotFoundException: HiveConfSqoop 缺少 Hive jar复制hive-common-*.jar到 Sqoop 的lib
MySQL 安装后无法登录未设置 root 密码或加密方式不兼容sudo mysql进入,用ALTER USER ... mysql_native_password重置密码
Hadoop 启动无 SecondaryNameNode/etc/hosts配置错误检查主机名映射,确保localhost和实际主机名正确
NameNode 处于 safe mode刚启动或异常hdfs dfsadmin -safemode leave退出
运行 MR 程序报MRAppMaster错误缺少环境变量mapred-site.xml中添加yarn.app.mapreduce.am.env等配置
权限被拒绝目录权限不对使用chmod调整为 700 或 755

十、复习建议

  1. 动手实操:按照文档顺序,从 Linux 基础 → JDK → SSH → Hadoop(伪分布 → 集群)→ Hive → Sqoop,边做边记。

  2. 重点掌握

    • Hadoop 核心配置文件的含义(core-site, hdfs-site, yarn-site, mapred-site)

    • Hive 分区表的设计与数据加载(PARTITIONED BY+LOAD DATA

    • Sqoop 导入命令的参数组合

  3. 排错能力:熟悉常见报错信息(如ClassNotFoundException,SafeModeException)及其解决步骤。

  4. Web 监控:熟悉 50070(HDFS)和 8088(YARN)端口的界面,用于查看节点状态和作业运行情况。

http://www.rkmt.cn/news/1535771.html

相关文章:

  • Python time.sleep() 深度解析:原理、陷阱与替代方案
  • Gemini 3.5 Flash深度集成Android Studio实战指南
  • 3分钟生成专业短视频:AI视频生成神器MoneyPrinterTurbo完全指南
  • Unity游戏插件框架BepInEx 6.0:多运行时架构深度解析与IL2CPP兼容性技术突破
  • Bandizip深度解析:从多线程压缩到智能解压,打造高效文件管理体验
  • 一文读懂DeepFilterNet3-CoreML的ERB滤波器组:语音增强的关键技术
  • 2026手机免费制作证件照保姆级详细教程,无水印小程序APP方法全整理
  • 一键搞定图片格式转换:Save Image as Type让你的Chrome浏览器更强大
  • Visual Syslog Server终极指南:5步打造Windows平台企业级日志监控系统
  • 厦门奢侈品包包回收测评|新手友好门店top5 - 讯息早知道
  • 2026AI智能降重工具亲测:10款工具对比,论文过审技巧盘点
  • LinkSwift网盘直链下载助手:九大网盘高速下载的终极解决方案
  • 终极指南:如何用本地AI工具一键提取视频硬字幕,免费生成SRT文件
  • 免费AMD Ryzen硬件调试工具:SMUDebugTool完整使用指南与5大核心功能详解
  • 2026年热浸锌钢格板厂家推荐榜:以创新赋高要求,以高耐久引领行业 - 资讯报道
  • 5分钟掌握Figma中文界面:免费高效的设计体验解决方案
  • 大麦抢票脚本终极指南:如何用Python自动化轻松抢到演唱会门票
  • Rescuezilla终极指南:3步解决系统崩溃的完整方案
  • WPS-Zotero:科研写作终极方案,告别文献管理噩梦
  • 计算机毕业设计之Java农产品物流管理系统
  • 2026年甘肃工业门采购决策手册:防火卷帘、快速堆积门、电动卷闸的规范选型与本地服务商评测 - 年度推荐企业名录
  • 杭州二手包包回收梯队榜单,持证鉴定门店无套路变现参考 - 禹竞
  • 全产业链光器件厂商底气:笑玩光电如何为项目交付保确定性 - 热点速览
  • 如何砍掉80%的功能
  • GIST-small-Embedding-v0-openmind:开发者完全手册 - 终极API参考与最佳实践指南 [特殊字符]
  • 3个高效技巧:轻松掌握跨平台文本编辑器的终极解决方案
  • opus-mt-de-ZH-openmind高级用法:自定义翻译策略与批量处理教程
  • WeChatExporter完全指南:3步轻松导出微信聊天记录
  • B站视频下载神器BilibiliDown:跨平台免费工具终极指南
  • 天津翡翠回收门店实力榜单盘点,本地靠谱玉石变现商家优选指南 - 名奢变现站