有趣生活

当前位置:首页>科技>如何用hadoop分析数据大数据集群Hadoop搭建

如何用hadoop分析数据大数据集群Hadoop搭建

发布时间:2026-07-20阅读(1)

导读LZO压缩LZO,Lempel-Ziv-Oberhumer致力于解压速度的一种数据压缩算法,是无损算法,实现它的一个自由软件工具是lzop。最初的库是用AN....LZO压缩

LZO,Lempel-Ziv-Oberhumer

致力于解压速度的一种数据压缩算法,是无损算法,实现它的一个自由软件工具是lzop。最初的库是用ANSI C编写、并且遵从GNU通用公共许可证发布的,LZO 有用于 Perl、Python 以及Java各种版本。

hadoop-LZO

Hadoop本身并不支持lzo压缩,需要使用twitter提供的hadoop-lzo开源组件,编译需依赖hadoop和lzo进行,地址:https://github.com/kevinweil/hadoop-lzo,编译后为:hadoop-lzo-0.4.20.jar。

Hadoop配置LZO压缩

上传编译后的jar

目录:/opt/module/hadoop-3.1.3/share/hadoop/common

同步至其他Hadoop集群

xsync.shhadoop-lzo-0.4.20.jar

xsync.sh脚本

#!/bin/bash# 获取输出参数 如果没有参数则直接返回pcount=$#if [ $pcount -eq 0 ]then echo "没有参数无法运行!"; exit;fi# 获取传输文件名p1=$1filename=`basename $p1`echo "加载文件: $p1 成功 !"# 获取文件的绝对路径pdir=`cd -P $(dirname $p1); pwd`echo "文件的全路径是: $pdir" # 同步用户user=admin# 同步主机for host in node52 node53do echo "================当前主机是 $host=================" rsync -rvl $pdir/$filename $user@$host:$pdirdoneecho "已完成 !"

配置文件:/opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml,增加

<property> <name>io.compression.codecs</name> <value> org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec, com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec </value></property><property> <name>io.compression.codec.lzo.class</name> <value>com.hadoop.compression.lzo.LzoCodec</value></property>

同步至其他Hadoop集群

xsync.shcore-site.xml

重启hadoop集群

hdp.sh starthdp.sh stop

hdp.sh脚本

#!/bin/bash# $#传递给脚本或函数的参数个数# -lt //less than小于if [ $# -lt 1 ]then echo "没有参数无法运行..." exit ;ficase $1 in"start") echo "================启动 hadoop集群=================" echo " --------------- 启动 hdfs ---------------" ssh node53 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh" echo " --------------- 启动 yarn ---------------" ssh node54 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh" echo " --------------- 启动 historyserver ---------------" ssh node53 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver";;"stop") echo "================关闭 hadoop集群=================" echo " --------------- 关闭 historyserver ---------------" ssh node53 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver" echo " --------------- 关闭 yarn ---------------" ssh node54 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh" echo " --------------- 关闭 hdfs ---------------" ssh node53 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh";;*) echo "输出参数错误...";;esac

查看Hadoop进程

xcall.sh jps

xcall.sh脚本

#!/bin/bash# 用户user=admin# 主机for host in node52 node53do echo "================当前主机是 $host=================" # $* 所有参数列表 ssh $user@$host "$*"doneecho "已完成 !"

测试,上传文件

hadoop fs -mkdir /inputhadoop fs -put R.txt /input

测试,执行wordcount程序

hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar \wordcount -Dmapreduce.output.fileoutputformat.compress=true \-Dmapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzoCodec \/input /output

相关参数参考:

https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图