javalzo解压的简单介绍
今天给各位分享javalzo解压的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、centos7中在官网下载一个lzo,但是在终端用tar解压时发现无法找到文件,请问该怎么解决
- 2、linux下怎么打开lzo文件?查看文件内容?
- 3、HDFS文件
- 4、hadoop-lzo安装有什么作用
- 5、电脑的压缩文件有什么用
- 6、坑爹的Apache hbase 64位机装配Snappy终于成功了怎么解决
centos7中在官网下载一个lzo,但是在终端用tar解压时发现无法找到文件,请问该怎么解决
ls -l 看看当前路径下文件是否存在
如果没有,你到下载路径下解压
linux下怎么打开lzo文件?查看文件内容?
lzo 是压缩文件。
一般 Linux 下面的压缩都是流压缩,也就是只能压缩一个文件。这种文件是没办法看内容的,只能直接解压缩。
图形界面双击即可。
HDFS文件
Hadoop支持的文件系统由很多(见下图),HDFS只是其中一种实现。Java抽象类 org.apache.hadoop.fs.FileSystem 定义了Hadoop中一个文件系统的客户端接口,并且该抽象类有几个具体实现。Hadoop一般使用URI(下图)方案来选取合适的文件系统实例进行交互。
特别的,HDFS文件系统的操作可以使用 FsSystem shell 、客户端(http rest api、Java api、C api等)。
FsSystem shell 的用法基本同本地shell类似,命令可参考 FsSystem shell
Hadoop是用Java写的,通过Java Api( FileSystem 类)可以调用大部分Hadoop文件系统的交互操作。更详细的介绍可参考 hadoop Filesystem 。
非Java开发的应用可以使用由WebHDFS协议提供的HTTP REST API,但是HTTP比原生的Java客户端要慢,所以不到万不得已尽量不要使用HTTP传输特大数据。通过HTTP来访问HDFS有两种方法:
两种如图
在第一种情况中,namenode和datanode内嵌的web服务作为WebHDFS的端节点运行(是否启用WebHDFS可通过dfs.webhdfs.enabled设置,默认为true)。文件元数据在namenode上,文件读写操作首先被发往namenode,有namenode发送一个HTTP重定向至某个客户端,指示以流的方式传输文件数据的目的或源datanode。
第二种方法依靠一个或多个独立代理服务器通过HTTP访问HDFS。所有集群的网络通信都需要通过代理,因此客户端从来不直接访问namenode或datanode。使用代理后可以使用更严格的防火墙策略和带宽策略。
HttpFs代理提供和WebHDFS相同的HTTP接口,这样客户端能够通过webhdfs URI访问接口。HttpFS代理启动独立于namenode和datanode的守护进程,使用httpfs.sh 脚本,默认在一个不同的端口上监听(14000)。
下图描述了
读文件时客户端与 HDFS 中的 namenode, datanode 之间的数据流动。
对上图的解释如下:
在读取过程中, 如果 FSDataInputStream 在和一个 datanode 进行交流时出现了一个错误,他就去试一试下一个最接近的块,他当然也会记住刚才发生错误的 datanode 以至于之后不会再在这个 datanode 上进行没必要的尝试。 DFSInputStream 也会在 datanode 上传输出的数据上核查检查数(checknums).如果损坏的块被发现了, DFSInputStream 就试图从另一个拥有备份的 datanode 中去读取备份块中的数据。
在这个设计中一个重要的方面就是客户端直接从 datanode 上检索数据,并通过 namenode 指导来得到每一个块的最佳 datanode。这种设计允许 HDFS 扩展大量的并发客户端,因为数据传输只是集群上的所有 datanode 展开的。期间,namenode 仅仅只需要服务于获取块位置的请求(块位置信息是存放在内存中,所以效率很高)。如果不这样设计,随着客户端数据量的增长,数据服务就会很快成为一个瓶颈。
我们知道,相对于客户端(之后就是 mapreduce task 了),块的位置有以下可能性:
我们认为他们对于客户端的带宽递减,距离递增(括号中表示距离)。示意图如下:
如果集群中的机器都在同一个机架上,我们无需其他配置,若集群比较复杂,由于hadoop无法自动发现网络拓扑,所以需要额外配置网络拓扑。
基本读取程序,将文件内容输出到console
FileSystemCat
随机读取
展开原码
下图描述了写文件时客户端与 HDFS 中的 namenode, datanode 之间的数据流动。
对上图的解释如下:
如果在任何一个 datanode 在写入数据的时候失败了,接下来所做的一切对客户端都是透明的:首先, pipeline 被关闭,在确认队列中的剩下的包会被添加进数据队列的起始位置上,以至于在失败的节点下游的任 何节点都不会丢失任何的包。然后与 namenode 联系后,当前在一个好的 datanode 会联系 namenode, 给失败节点上还未写完的块生成一个新的标识ID, 以至于如果这个失败的 datanode 不久后恢复了,这个不完整的块将会被删除。失败节点会从 pipeline 中移除,然后剩下两个好的 datanode 会组成一个的新的 pipeline ,剩下的 这些块的包(也就是刚才放在数据队列队首的包)会继续写进 pipeline 中好的 datanode 中。最后,namenode 注意到块备份数小于规定的备份数,他就安排在另一个节点上创建完成备份,直接从已有的块中复制就可以。然后一直到满足了备份数( dfs.replication )。如果有多个节点的写入失败了,如果满足了最小备份数的设置( dfs.namenode.repliction.min ),写入也将会成功,然后剩下的备份会被集群异步的执行备份,直到满足了备份数( dfs.replication )。
创建目录
文件压缩有两大好处:
Hadoop 对于压缩格式的是自动识别。如果我们压缩的文件有相应压缩格式的扩展名(比如 lzo,gz,bzip2 等)。Hadoop 会根据压缩格式的扩展名自动选择相对应的解码器来解压数据,此过程完全是 Hadoop 自动处理,我们只需要确保输入的压缩文件有扩展名。
Hadoop中有多种压缩格式、算法和工具,下图列出了常用的压缩方法。
表中的“是否可切分”表示对应的压缩算法是否支持切分,也就是说是否可以搜索数据流的任意位置并进一步往下读取数据,可切分的压缩格式尤其适合MapReduce。
所有的压缩算法都需要权衡空间/时间:压缩和解压缩速度更快,其代价通常是只能节省少量的空间。不同的压缩工具有不同的特性:
更详细的比较如下
1.压缩性能比较
2.优缺点
另外使用hadoop原生(native)类库比其他java实现有更快的压缩和解压缩速度。特征比较如下:
使用容器文件格式结合压缩算法也能更好的提高效率。顺序文件、Arvo文件、ORCFiles、Parqurt文件同时支持压缩和切分。
压缩举例(Java)
压缩
解压缩
六、文件序列化
序列化是指将结构化数据转换为字节流以便在网络上传输或写到磁盘进行永久存储。反序列化狮子将字节流转换回结构化对象的逆过程。
序列化用于分布式数据处理的两大领域:进程间通信和永久存储。
对序列化的要求时是格式紧凑(高效使用存储空间)、快速(读写效率高)、可扩展(可以透明地读取老格式数据)且可以互操作(可以使用不同的语言读写数据)。
Hadoop使用的是自己的序列化格式 Writable ,它绝对紧凑、速度快,但不太容易用java以外的语言进行扩展或使用。
当然,用户也可以使用其他序列化框架或者自定义序列化方式,如 Avro 框架。
Hadoop内部还使用了 Apache Thrift 和 Protocal Buffers 来实现RPC和数据交换。
hadoop-lzo安装有什么作用
lzo压缩格式有很快的压缩/解压速度和合理的压缩率,并且支持分块(split),所以lzo是目前在Hadoop中最流行的压缩格式。hadoop中的lzo不是自带的,如果要支持lzo,需要另外安装。
电脑的压缩文件有什么用
如果你要一次上传多个文件,可以用Winrar压缩成一个文件,不仅方便而且压缩以后原文件将缩小一些。
文件压缩,原本是在那个存储空间甚至需要以字节来计算的时代,为了节省文件所占用的空间而诞生的。而随着网络的普及,为了节省文件在网络上传输的流量及时间,对文件进行压缩也几乎成为了必备的过程。
根据所使用的压缩算法的不同,压缩文件也被区分为不同的格式。下面列表中的是所有的压缩文件格式,不过常用的并没有那么多,而在Windows系统上面常用的就更少了。下面介绍一下压缩文件的所有格式:
* .0 - Hacha Split存档
* .000 - DoubleSpace压缩档
* .001 - 7-Zip压缩Split档
* .7z - 7-Zip压缩档
* .ace -WinAce压缩档
* .ain - AIN压缩存档
* .alz - ALZip存档
* .apz - Autoplay Media Studio Exported Project
* .ar - Unix Static Library
* .arc - FreeArc压缩存档
* .ari - ARI压缩存档
* .arj - ARJ压缩存档
* .axx - AxCrypt加密档
* .bh - BlakHole存档
* .bhx - BinHex编码档
* .boo - Booasm压缩存档
* .bz - Bzip压缩档
* .bza -
* .bz2 - Bzip2压缩档
* .bzip2 - Bzip2压缩存档
* .c00 -WinAceSplit存档
* .c01 -WinAceSplit存档分卷
* .c02 -WinAceSplit存档分卷
* .cab -
* .car - CAR存档
* .cbr - Comic Book RAR存档
* .cbz - Comic Book ZIP存档
* .cp9 - ChoicePoint Encrypted档
* .cpgz - 压缩CPIO存档
* .cpt - Compact Pro存档
* .dar - DAR Disk存档
* .dd - DiskDouber存档
* .deb - Debian软件包
* .dgc - DGCA存档
* .dist - Mac OS X Distribution Script
* .ecs - Sony Ericsson Phone备份档
* .efw - Renamed Zip or Executable档
* .f - Freeze压缩档
* .fdp - MySafe加密数据
* .gca - GCA存档
* .gz - Gnu Zipped档
* .gzi - Unix Gzip档
* .gzip - Gnu Zipped档
* .ha - HA压缩存档
* .hbc - HyperBac压缩存档
* .hbc2 - HyperBac压缩存档
* .hbe - HyperBac压缩加密存档
* .hki - WinHKI存档
* .hki1 - WinHKI HKI1存档
* .hki2 - WinHKI HKI2存档
* .hki3 - WinHKI HKI3存档
* .hpk - HPack压缩存档
* .hyp- HYPER压缩存档
* .ice - ICE存档
* .imp - Winimp压缩存档
* .ipg - iPod游戏档
* .ipk - Itsy包
* .ish - ISH压缩存档
* .j - JAR存档
* .jar - JAR存档
* .jgz - Gzipped Javascript档
* .jic - Java Icon档
* .kgb - KGB存档
*.kz -快压存档
* .lbr - LU Library存档
* .lha - LHARC压缩存档
* .lnx - Commodore 64 Lynx存档
* .lqr - SQ压缩LBR存档
* .lzh - LZH压缩档
* .lzm - Slax Module
* .lzma - LZMA压缩档
* .lzo - LZO压缩档
* .lzx - Amiga LZX压缩档
* .md - MDCD压缩存档
* .mint - Linux Mint安装程序档
* .mou - Winmount压缩档
* .mpkg - Meta包
* .mzp - MAXScript Zip包
* .nz - nanozip压缩档
* .p7m - Digitally Encrypted Message
* .package - Linux Autopackage档
* .pae - PowerArchiver加密存档
* .pak- PAK (Packed)档
* .paq6 - PAQ6数据存档
* .paq7 - PAQ7数据存档
* .paq8 - PAQ8数据存档
* .par - Parchive Index档
* .par2 - Parchive 2 Index档
* .pbi - PC BSD安装程序包
* .pcv - Mozilla Profile备份
* .pea - PEA存档
* .pf - Private档
* .pim - PIM存档
* .pit - PackIt压缩存档
* .piz - Zipped档
* .pkg - Mac OS X安装程序包
* .pup - PlayStation 3 Update档
* .pup - Puppy Linux DotPup安装程序包
* .puz - Packed Publisher档
* .pwa - Password Agent档
* .qda - Quadruple D存档
* .r00 - WinRAR压缩存档
* .r01 - WinRAR Split存档分卷1
* .r02 - WinRAR Split存档分卷2
* .r03 - WinRAR Split存档分卷3
* .rar - WinRAR压缩存档
* .rk - WinRK存档
* .rnc - RNC ProPack存档
* .rpm - Red Hat Package Manager档
* .rte - RTE编码档
* .rz - Rzip压缩档
* .rzs - Red Zion Security档
* .s00 - ZipSplitter分卷1存档
* .s01 - ZipSplitter分卷2存档
* .s02 - ZipSplitter分卷3存档
* .s7z - Mac OS X 7-Zip档
* .sar - Service存档
* .sdn - Shareware Distributors Network档
* .sea - Self-Extracting存档
* .sfs- SquashFS存档
* .sfx - Windows自解压存档
* .sh - Unix Shell存档
* .shar - Unix Shar存档
* .shk - ShrinkIt存档
* .shr - Unix Shell存档
* .sit - Stuffit存档
* .sitx - Stuffit X存档
* .spt - TM File Packer压缩存档
* .sqx - SQX存档
* .sqz - Squeezed Video档
* .tar - Consolidated Unix档
* .tbz2 - Tar BZip 2压缩档
* .tgz - Gzipped Tar档
* .tlz - Tar LZMA压缩档
* .uc2 - UltraCompressor 2存档
* .uha -UHarc压缩存档
* .uue - UUEncoded档
* .vsi- Visual Studio Content安装程序档
* .wad - Compressed游戏数据
* .war - Java Web存档
* .wot - Web Of Trust档
* .xef -WinAce加密档
* .xez - eManager Template包
* .xpi - Mozilla安装程序包
* .xx - XXEncoded档
* .xxe - XXEncoded档
* .y - Amiga Yabba压缩档
* .yz - YAC压缩档
* .z - Unix压缩档
* .zap - FileWrangler存档
* .zfsendtotarget -压缩档夹
* .zip - Zipped档
* .zipx- Winzip压缩档
* .zix - WinZix压缩档
* .zoo - Zoo压缩档
* .zz - Zzip压缩存档
*.exe - 自解压格式
坑爹的Apache hbase 64位机装配Snappy终于成功了怎么解决
1.安装基本tool
yum install gcc c++, autoconf, automake, libtool, Java 6, JAVA_HOME set, Maven 3,svn
yum Error: Cannot retrieve repository metadata (repomd.xml) for repository: xxxxx
sodu vim /etc/yum.repos.d/xxxxx.repo
将项[flexbox]中的enabled=1改为enabled=0
解决yum源的问题。
2.安装Snappy
下载snappy
wget
然后解压后,执行三步骤:
./configure
make
sudo make install
默认安装路径:/usr/local/lib下面
检查安装是否成功
ls /usr/local/lib/libsn*
3.安装hadoop-snappy
3.1下载hadoop-snappy源码
svn checkout hadoop-snappy
3.2.安装hadoop-snappy
cd hadoop-snappy
mvn package
4.hadooo中部署snappy
解压hadoop-snappy-0.0.1-SNAPSHOT.tar.gz文件,会生成hadoop-snappy-0.0.1-SNAPSHOT目录,拷贝这个目录下相关文件到$HADOOP_HOME/lib/native/Linux-amd64-64
cp -r /hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/* $HADOOP_HOME/lib/native/Linux-amd64-64
将target目录下的hadoop-snappy-0.0.1-SNAPSHOT.jar拷贝到$HADOOP_HOME/lib/目录下。
修改三个文件:
hadoop-env.sh,增加内容如下:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/
修改core-site.xml文件,增加红色字体部分
property
nameio.compression.codecs/name
value
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec,
org.apache.hadoop.io.compress.SnappyCodec
/value
/property
5.往HBase中使用压缩方式
当hadoop的snappy配置成功后,配置hbase就很简单了,两个步骤:
第一步骤复制相关jar包
cp -r $HADOOP_HOME/lib/native/Linux-amd64-64/* $HBASE_HOME/lib/native/Linux-amd64-64/*
这里需要注意下,有些版本在安装过程中,没有这个Linux-amd64-64这个目录,需要手工创建下。
第二步骤配置hbase-env.sh环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/
export HBASE_LIBRARY_PATH=$HBASE_LIBRARY_PATH:$HBASE_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/
6、重启Hadoop、HBase 检查安装是否成功
cd $HBASE_HOME/bin
./hbase org.apache.hadoop.hbase.util.CompressionTest /tmp/testfile snappy
结果:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
坑爹的Apache官网提供的是32位编译的,在64位服务器上会有问题。官方竟然没有提供64位版本,要使用得自己编译。
7.编译hadoop2.2.0
7.1 yum install cmake zlib1g-dev pkg-config libssl-dev
7.2 安装protobuf-2.5.0
很多博客的protobuf的安装都是shit.不知道他们实践过没有,老是copy来copy去。
下载protobuf-2.5.0.tar.gz,解压。
sudo vim /etc/profile
#protobuf
export PROTOC_HOME=/opt/protobuf-2.5.0
export PATH=$PATH:$PROTOC_HOME/src
source /etc/profile
$protoc --version
libprotoc.2.5.0
ok就这样。根本不需要什么configure --prefix,make,make install这么麻烦,也不成功。
7.3 下载hadoop2.2.0源码
Download Hadoop sources.
Patch sources:
cd hadoop-2.2.0-src
wget
patch -p0 HADOOP-10110.patch
maven国外服务器可能连不上,maven配置一下国内镜像,在maven目录下,conf/settings.xml,在mirrors/mirros里添加,原本的不要动
mirror
idnexus-osc/id
mirrorOf*/mirrorOf
nameNexusosc/name
url;/url
/mirror
同样,在profiles/profiles内新添加
profile
idjdk-1.7/id
activation
jdk1.4/jdk
/activation
repositories
repository
idnexus/id
namelocal private nexus/name
url;/url
releases
enabledtrue/enabled
/releases
snapshots
enabledfalse/enabled
/snapshots
/repository
/repositories
pluginRepositories
pluginRepository
idnexus/id
namelocal private nexus/name
url;/url
releases
enabledtrue/enabled
/releases
snapshots
enabledfalse/enabled
/snapshots
/pluginRepository
/pluginRepositories
/profile
7.4 编译mvn package -Pdist,native -DskipTests -Dtar -rf :hadoop-common
编译完成了后,cd hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0
file 一下native下面的so文件
将 native/*再cp 到$hadoop_home/bin的各个data node的native/* 和native/Linux-amd64-64下。
重新运行测试,结果
javalzo解压的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javalzo解压的信息别忘了在本站进行查找喔。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。