Los peligros de hadoop-2.7.2+hive 2.0.0 que utilizan la compresión LZO son muy profundos

Hadoop-2.7.2 ha salido y se dice que se puede utilizar en entornos de producción. Una vez que lo experimentes, ¡hará que la gente colapse!

Escribí varios blogs sobre Hadoop-2.2.0 + QJM HA + hive + LZO en los últimos dos años, ¡y hasta ahora sigue siendo tan correcto en la versión hadoop-2.7.2! ¡Jaja, qué tontería!

Primera experiencia usando Hadoop2.2.0

Práctica de Hadoop2.2.0 HA basada en QJM

Cosas Hadoop2.2.0+hive usa LZO para comprimir

Lo anterior (1) y (2) básicamente no han cambiado, y (3) no ha cambiado mucho. Me topé con (3). Después de tres días, no pude entender por qué los archivos LZO no están fragmentados en Hive. Aunque Al final parece que todavía soy demasiado arrogante, de todos modos lo describiré aquí y no lo repetiré la próxima vez.


1. Inicio de sesión sin contraseña SSH

Al principio, esto es bastante molesto y los pasos son simples, pero la máquina existe desde hace mucho tiempo. Después de todo, ¡no hay automatización! Más tarde, pensé en una forma de ejecutarlo en cada máquina: ssh-keygen -t rsa, luego descargar todos los archivos id_rsa.pub generados en cada máquina , completar la fusión en el editor de texto de Windows y luego fusionar los archivos. se cargan en cada nodo de Hadoop como claves_autorizadas y se otorgan 644 permisos.

Para evitar los molestos pasos al realizar sshing por primera vez, también puede utilizar el mismo método para reparar el archivo conocido_hosts de cada nodo.

En otras palabras, este enfoque es definitivamente una excelente manera de ahorrar tiempo y reducir la presión arterial.

2. Instalación de LZO y LZOP

Los diversos tutoriales de instalación de Hadoop en Internet ahora son básicamente similares a los siguientes.

Instalar LZO

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
tar -zxvf lzo-2.06.tar.gz 
./configure -enable-shared -prefix=/usr/local/hadoop /lzo/
make && make test && make install

安装LZOP
wget http://www.lzop.org/download/lzop-1.03.tar.gz
tar -zxvf lzop-1.03.tar.gz 
./configure -enable-shared - prefix=/usr/local/hadoop/lzop
hacer && hacer instalar

¿No es molesto? ¿No todas las versiones de Linux tienen sus propias herramientas de administración de paquetes, como yum en centos? ¿Por qué tienes que encontrar el código fuente y compilarlo tú mismo?

¡Simplemente yum instale lzo lzop -y y todo estará listo! ! ! !


3. Hadoop usa compresión LZO

LZO es realmente diferente de bzip2 y demás. No hay forma de saber si es confiable o no. Tal vez pueda ejecutar comandos directamente en Linux y pueda comprimir y descomprimir, pero no funcionará en Hadoop.

En otras palabras, debe asegurarse de poder usar lzop directamente para comprimir y descomprimir en Linux, esta es la base. Por supuesto, esto no es del todo correcto y, en cuanto a por qué es incorrecto, ¡no entraré en detalles todavía!

Después de aplicar directamente Hive-2.0.0, crear tablas, cargar datos, etc., y luego seleccionar directamente count(*) de xxx. Si puede obtener un resultado numérico, al menos LZO en hadoop lo admite.


4. colmena-2.0.0 ha cambiado

我就是栽倒在这里了。一句话,hive-2.0.0没法应用到LZO文件的分片,无论多大的文件,都还是当成一个再来该干嘛干嘛!话说,hadoop-lzo.jar根本就没有被用到,当然没有这个,提交JOB的时候就会错了,但是真的等到JOB+TASK都跑的时候,LZO文件就不分片了。

hive-2.0.0相比之前的版本已经大变样 了!


五、hadoop的压缩

本次就是比较了一下bzip2 、LZO两种。

LZO真的压缩和解压缩好快好快,毛病就是压缩后的文件还是很大,以nginx的access.log来计算的话,压缩率介于1/3 ~1/2之间吧,一个12G的文件,压缩后为5G上线,时间在20秒上下。

bzip2的好处就是压缩率高,12G的文件,LZO后5G,bzip2后2G,不过别看它压缩率高,也支持分片,但是时间上会让发狂的。12G的nginx的访问日志文件,压缩一把要25分钟左右,解压缩要1.5分钟左右,和LZO没有比较余地了。

可以考虑把半年以前的数据都bzip2来压缩,毕竟这个用的少,压缩率也高,就算少量的用也能应付,不就是时间长点而已。LZO就存那种计算多,数据新的业务了。

Supongo que te gusta

Origin blog.csdn.net/zhangzhaokun/article/details/50967776
Recomendado
Clasificación