Máquina virtual Linux: creación de un entorno básico para clústeres de big data (Hadoop, Spark, Flink, Hive, Zookeeper, Kafka, Nginx)

Información básica: Centos-7.9, Java-1.8, Python-3.9, Scala-2.12, Hadoop-3.2.1, Spark-3.1.2, Flink-1.13.1, Hive-3.1.3, Zookeeper-3.8.0, Kafka -3.2.0, Nginx-1.23.1

Todas las configuraciones de instalación se basan en configuraciones de aprendizaje personal, especifique las configuraciones para la instalación del entorno de producción

1. Dirección de descarga de archivos relevante

  • Centavos-7.9
    • http://espejos.aliyun.com/centos/7.9.2009/isos/x86_64
  • Java-1.8
    • https://www.oracle.com/java/technologies/downloads/#java8
  • Python-3.9
    • https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
  • Scala-2.12
    • https://www.scala-lang.org/download/2.12.12.html
  • Hadoop-3.2.1
    • http://archive.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
  • Chispa-3.1.2
    • http://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
  • Flink-1.13.1
    • http://archive.apache.org/dist/flink/flink-1.13.1/flink-1.13.1-bin-scala_2.12.tgz
  • Colmena-3.1.3
    • http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
  • Zookeeper-3.8.0
    • http://archive.apache.org/dist/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
  • Kafka-3.2.0
    • http://archive.apache.org/dist/kafka/3.2.0/kafka_2.12-3.2.0.tgz
  • Nginx-1.23.1
    • https://nginx.org/download/nginx-1.23.1.tar.gz

2. Configuración básica de la máquina virtual

  • Modificar IP estática
    • vi /etc/sysconfig/network-scripts/ifcfg-eth0
    • Reiniciar la red después de la modificación
      • systemctl reiniciar red
    • La configuración relevante se modifica de acuerdo con su propia máquina
BOOTPROTO="static"
ONBOOT="yes"
GATEWAY="10.211.55.1"
IPADDR="10.211.55.101"
NETMASK="255.255.255.0"
DNS1="114.114.114.114"
DNS2="8.8.8.8"
  • crear usuario
    • crear
      • agregar usuario -m ac_cluster
    • contraseña
      • contraseña ac_cluster
    • permisos sudo
      • vi /etc/sudoers
      • Agregue los datos de usuario correspondientes en la configuración raíz
  • Modificar fuente yum
    • ubicación de configuración
      • /etc/yum.repos.d
    • descargar wget
      • sudo yum -y instalar wget
    • Obtener el archivo de repositorio
      • wget http://mirrors.aliyun.com/repo/Centos-7.repo
    • Copia de seguridad del archivo de repositorio original
      • mv CentOS-Base.repo CentOS-Base.repo.bak
    • cambiar nombre
      • mv Centos-7.repo CentOS-Base.repo
    • refrescar
      • ñam limpiar todo
      • mmm makecache
  • descargar vim
    • yum -y instalar vim
  • modificar nombre de host
    • vim /etc/nombre de host
    • reiniciar
  • desactivar el cortafuegos
    • systemctl detener firewalld
    • systemctl deshabilitar firewalld
  • Modificar la asignación de nombres de dominio
    • vim /etc/hosts
  • Configurar ssh sin contraseña
    • ssh-keygen-t rsa
      • Entra tres veces
    • ssh-copia-id híbrido01
      • De acuerdo con la modificación de la configuración del subnodo, hay varios subnodos para ejecutar varias veces
  • Configurar sincronización de tiempo
    • yum -y instalar ntpdate
    • ntpdate ntp1.aliyun.com
    • Se puede configurar para realizar automáticamente la sincronización de tiempo
      • crontab -e */1 * * * * sudo /usr/sbin/ntpdate ntp1.aliyun.com

3. Instalación del entorno de idioma

1. Instalación del entorno Java

  • Después de descargar el paquete de instalación, extráigalo al directorio especificado
    • tar -zxvf xxx -C /xx/xx
  • wget instalación con un solo clic
    • 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
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
export JAVA_HOME=/xx/xx
export PATH=$JAVA_HOME/bin:$PATH

2. Instalación del entorno Python

  • Descargar paquete fuente o descargar wget
    • wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
  • Descomprimir en el directorio especificado
    • tar -zxvf xxx -C /xx/xx
  • Depende de la instalación del entorno.
    • sudo yum -y install vim unzip net-tools && sudo yum -y install wget && sudo yum -y install bzip2 && sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk- devel gdbm-devel db4-devel libpcap-devel xz-devel && sudo yum -y install libglvnd-glx && sudo yum -y install gcc gcc-c++
  • preconfigurado
    • ./configure --prefix=/xxx/programa/python3
  • Compilar e instalar
    • hacer && hacer instalar
  • Configure las variables de entorno o coloque el enlace suave de python3 en /usr/bin

3. Instalación del entorno Scala

  • Después de descargar el paquete de instalación, extráigalo al directorio especificado
    • tar -zxvf xxx -C /xx/xx
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
export SCALA_HOME=/xx/xx
export PATH=$SCALA_HOME/bin:$PATH

4. Instalación de componentes de Big Data

1. Instalación del clúster de Hadoop

  • abrir la cremallera
    • tar -zxvf xx -C /xx/xx
  • Ingrese al directorio de Hadoop para modificar los archivos en etc/hadoop
  • Modificar hadoop-env.sh
    • exportar JAVA_HOME=/xxx
  • Modificar core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hybrid01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/xxx/runtime/hadoop_repo</value>
    </property>
</configuration>
  • Modificar hdfs-sitio.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hybrid01:50090</value>
    </property>
</configuration>
  • Modificar mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • Modificar hilo-sitio.xml
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hybrid02</value>
  </property>
</configuration>
  • Modificar el nodo de datos de configuración del archivo de trabajadores
    • Escriba el nombre de host de cada nodo de nodo de datos
  • Modifique el script de inicio de hdfs: start-dfs.sh, stop-dfs.sh
    • Agrega el siguiente contenido
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
  • Modificar secuencias de comandos de inicio y parada de hilo: start-yarn.sh, stop-yarn.sh
    • Agrega el siguiente contenido
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
HADOOP_HOME=/xxx/hadoop-3.2.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`
  • Distribuir cada nodo
    • scp -r hadoop-xxx usuario@híbrido01:$PWD
  • nodo de nombre de formato
    • nodo de nombre hdfs -formato
  • Inicie el clúster
    • arranque directo
      • empezar-todo.sh
    • Comienza el demonio
      • hadoop-daemons.sh iniciar/detener nodo de nombre/nodo de datos/nodo de nombre secundario
    • comenzar hilo
      • inicio-hilo.sh

2. Instalación de MySQL

Otros componentes usarán MySQL para la configuración Aquí, instale MySQL primero, principalmente usando Docker para instalar, y soy demasiado perezoso para instalar el paquete de instalación.

  • Instalación de la ventana acoplable
    • sudo yum -y install yum-utils device-mapper-persistent-data lvm2
    • sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    • sudo yum -y install docker-ce docker-ce-cli containerd.io
    • inicio de la ventana acoplable del servicio sudo
    • systemctl habilitar la ventana acoplable
    • Si no puede usarlo directamente, puede eliminarlo directamente si necesita Sudo
      • sudo gpasswd -a su nombre de usuario ventana acoplable
      • ventana acoplable de nuevo grupo
  • Instalación de mysql
    • Crear un directorio de montaje: datos, conf
    • ventana acoplable extraer mysql: 5.7
    • docker run -d --name=mysql -p 3306:3306 --restart=always --privileged=true -v /xxx/metadata/docker/mysql/data:/var/lib/mysql -v /xxx/metadata/ docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    • Agregar inicio de sesión remoto (Docker parece venir con él)
      • Crear un usuario remoto: CREAR USUARIO 'root'@'%' IDENTIFICADO CON mysql_native_password BY '123456';
      • Permiso de apertura: OTORGAR TODOS LOS PRIVILEGIOS EN .TO 'root'@'%';
    • Modificar la codificación de bytes
      • alterar la base de datos <nombre de la base de datos> juego de caracteres utf8;
      • reiniciar
    • Descarga del controlador MySQL
      • wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz

3. Instalación de chispa

Aquí no instalé directamente el clúster de Spark, generalmente lo envié a Hadoop Yarn para su ejecución, aquí solo descomprimí las variables de entorno de configuración

  • abrir la cremallera
    • tar -zxvf xxx -C /xx/xx
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
SPARK_HOME=/xxx/xx
export PATH=$SPARK_HOME/bin:$PATH
  • Configurar el entorno de Hive
    • Coloque Hive en hive-site.xml en Spark para conf
    • Copie el controlador MySQL a Spark en frascos
    • prueba
      • iniciar chispa-shell
      • spark.sql(“mostrar bases de datos”).show()

4. Instalación de enlaces

  • abrir la cremallera
    • tar -zxvf flink-xxx -C /xx/xx
  • Modificar flink-conf.yaml
    • Modificar localhost como nombre de host
  • Modificar el nombre de host de los trabajadores
  • Modificar el nombre de host maestro
  • clúster de distribución
    • scp -r flink-xxx usuario:híbrido01:$PWD
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
FLINK_HOME=/xxx/xx
export PATH=$FLINK_HOME/bin:$PATH
  • puesta en marcha
    • inicio-cluster.sh

5. Instalación de colmena

  • abrir la cremallera
    • tar -zxvf colmena-xxx -C /xx/xx
  • colmena-env.sh
    • HADOOP_HOME=/xx/hadoop
    • exportar HIVE_CONF_DIR=/xx/hive/conf
  • colmena-sitio.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <!-- jdbc 连接的 URL -->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://hybrid03:3306/hive?createDatabaseIfNotExist=true&amp;amp;useSSL=false</value>
  </property>
  <!-- jdbc 连接的 Driver-->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <!-- jdbc 连接的 username-->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <!-- jdbc 连接的 password -->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
  </property>
  <!-- Hive 默认在 HDFS 的工作目录 -->
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
  <!-- 指定存储元数据要连接的地址 -->
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://hybrid03:9083</value>
  </property>
</configuration>
  • Controlador MySQL
    • Copie el controlador descargado al instalar MySQL en lib
  • problema con el paquete de guayaba
    • Copie guava-27.0-jre.jar de share/hadoop/commons/lib en Hadoop a lib en Hive
  • Inicializar la base de datos
    • esquematool -dbType mysql -initSchema
  • Configuración del entorno
    • /etc/profile o ~/.bash_profile en el directorio del usuario
    • Después de cambiar, recuerde fuente
HIVE_HOME=/xxx/xx
export PATH=$HIVE_HOME/bin:$PATH
  • Comienza el servicio
    • colmena nohup --servicio metastore &
  • iniciar interacción
    • colmena

6. Instalación del cuidador del zoológico

Las operaciones posteriores son similares, por lo que no las escribiré en detalle.

  • abrir la cremallera
    • tar -zxvf xxx -C /xx/xx
  • zoológico.cfg
dataDir=/acware/data/zookeeper
dataLogDir=/acware/logs/zookeeper
server.1=hybrid01:2888:3888
server.2=hybrid02:2888:3888
server.3=hybrid03:2888:3888
  • Crear directorios de datos y registros
  • Crear y asignar myid en el directorio dataDir
  • Distribuya el paquete a cada nodo y cree el directorio correspondiente y myid
  • Entorno de configuración
  • puesta en marcha
    • inicio de zkServer.sh

7. Instalación de Kafka

  • abrir la cremallera
  • Entorno de configuración
  • Crear directorio de registro
  • Modificar servidor.propiedades
#broker的全局唯一编号,不能重复
broker.id=0
#kafka运行日志存放的路径
log.dirs=log.dirs=/acware/logs/kafka
#配置连接Zookeeper集群地址
zookeeper.connect=hybrido1:2181,hybrid02:2181,hybrid03:2181
  • Clúster de distribución, modificar borker.id
  • puesta en marcha
    • inicio-del-servidor-kafka.sh $KAFKA_HOME/conf/server.properties
  • Aviso
    • Debe configurar delete.topic.enable=true en server.properties para eliminar completamente el tema; de lo contrario, solo se marca para su eliminación.

8. Instalación de Nginx

  • Configuración dependiente del entorno
    • yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
  • Paquete de descarga del sitio web oficial o descarga de wget
    • wget https://nginx.org/download/nginx-1.22.1.tar.gz
  • precompilado
    • Yo personalmente uso otros accesorios del módulo y, por lo general, solo necesito --prefix para la instalación
    • ./configure --prefix=/xxx/nginx-1.22.1 --with-openssl=/xxxopenssl --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-stream --with-http_auth_request_module
  • Compilar e instalar
    • hacer && hacer instalar
  • Entorno de configuración
  • puesta en marcha
    • nginx

5. Problemas en el proceso

1. La configuración del entorno es incorrecta y se pierde el comando

  • Agregar comando temporal
    • exportar RUTA=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

2. Para ser actualizado

Supongo que te gusta

Origin blog.csdn.net/baidu_40468340/article/details/128892621
Recomendado
Clasificación