Día divertido de Big Data1
Big Data jugoso
Curso introductorio de Datawhale sobre contenido relacionado con la tecnología big data: Juicy Big Data Day1
1. Descripción general de los macrodatos
Big data: la tercera ola de informatización
Ola de información | tiempo | la señal | problema resuelto |
---|---|---|---|
primera ola | 1980 | Computadora personal | procesamiento de información |
Segunda ola | 1995 | La Internet | Transferencia de información |
tercera ola | 2010 | Internet de las Cosas, Computación en la Nube y Big Data | explosión de información |
-
El valor de los big data no reside en los datos en sí, sino en la autenticidad y cientificidad de los problemas reflejados en los datos.
-
La recopilación y el almacenamiento de datos es sólo la primera etapa de la aplicación de big data, lo que es más crítico es el análisis y la utilización de datos para lograr el efecto de descubrir nuevos conocimientos y crear nuevos valores.
concepto de grandes datos
4V
- Gran cantidad de datos (Volumen) : la popularidad del Internet de las cosas, los datos masivos generados por sensores y cámaras
- Variedad de tipos de datos : big data biológicos, big data de transporte, big data médicos, big data de telecomunicaciones, big data de energía eléctrica, big data financieros, etc.; datos estructurados (10%) y datos no estructurados (90%).
- Alta velocidad de procesamiento (Velocity) : para analizar rápidamente datos masivos, las tecnologías emergentes de análisis de big data generalmente utilizan procesamiento de clústeres y un diseño interno único.
- Baja densidad de valor (Valor) : la densidad de valor es mucho menor que los datos existentes en las bases de datos relacionales tradicionales.
aplicación de big data
campo | Aplicación de grandes datos |
---|---|
Sector financiero | Los macrodatos desempeñan un papel importante en las tres principales áreas de innovación financiera: el comercio de alta frecuencia, el análisis del sentimiento social y el análisis del riesgo crediticio. |
industria de internet | Con la ayuda de la tecnología big data se puede analizar el comportamiento de los clientes, realizar recomendaciones de productos y realizar publicidad dirigida. |
Industria de alimentos | Utilice big data para implementar el modo O2O de catering y cambiar completamente el modo de operación del catering tradicional. |
Ciencia Biomedica | Los macrodatos pueden ayudarnos a realizar predicciones epidémicas, tratamientos médicos inteligentes y gestión de la salud, así como a interpretar el ADN y aprender más sobre los misterios de la vida. |
… | … |
Tecnología clave de Big Data
-
Big data es la síntesis de datos y tecnología de big data .
-
La tecnología de big data se refiere a tecnologías relacionadas que acompañan la recopilación, transmisión, procesamiento y aplicación de big data. Una gama de técnicas analíticas y de procesamiento de datos para analizar y predecir resultados.
-
Desde la perspectiva de todo el proceso de análisis de datos, la tecnología de big data incluye principalmente la recopilación, el almacenamiento y la gestión de datos, el procesamiento y análisis de datos, la seguridad de los datos y la protección de la privacidad, etc.
Dos, Hadoop
fondo
buscar:
-
Lucene: kit de herramientas, realiza la función de búsqueda de texto completo en el sistema de destino
-
Nutch: una aplicación de búsqueda web construida sobre el núcleo de Lucene , lista para usar. Búsqueda del sitio -> Búsqueda web global
El objeto de búsqueda "volumen" sigue creciendo:
-
Sistema de almacenamiento de archivos distribuido (NDFS, Nutch Distributed File System): un sistema de archivos dedicado diseñado para almacenar datos de búsqueda masivos, basado en GFS de Google
-
Modelo de programación MapReduce : análisis paralelo y operación de conjuntos de datos a gran escala (más de 1 TB )
introducir
Hadoop : HDFS (sistema de archivos distribuido Hadoop) + MapReduce
Hadoop es una plataforma informática distribuida de código abierto de Apache Software Foundation, que proporciona a los usuarios una infraestructura distribuida con detalles transparentes del sistema subyacente. Hadoop se desarrolla en base al lenguaje Java , tiene buenas características multiplataforma y se puede implementar en clústeres de computadoras económicos .
característica
- Alta confiabilidad, alta tolerancia a fallas : método de almacenamiento de datos redundante
- Almacenamiento distribuido eficiente y procesamiento distribuido, dos tecnologías centrales para procesar datos de nivel PB de manera eficiente
- alta escalabilidad
- Bajo coste : clusters de ordenadores baratos
- Se ejecuta en la plataforma Linux
- Admite múltiples lenguajes de programación
estructura del proyecto
- Común: una herramienta común que brinda soporte para otros subproyectos, incluye principalmente FileSystem, RPC y bibliotecas de serialización.
- Avro: un sistema para la serialización de bases de datos
- HDFS: sistema de archivos distribuido
- HBase: base de datos en columnas, que generalmente utiliza HDFS como almacenamiento de datos subyacente
- Pig: un lenguaje de flujo de datos y tiempo de ejecución
- Sqoop: mejora la interoperabilidad de datos, se utiliza principalmente para intercambiar datos entre Hadoop y bases de datos relacionales.
- Chukwa: sistema de recopilación de datos
- Zookeeper: un servicio de coordinación de código abierto para aplicaciones distribuidas
experimento
1. Preparativos
# 创建容器
docker run --name=hadoop ubuntu /bin/bash
# 添加用户,赋予权限
useradd zym -m -d /home/zym -s /bin/bash
passwd zym
usermod -aG sudo zym
2. Instalar 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
Modificar las variables de entorno del sistema
sudo vim /etc/profile
# 1. 添加java环境变量
# 2. 激活使环境变量生效
source /etc/profile
# 3. 查看版本
java -version
3. Instale OpenSH
# 更新apt,并安装文本编辑器、SSH服务和screen服务
apt-get update && apt-get install -y vim openssh-server screen && rm -rf /var/lib/apt/lists/*
Compruebe si la instalación es exitosa
service ssh start
# 设置 ssh 服务开机自启
echo 'service ssh start'>>~/.bashrc
Configuración de permiso de inicio de sesión SSH
Solución : simplemente complete el mapeo entre el puerto 22 en el contenedor y el puerto en el host.
4. Instalar hadoop
Sitio espejo nacional de hadoop: Índice de /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
Modificar la configuración del archivo hadoop-env.sh
vim etc/hadoop/hadoop-env.sh
# 追加
export JAVA_HOME=/opt/java/
prueba
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/*
1. Instalación pseudodistribuida
1. Modifique core-site.xml
, y estos 4 archivos hdfs-site.xml
.mapred-site.xml
yarn-site.xml
Para obtener más información, consulte el [Capítulo 2: Hadoop (datawhalechina.github.io)](https://datawhalechina.github.io/juicy-bigdata/#/ch2 Hadoop?id=_2335-hadoop instalación pseudodistribuida)
2. Formatee el sistema de archivos distribuido.
hdfs namenode -format
/opt/hadoop/sbin/start-all.sh
3. Prueba
Ingrese jps
el comando para ver el proceso de Java
Ejecute el programa de recuento de palabras, pruebe
2. Instalación en modo clúster
Aquí experimentaré con una instalación pseudodistribuida del compromiso del contenedor acoplable para duplicar y crear nodos secundarios. También puede buscar imágenes directamente con Hadoop o escribir directamente un archivo acoplable Task01 Lea el Capítulo 1 y el Capítulo 2 de Hadoop en detalle (plutos.org.cn)
1. Modifique,, core-site.xml
y hdfs-site.xml
estos 4 archivos mapred-site.xml
.yarn-site.xml
Para obtener más información, consulte el [Capítulo 2: Hadoop (datawhalechina.github.io)](https://datawhalechina.github.io/juicy-bigdata/#/ch2 Hadoop?id=_2335-hadoop instalación pseudodistribuida)
2. Configuración del archivo de trabajadores de Hadoop, edite el archivo /etc/hosts, cree una clave pública y copie la clave pública
# 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. Formatee el sistema de archivos distribuido.
hdfs namenode -format
/opt/hadoop/sbin/start-all.sh
4. Prueba
Ingrese jps
el comando para ver el proceso Java del nodo maestro y los dos nodos esclavos
Ejecute el programa de recuento de palabras, pruebe
Resumen de los problemas encontrados:
-
No se puede acceder al puerto 22 en Docker:
Solución : simplemente complete el mapeo entre el puerto 22 en el contenedor y el puerto en el host.
-
La instalación de hadoop es demasiado lenta
Sitio espejo nacional de hadoop: Índice de /apache/hadoop/common/hadoop-3.3.1 (tsinghua.edu.cn)
-
DataNode no muestra que
DataNode en Hadoop no está iniciadodirectorio de registro: /opt/hadoop/logs/hadoop-zym-datanode-df735624a7d9.log
Directorio de consulta de referencia de VERSIÓN: /tmp/hadoop-datawhale/dfs/data/current/VERSION
Un curso introductorio al contenido relacionado con la tecnología big data de Datawhale : Juicy Big Data