IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> windows下hadoop对lzo的支持 -> 正文阅读

[大数据]windows下hadoop对lzo的支持

windows下hadoop对lzo的支持

背景

下半年学习大数据,首当其冲,先学习了hadoop

学习hadoop的过程可谓是艰难重重

其中最麻烦的就是本地调式,写代码总会有bug,在网上也找到一些windows下安装hadoop的方法,也有效,能够成功在windows下运行

map-reduce程序,很好的帮助我调试代码

但是,我前段时间遇到了lzo,它从hadoop的压缩库里移除了,虽然在线上,只要linux系统配置好了lzo,你测试没问题,但是本地单机模式

测试的时候,根本跑不起来,因为不支持!!!

心路历程

  • 开始

要使用lzo格式去压缩和解压文件,首先得添加依赖

<dependency>
	   <groupId>org.apache.hadoop</groupId>
	    <artifactId>hadoop-lzo</artifactId>
	    <version>0.4.15</version>
	    <scope>provided</scope>
</dependency>

有0.4.15 和0.4.20两个版本,我只要添加其中一个,关于lzo的代码能在线上跑起来,本机就不行,因为系统没有lzo支持,而且很坑的是这个

包maven它自动下载不了,自己手动安装了这个包才搞定

  • 测试

因为总要测试,但是数据文件都是lzo格式的文件,本地测试需要解压成txt格式的,这样没法看出我写的lzo代码有没有问题(其实没有问

题),但是没有在本地跑一下,总觉得心里空空的。。。

  • 报错

开始测试各种报错全遇到了

# 报错1 
# 这里报错是说没本地没有这个lzo库,你跑不了
 Error: java.lang.RuntimeException: native-lzo library not available

# 所以我去网上找这个库怎么安装到本地
# 然后在官网上找到了lzo2.10版本,下载下来
# 这个库是c写的!!!
# 我还得找个办法给它编译了,用微软Visual Studio 2010的命令行工具去编译,这个网上有教程
# 这个命令行工具刚安装会少东西,百度解决了
# 但是,这个2010是个很老的版本,比较难找,我直接采用2019最新的版本, 这个下载起来比较方便
# 好了,按照教程编译好了,一跑程序,又报错了

# 报错2
 java.io.IOException: Compressed with incompatible lzo version: 0x2060 (expected 0x2050)

 java.lang.UnsatisfiedLinkError: no gplcompression in java.library.path

# 这两个错误一直遇到,网上的方法极其有限,
# 我还在github上找到了hadoop-lzo库,需要自己编译,上面有教程,但是编译起来很麻烦
# 然后我在这
[传送门](https://blog.csdn.net/coolerzZ/article/details/103952188?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-4.no_search_link&spm=1001.2101.3001.4242.3)
# 找到了这位大哥已经编译好的lzo2.dll文件和gplcompression文件,下载下来放到类路径下就行了,但是这是针对0.4.21版本的编译版本,再在里添加0.4.21的包
# 到类路径,就跑起来了!!!

总结下来,

  • 想要在windows下用hadoop对lzo的支持,
    • 首先你得安装,编译lzo包,用Visual Studio的命令行工具
    • 然后你得找到hadoop-lzo,在github上有,然后编译成jar包,加载到库里
    • 最后你编译的lzo2.dll 和 gplcompression一定要放在环境变量路径里
    • 才能跑起来~~
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:37:23  更:2021-10-30 12:38:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:18:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码