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
Tabla de contenido
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
- crear
- 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
- ubicación de configuración
- 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
- ssh-keygen-t rsa
- 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
- arranque directo
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;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