Datawahle组队学习——妙趣横生大数据 Day1
妙趣横生大数据 Day1
- [妙趣横生大数据 Juicy Big Data](https://datawhalechina.github.io/juicy-bigdata/#/?id=妙趣横生大数据-juicy-big-data)
- 一、大数据概述
- 大数据——第三次信息化浪潮
- 大数据概念
- 大数据应用
- 大数据关键技术
- 二、Hadoop
- 背景
- 介绍
- 特性
- 项目架构
- 实验
- 1. 准备工作
- 2. 安装jdk
- 3. 安装 openssh
- 4. 安装 hadoop
- 一、伪分布式安装
- 1. 修改`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`这4个文件
- 2. 格式化分布式文件系统
- 3. 测试
- 二、集群模式安装
- 1. 修改、`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`这4个文件
- 2. hadoop workers文件配置,编辑/etc/hosts文件,创建公钥并拷贝公钥
- 3. 格式化分布式文件系统
- 4. 测试
妙趣横生大数据 Juicy Big Data
Datawhale
大数据技术相关内容的导论课程:妙趣横生大数据 Juicy Big Data Day1
一、大数据概述
大数据——第三次信息化浪潮
| 信息化浪潮 | 时间 | 标志 | 解决的问题 |
|---|---|---|---|
| 第一次浪潮 | 1980 | 个人计算机 | 信息处理 |
| 第二次浪潮 | 1995 | 互联网 | 信息传输 |
| 第三次浪潮 | 2010 | 物联网、云计算和大数据 | 信息爆炸 |
-
大数据的价值不在于数据本身,而在于数据所反映问题的真实性和科学性。
-
数据的采集存储只是大数据运用的第一阶段,更关键的是对数据的分析、利用,达到发现新知识、创造新价值的效果。
大数据概念
4V
- 数据量大(Volume) :物联网普及,传感器、摄像头产生的海量数据
- 数据类型多(Variety):生物大数据、交通大数据、医疗大数据、电信大数据、电力大数据、金融大数据等;结构化数据(10%)和非结构化数据(90%)
- 处理速度快(Velocity):为快速分析海量数据,新兴的大数据分析技术通常采用集群处理和独特的内部设计
- 价值密度低(Value):价值密度却远远低于传统关系数据库中已经有的数据
大数据应用
| 领域 | 大数据的应用 |
|---|---|
| 金融行业 | 大数据在高频交易、社交情绪分析和信贷风险分析三大金融创新领域发挥重要作用 |
| 互联网行业 | 借助于大数据技术,可以分析客户行为,进行商品推荐和有针对性的广告投放 |
| 餐饮行业 | 利用大数据实现餐饮O2O模式,彻底改变传统餐饮的经营方式 |
| 生物医学 | 大数据可以帮助我们实现流行病预测、智慧医疗、健康管理,同时还可以帮助我们解读DNA,了解更多的生命奥秘 |
| … | … |
大数据关键技术
-
大数据是数据和大数据技术这二者的综合。
-
大数据技术,是指伴随着大数据的采集、传输、处理和应用的相关技术,是一系列使用非传统的工具来对大量的结构化、半结构化和非结构化数据进行处理,从而获得分析和预测结果的一系列数据处理和分析技术。
-
从数据分析全流程的角度,大数据技术主要包括数据采集、数据存储和管理、数据处理与分析、数据安全和隐私保护等几个层面的内容。
二、Hadoop
背景
搜索:
-
Lucene:工具包,在目标系统中实现全文检索的功能
-
Nutch:建立在Lucene核心之上的网页搜索应用程序,开箱即用。站内检索–>全球网络搜索
搜索对象“体积”不断增大:
-
分布式文件存储系统(NDFS,Nutch Distributed File System):为了存储海量搜索数据而设计的专用文件系统,基于google的GFS
-
MapReduce编程模型:大规模数据集(大于1TB)的并行分析运算
介绍
Hadoop:HDFS(Hadoop Distributed File System) + MapReduce
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。
特性
- 高可靠性、高容错性:冗余数据存储方式
- 高效性分布式存储和分布式处理两大核心技术,高效地处理PB级数据
- 高可扩展性
- 成本低:廉价的计算机集群
- 运行在Linux平台上
- 支持多种编程语言
项目架构
- Common:为其他子项目提供支持的常用工具,它主要包括FileSystem、RPC和串行化库
- Avro:用于数据库序列化的系统
- HDFS:分布式文件系统
- HBase:列式数据库,一般采用HDFS作为其底层数据存储
- Pig:一种数据流语言和运行环境
- Sqoop:改进数据的互操作性,主要用来在Hadoop和关系数据库之间交换数据
- Chukwa:数据收集系统
- Zookeeper:一个为分布式应用所涉及的开源协调服务
实验
1. 准备工作
# 创建容器
docker run --name=hadoop ubuntu /bin/bash
# 添加用户,赋予权限
useradd zym -m -d /home/zym -s /bin/bash
passwd zym
usermod -aG sudo zym
2. 安装jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
sudo tar -xzvf /data/hadoop/jdk-8u131-linux-x64.tar.gz -C /opt

sudo mv /opt/jdk1.8.0_131/ /opt/java
sudo chown -R zym:zym /opt/java

修改系统环境变量
sudo vim /etc/profile
# 1. 添加java环境变量
# 2. 激活使环境变量生效
source /etc/profile
# 3. 查看版本
java -version


3. 安装 openssh
# 更新apt,并安装文本编辑器、SSH服务和screen服务
apt-get update && apt-get install -y vim openssh-server screen && rm -rf /var/lib/apt/lists/*
查看是否安装成功
service ssh start
# 设置 ssh 服务开机自启
echo 'service ssh start'>>~/.bashrc
SSH登录权限设置

解决方法:将容器内22端口和宿主机内端口完成映射即可。
教你如何修改运行中的docker容器的端口映射的三种方式_docker修改端口映射_是阿俏同学吖的博客-CSDN博客
4. 安装 hadoop
hadoop国内镜像站点:Index of /apache/hadoop/common/hadoop-3.3.1 (tsinghua.edu.cn)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
sudo tar -xzvf hadoop-3.3.1.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.1/ /opt/hadoop
sudo chown -R zym:zym /opt/hadoop
sudo vim /etc/profile
1. 添加以下内容
#hadoop
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
2. 激活,查看版本
source /etc/profile
hadoop version
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJZVaiCm-1676443808236)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230213161119633.png)]](https://img-blog.csdnimg.cn/780a0dbbddaf4644b58a2108be3eb800.png)
修改hadoop-env.sh文件配置
vim etc/hadoop/hadoop-env.sh
# 追加
export JAVA_HOME=/opt/java/
测试
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input output 'dfs[a-z.]+'
cat output/*
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y1NtDreq-1676443808237)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230213161542965.png)]](https://img-blog.csdnimg.cn/8f988ecb597c4f498a83c29206c8b8a0.png)
一、伪分布式安装
1. 修改core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml这4个文件
详细见 [第二章:Hadoop (datawhalechina.github.io)](https://datawhalechina.github.io/juicy-bigdata/#/ch2 Hadoop?id=_2335-hadoop伪分布式安装)
2. 格式化分布式文件系统
hdfs namenode -format
/opt/hadoop/sbin/start-all.sh
3. 测试
输入jps命令可以查看Java进程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Ag6ejr3-1676443808237)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230213164451118.png)]](https://img-blog.csdnimg.cn/b135972ae0934ebeb000b6efc9e71f02.png)
执行wordcount程序, 测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JwXlFUp-1676443808238)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230213164927253.png)]](https://img-blog.csdnimg.cn/7c73fcbfeefc42dabdbe39c6b3eb0ed8.png)
二、集群模式安装
此处我将实验一伪分布式安装的docker容器commit为了镜像,用来构建子节点。 还可以直接search有Hadoop的镜像,或者直接编写dockerfile Task01 详读第1、2章Hadoop内容 (plutos.org.cn)
1. 修改、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml这4个文件
详细见 [第二章:Hadoop (datawhalechina.github.io)](https://datawhalechina.github.io/juicy-bigdata/#/ch2 Hadoop?id=_2335-hadoop伪分布式安装)
2. hadoop workers文件配置,编辑/etc/hosts文件,创建公钥并拷贝公钥
# 1. 修改hadoop workers文件配置
vim /opt/hadoop/etc/hadoop/workers
# 2. 编辑/etc/hosts文件
sudo vim /etc/hosts
# 3. 创建公钥并拷贝公钥
ssh-keygen -t rsa
ssh-copy-id master
# 4. 修改文件权限
chmod 700 /home/zym/.ssh
chmod 700 /home/datawhale/.ssh/*
3. 格式化分布式文件系统
hdfs namenode -format
/opt/hadoop/sbin/start-all.sh
4. 测试
输入jps命令可以查看主节点和两个从节点的Java进程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tqLhDOq2-1676443808238)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230215135803073.png)]](https://img-blog.csdnimg.cn/f413c1ee7cb1437e88f8b05166d390d7.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1urxGPFP-1676443808239)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230215135829861.png)]](https://img-blog.csdnimg.cn/06f13a78110641e1957485ab81d783d0.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IG5aAGlr-1676443808239)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230215135849535.png)]](https://img-blog.csdnimg.cn/7aba121599f34652af43848324d46838.png)
执行wordcount程序, 测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciSn2epR-1676443808239)(C:\Users\ZYM\AppData\Roaming\Typora\typora-user-images\image-20230215140200578.png)]](https://img-blog.csdnimg.cn/2b9f486d7a184b94ab628feddd953e79.png)
遇到的问题汇总:
-
Docker内22端口无法访问:
解决方法:将容器内22端口和宿主机内端口完成映射即可。
教你如何修改运行中的docker容器的端口映射的三种方式_docker修改端口映射_是阿俏同学吖的博客-CSDN博客
-
安装 hadoop 太慢
hadoop国内镜像站点:Index of /apache/hadoop/common/hadoop-3.3.1 (tsinghua.edu.cn)
-
DataNode 不显示
Hadoop中DataNode没有启动log目录:/opt/hadoop/logs/hadoop-zym-datanode-df735624a7d9.log
VERSION参考查询目录:/tmp/hadoop-datawhale/dfs/data/current/VERSION
Datawhale
大数据技术相关内容的导论课程:妙趣横生大数据 Juicy Big Data
相关文章:
Datawahle组队学习——妙趣横生大数据 Day1
妙趣横生大数据 Day1[妙趣横生大数据 Juicy Big Data](https://datawhalechina.github.io/juicy-bigdata/#/?id妙趣横生大数据-juicy-big-data)一、大数据概述大数据——第三次信息化浪潮大数据概念大数据应用大数据关键技术二、Hadoop背景介绍特性项目架构实验1. 准备工作2. …...
网友眼中越老越吃香的行业,果然是风向变了!
越老越吃香的行业,一直都是被热议的话题。对于年轻人来说,找到一个适合自己的并且具有前景的工作,不是一件容易的事情。 最近,看到有人在平台上问相关的问题,本着认真看一看的态度点进去,却差点被热评第一…...
为什么时间序列预测这么难?本文将给你答案
机器学习和深度学习已越来越多应用在时序预测中。ARIMA 或指数平滑等经典预测方法正在被 XGBoost、高斯过程或深度学习等机器学习回归算法所取代。 尽管时序模型越来越复杂,但人们对时序模型的性能表示怀疑。有研究表明,复杂的时序模型并不一定会比时序…...
STC15系列单片机通过串口多字节数据读写EEPROM操作
STC15系列单片机通过串口多字节数据读写EEPROM操作📌相关篇《STC15系列单片机EEPROM读写示例》 ⛳手册勘误信息注意事项 ⚡在手册上面描述STC15F2K60S2及STC15L2K60S2系列单片机内部EEPROM还可以用MOVC指令读,但此时首地址不再是0000H,而是程…...
计算机网络-ip数据报
在图中,网络层包含了四种协议:ARP、IP、ICMP、IGMP,由上下关系表明,ARP为IP协议服务,IP为ICMP和IGMP服务。 IP数据报格式 此处不区分数据报和分组的概念:当数据部分过长时,将数据部分拆分&…...
从零开始学C
以下是 该如何学习C语言的【思维导图】以及部分重点知识点的【博客链接】。其实C语言并不难,难的是没有人去教,没有耐心去学。不知道从哪下手学习,我将C的知识点做成一个思维导图,以供迷茫的小白参考,哪里不会…...
【云原生】手把手带你从零开始搭建kubernetes最新版本实战
文章目录前言一. 实验环境二. k8s 的介绍三 . k8s的安装3.1 搭建实验环境3.1.1 硬件层面的要求3.1.2 软件层面环境配置3.2 docker的安装3.2.1 搭建docker3.2.2 部署 cri-dockerd3.3 部署k8s3.3.1 配置添加阿里云的yum源3.3.2 安装kubeadm kubelet kubectl3.3.3 k8s-master节点初…...
trivy os软件包扫描原理分析
具体可以基于之前的博客来做 基于trivy获取基础镜像 参数修改一下: cliOpt.ListAllPkgs true 结果中会带有如下格式的结果: "Results":[{"Target":"192.168.1.94:443/test22/centos:7 (centos 7.9.2009)","Clas…...
算法训练营 day48 动态规划 完全背包 零钱兑换 II 组合总和 Ⅳ
算法训练营 day48 动态规划 完全背包 零钱兑换 II 组合总和 Ⅳ 完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物…...
Java 基础(1)—泛型简单使用
一、泛型定义及作用 泛型是一种编程机制,允许在编写代码时使用参数化类型,以在编译时实现类型安全。 以下是泛型作用: 增强代码可读性和可维护性:通过在代码中使用泛型参数,可以使代码更清晰、更具有可读性和可维护性…...
内存卡损坏了怎么恢复?
内存卡损坏了怎么恢复?现在我们身边有不少电子设备都是用存储卡来存储数据的。一旦需要方便我们直接导出使用。但这存储的数据也不是一定安全的,当我们将内存卡连接到电脑时,难免会碰到病毒、格式化等提示,在这些情况下,可能会导…...
Mysql使用规范(纯技术和实战建议)
1、事务隔级别: (强制):Repeatable-Read(重复读),且不能在会话操作时临时开启隔离级别。 注: Repeatable-Read(重复读)隔离级别解决不了幻读。 可用 show variables l…...
Netty源码解读-EventLoop(二)
一、简介 NioEventLoop的重要组成:Selector、线程、任务队列,他既会处理io事件,也会处理普通任务和定时任务. 1.下面是Selector,注意有两个哦后面会讲 2.下面的爷爷类提供的Thread变量,其实下面发excutor用的就是这个…...
OSI模型详解
今天,我们详解OSI(Open System Inter-connection Reference Model)模型,来看看工业物联网的网络互联和数据互通。 OSI模型 1984年,国际标准化组织(International Organization for Standardization&#…...
Share Creators完成500万美元融资,以工具化手段帮助企业从数字资产管理中解放
近日,总部位于旧金山湾区的初创公司Share Creators宣布完成了新一轮500万美元的融资,投资方为五源资本和福昕PDF。本轮融资主要用于扩大客户基础,并加速在美国、欧洲和亚洲的业务发展。近几年,企业内容及数字资产管理全球市场正在…...
几个Base64编码工具,也有蹊跷
起因 需求:对一段内容进行base64加密,然后通过url的get请求进行发送到后台,由于加密的内容比较少,base64串也不是很长,我认为此方案可行。 于是找了三个base64编码的在线工具,分别是: 平台1&…...
Python|每日一练|排序|递归|字符串|数组|动态规划|单选记录:以特殊格式处理连续增加的数字|正则表达式匹配|地下城游戏
1、以特殊格式处理连续增加的数字(排序) 贡献者:EricLao 给出一串数字, 程序要把数字按照这样的格式输出,把连续增加的数字用 [x-y] 的形式表示,只显示这一组顺序数字的首位两个数字,不连续增…...
Spring Cloud微服务网关Gateway组件
目录 网关简介 什么是Spring Cloud Gateway Spring Cloud Gateway 功能特征 核心概念 工作原理 Spring Cloud Gateway快速开始 环境搭建 集成Nacos 路由断言工厂(Route Predicate Factories)配置 自定义路由断言工厂 过滤器工厂( …...
cluster nodes(集群节点)
CLUSTER NODES 复制 自3.0.0起可用。 时间复杂度: O(N)其中N是 Cluster 节点的总数 Redis 集群中的每个节点都有其当前集群配置的视图,由已知节点的集合给出,我们与这些节点的连接状态,它们的标志&…...
【Android学习】下载jar慢和gradle慢的情况
目录 问题出现的原因 解决方法 解决Gradle下载问题:手动安装 解决jar包下载慢问题:更改下载源 问题出现的原因 国内访问谷歌被墙导致访问速度慢或者干脆无法下载 解决方法 解决Gradle下载问题:手动安装 访问官网Gradle | Release Candi…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
