Requisitos de hardware
Debes cumplir con los siguientes requisitos mínimos de hardware para tener una infraestructura de alta disponibilidad en un entorno de producción.
En el siguiente video, se brindan instrucciones generales sobre el tamaño de la instalación:
En todos los casos de instalación que se describen en Topologías de instalación, las siguientes tablas enumeran los requisitos mínimos de hardware para los componentes de instalación.
En estas tablas, los requisitos de disco duro se suman al espacio de disco duro que requiere el sistema operativo. Según tus aplicaciones y el tráfico de red, es posible que tu instalación requiera más o menos recursos de los que se indican a continuación.
Componente de instalación | RAM | CPU | Disco duro mínimo |
---|---|---|---|
Cassandra (independiente) | 16 GB | 8 núcleos | 250 GB de almacenamiento local con SSD que admite 2,000 IOPS |
Cassandra/ZooKeeper en la misma máquina | 16 GB | 8 núcleos | 250 GB de almacenamiento local con SSD que admite 2,000 IOPS |
Procesador de mensajes/router en la misma máquina | 16 GB | 8 núcleos | 100GB |
Message Processor (independiente) | 16 GB | 8 núcleos | 100GB |
Router (independiente) | 8 GB | 8 núcleos | 100GB |
Analytics: Postgres/Qpid en el mismo servidor | 16 GB* | 8 núcleos* | Almacenamiento en red de 500 GB a 1 TB**, preferentemente con backend de SSD, que admita 1,000 IOPS o más* |
Análisis: Postgres principal o independiente en espera | 16 GB* | 8 núcleos* | Almacenamiento en red de 500 GB a 1 TB**, preferentemente con backend de SSD, que admita 1,000 IOPS o más* |
Analytics: Qpid (independiente) | 8 GB | 4 núcleos | Almacenamiento local de 30 a 50 GB con SSD
El tamaño predeterminado de la cola de Qpid es de 1 GB, que se puede aumentar a 2 GB. Si necesitas más capacidad, agrega nodos de Qpid adicionales. |
SymasLDAP/UI/Management Server | 8 GB | 4 núcleos | 60 GB |
Servidor de administración o IU | 4 GB | 2 núcleos | 60 GB |
SymasLDAP (independiente) | 4 GB | 2 núcleos | 60 GB |
* Ajusta los requisitos del sistema de Postgres según la capacidad de procesamiento:
** El valor del disco duro de Postgres se basa en las estadísticas listas para usar que captura Edge. Si agregas valores personalizados a los datos de Analytics, estos valores deben aumentarse según corresponda. Usa la siguiente fórmula para calcular el almacenamiento requerido:
Por ejemplo:
*** Se recomienda el almacenamiento en red para la base de datos de PostgreSQL por los siguientes motivos:
|
Además, a continuación, se indican los requisitos de hardware si deseas instalar los Servicios de monetización (no compatibles con la instalación Todo en uno):
Componente con monetización | RAM | CPU | Disco duro |
---|---|---|---|
Servidor de administración (con servicios de monetización) | 8 GB | 4 núcleos | 60 GB |
Analytics: Postgres/Qpid en el mismo servidor | 16 GB | 8 núcleos | Almacenamiento de red de 500 GB a 1 TB, preferentemente con backend de SSD, que admita 1,000 IOPS o más, o bien usa la regla de la tabla anterior. |
Análisis: Postgres principal o independiente en espera | 16 GB | 8 núcleos | Almacenamiento de red de 500 GB a 1 TB, preferentemente con backend de SSD, que admita 1,000 IOPS o más, o bien usa la regla de la tabla anterior. |
Analytics: Qpid (independiente) | 8 GB | 4 núcleos | Almacenamiento local de 40 a 500 GB con SSD o HDD rápida
Para instalaciones con más de 250 TPS, se recomienda un HDD con almacenamiento local que admita 1,000 IOPS. |
Requisitos de ancho de banda de la red de Cassandra
Cassandra usa el protocolo Gossip para intercambiar información con otros nodos sobre la topología de red. El uso de Gossip, combinado con la naturaleza distribuida de Cassandra, que implica comunicarse con varios nodos para operaciones de lectura y escritura, genera una transferencia de datos significativa en toda la red.
Cassandra requiere un ancho de banda de red mínimo de 1 Gbps por nodo. Para las instalaciones de producción, se recomienda un mayor ancho de banda.
La latencia máxima o el percentil 99° para Cassandra debe ser inferior a 100 milisegundos.
Requisitos del sistema operativo y del software de terceros
Estas instrucciones de instalación y los archivos de instalación proporcionados se probaron en los sistemas operativos y el software de terceros que se indican en Software y versiones compatibles.
Requisito previo: Habilita el repo de EPEL
Antes de continuar con la instalación, asegúrate de que el repositorio de EPEL (Extra Packages for Enterprise Linux) esté habilitado. Usa los siguientes comandos según la versión de tu sistema operativo:
- Para Red Hat/CentOS/Oracle 8.X:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo rpm -ivh epel-release-latest-8.noarch.rpm
- Para Red Hat/CentOS/Oracle 9.X:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo rpm -ivh epel-release-latest-9.noarch.rpm
Java
Antes de la instalación, necesitas tener instalada una versión compatible de Java 1.8 en cada máquina. Los JDK compatibles se enumeran en Software y versiones compatibles.
Asegúrate de que la variable de entorno JAVA_HOME
apunte a la raíz del JDK para el usuario que realiza la instalación.
SELinux
Según la configuración de SELinux, Edge puede tener problemas para instalar y comenzar a ejecutar componentes de Edge. Si es necesario, puedes inhabilitar SELinux o configurarlo en modo permisivo durante la instalación y, luego, volver a habilitarlo después de la instalación. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
Cómo crear el usuario "apigee"
El procedimiento de instalación crea un usuario del sistema Unix llamado "apigee". Los directorios y archivos de Edge son propiedad de "apigee", al igual que los procesos de Edge. Esto significa que los componentes de Edge se ejecutan como el usuario "apigee". Si es necesario, puedes ejecutar componentes como un usuario diferente.
Directorio de instalación
De forma predeterminada, el instalador escribe todos los archivos en el directorio /opt/apigee
. No puedes cambiar la ubicación de este directorio. Si bien no puedes cambiar este directorio, puedes crear un vínculo simbólico para asignar /opt/apigee
a otra ubicación, como se describe en Cómo crear un vínculo simbólico desde /opt/apigee.
En las instrucciones de esta guía, el directorio de instalación se indica como /opt/apigee
.
Crea un vínculo simbólico desde /opt/apigee
Antes de crear el vínculo simbólico, primero debes crear un usuario y un grupo llamados "apigee". Este es el mismo grupo y usuario que creó el instalador de Edge.
Para crear el vínculo simbólico, sigue estos pasos antes de descargar el archivo bootstrap_4.53.01.sh. Debes realizar todos estos pasos como administrador raíz:
- Crea el usuario y el grupo "apigee":
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- Crea un vínculo simbólico desde
/opt/apigee
hasta la raíz de instalación deseada:ln -Ts /srv/myInstallDir /opt/apigee
Aquí, /srv/myInstallDir es la ubicación deseada de los archivos de Edge.
- Cambia la propiedad de la raíz de instalación y el vínculo simbólico al usuario "apigee":
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Configuración de la red
Apigee recomienda que verifiques la configuración de red antes de la instalación. El instalador espera que todas las máquinas tengan direcciones IP fijas. Usa los siguientes comandos para validar el parámetro de configuración:
hostname
devuelve el nombre de la máquinahostname -i
devuelve la dirección IP del nombre de host al que se puede acceder desde otras máquinas.
Según el tipo y la versión de tu sistema operativo, es posible que debas editar /etc/hosts
y /etc/sysconfig/network
si el nombre de host no está configurado correctamente. Consulta la documentación de tu sistema operativo específico para obtener más información.
Si un servidor tiene varias tarjetas de interfaz, el comando "hostname -i" devuelve una lista de direcciones IP separadas por espacios. De forma predeterminada, el instalador de Edge usa la primera dirección IP que se devuelve, que podría no ser correcta en todas las situaciones. Como alternativa, puedes establecer la siguiente propiedad en el archivo de configuración de la instalación:
ENABLE_DYNAMIC_HOSTIP=y
Con esa propiedad establecida en "y", el instalador te solicita que selecciones la dirección IP que se usará como parte de la instalación. El valor predeterminado es "n". Consulta la Referencia del archivo de configuración de Edge para obtener más información.
TCP Wrappers
Los TCP Wrappers pueden bloquear la comunicación de algunos puertos y afectar la instalación de SymasLDAP, Postgres y Cassandra. En esos nodos, verifica /etc/hosts.allow
y /etc/hosts.deny
para asegurarte de que no haya restricciones de puertos en los puertos requeridos de SymasLDAP, Postgres y Cassandra.
iptables
Valida que no haya políticas de iptables que impidan la conectividad entre los nodos en los puertos perimetrales requeridos. Si es necesario, puedes detener iptables durante la instalación con el siguiente comando:
sudo/etc/init.d/iptables stop
Acceso al directorio
En la siguiente tabla, se enumeran los directorios de los nodos de Edge que tienen requisitos especiales de los procesos de Edge:
Servicio | Directorio | Descripción |
---|---|---|
Router | /etc/rc.d/init.d/functions |
El router perimetral usa el router Nginx y requiere acceso de lectura a Si tu proceso de seguridad requiere que establezcas permisos en Puedes establecer los permisos en 744 para permitir el acceso de lectura a |
Zookeeper | /dev/random |
La biblioteca cliente de Zookeeper requiere acceso de lectura al generador de números aleatorios /dev/random . Si /dev/random está bloqueado en la lectura, es posible que el servicio de Zookeeper no se inicie. |
Cassandra
Todos los nodos de Cassandra deben estar conectados a un anillo. Cassandra almacena réplicas de datos en varios nodos para garantizar la confiabilidad y la tolerancia a errores. La estrategia de replicación para cada espacio de claves de Edge determina los nodos de Cassandra en los que se colocan las réplicas. Para obtener más información, consulta Acerca del factor de replicación y el nivel de coherencia de Cassandra.
Cassandra ajusta automáticamente el tamaño del montón de Java según la memoria disponible. Para obtener más información, consulta Ajuste de recursos de Java en caso de degradación del rendimiento o consumo alto de memoria.
Después de instalar Edge para Private Cloud, puedes verificar que Cassandra esté configurado correctamente examinando el archivo /opt/apigee/apigee-cassandra/conf/cassandra.yaml
. Por ejemplo, asegúrate de que la secuencia de comandos de instalación de Edge para la nube privada haya establecido las siguientes propiedades:
cluster_name
initial_token
partitioner
seeds
listen_address
rpc_address
snitch
Base de datos de PostgreSQL
Después de instalar Edge, puedes ajustar la siguiente configuración de la base de datos de PostgreSQL según la cantidad de RAM disponible en tu sistema:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
Para establecer estos valores, haz lo siguiente:
- Edita el archivo postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Si el archivo no existe, créalo.
- Establece las propiedades que se mencionaron anteriormente.
- Guarda los cambios.
- Reinicia la base de datos de PostgreSQL:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Configuración de la configuración regional para Rocky 9.X
Si usas Rocky 9.X, asegúrate de que tu sistema esté configurado con LANG=en_US.utf8
en la configuración regional de todo el sistema. Para configurar esto, ejecuta los siguientes comandos:
dnf -y -q install langpacks-en localectl set-locale LANG=en_US.utf8 reboot
Límites del sistema
Asegúrate de haber establecido los siguientes límites del sistema en los nodos de Cassandra y Message Processor:
- En los nodos de Cassandra, establece límites flexibles y estrictos de memlock, nofile y espacio de direcciones (as) para el usuario de instalación (el valor predeterminado es "apigee") en
/etc/security/limits.d/90-apigee-edge-limits.conf
, como se muestra a continuación:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited apigee soft nproc 32768 apigee hard nproc 65536
- En los nodos de Message Processor, establece la cantidad máxima de descriptores de archivos abiertos en 64 K en
/etc/security/limits.d/90-apigee-edge-limits.conf
, como se muestra a continuación:apigee soft nofile 32768 apigee hard nofile 65536
Si es necesario, puedes aumentar ese límite. Por ejemplo, si tienes una gran cantidad de archivos temporales abiertos en un momento determinado.
Si alguna vez ves el siguiente error en un Router o Message Processor
system.log
, es posible que los límites de descriptores de archivos estén configurados demasiado bajos:"java.io.IOException: Too many open files"
Para verificar los límites de usuarios, ejecuta el siguiente comando:
# su - apigee $ ulimit -n 100000
Si aún alcanzas los límites de archivos abiertos después de establecer los límites de descriptores de archivos en
100000
, abre un ticket con el equipo de asistencia de Apigee Edge para obtener más ayuda para solucionar el problema.
Servicios de seguridad de red (NSS)
Los Servicios de seguridad de red (NSS) son un conjunto de bibliotecas que admiten el desarrollo de aplicaciones cliente y servidor habilitadas para la seguridad. Debes asegurarte de haber instalado NSS v3.19 o una versión posterior.
Para verificar tu versión actual, sigue estos pasos:
yum info nss
Para actualizar NSS, haz lo siguiente:
yum update nss
Consulta este artículo de Red Hat para obtener más información.
Inhabilita la búsqueda de DNS en IPv6 cuando se usa NSCD (daemon de caché del servicio de nombres)
Si instalaste y habilitaste NSCD (daemon de caché del servicio de nombres), los procesadores de mensajes realizan dos búsquedas de DNS: una para IPv4 y otra para IPv6. Debes inhabilitar la búsqueda de DNS en IPv6 cuando uses NSCD.
Para inhabilitar la búsqueda de DNS en IPv6, haz lo siguiente:
- En cada nodo de Message Processor, edita
/etc/nscd.conf
- Establece la siguiente propiedad:
enable-cache hosts no
Inhabilita IPv6 en RHEL 8 y versiones posteriores
Si instalas Edge en RHEL 8 o versiones posteriores en Google Cloud, debes inhabilitar IPv6 en todos los nodos de Qpid.
Para obtener instrucciones sobre cómo inhabilitar IPv6, consulta la documentación que proporciona el proveedor de tu SO. Por ejemplo, puedes encontrar información relevante en la Documentación de Red Hat Enterprise Linux.
Herramientas
El instalador usa las siguientes herramientas de UNIX en la versión estándar que proporcionan EL5 o EL6.
awk |
expr |
libxslt |
RPM |
unzip |
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
Bash |
Nombre de host |
ls |
sed |
wc |
bc |
id |
net-tools |
sudo |
wget |
curl |
libaio |
perl (de procps) |
tar |
xerces-c |
cyrus-sasl | libdb4 | pgrep (de procps) | tr | yum |
fecha |
libdb-cxx |
ps |
uuid |
chkconfig |
dirname | libibverbs | pwd | uname | |
echo | librdmacm | python |
Sincronización temporal
Apigee recomienda que los tiempos de tus servidores estén sincronizados. Si aún no está configurada, la utilidad ntpdate
o una herramienta equivalente pueden cumplir este propósito verificando si los servidores están sincronizados con la hora. Por ejemplo, puedes usar yum install ntp
o un comando equivalente para instalar la utilidad. Esto es particularmente útil para replicar configuraciones de LDAP. Ten en cuenta que debes establecer la zona horaria del servidor en UTC.
Firewalls y hosts virtuales
El término virtual
suele sobrecargarse en el ámbito de TI, y lo mismo sucede con una implementación de Apigee Edge para la nube privada y los hosts virtuales. Para aclarar, hay dos usos principales del término virtual
:
- Máquinas virtuales (VMs): No son obligatorias, pero algunas implementaciones usan tecnología de VM para crear servidores aislados para sus componentes de Apigee. Los hosts de VM, al igual que los hosts físicos, pueden tener interfaces de red y firewalls.
- Hosts virtuales: Son extremos web análogos a un host virtual de Apache.
Un router en una VM puede exponer varios hosts virtuales (siempre y cuando difieran entre sí en su alias de host o en su puerto de interfaz).
Como ejemplo de nomenclatura, un solo servidor físico A
podría ejecutar dos VMs, llamadas "VM1" y "VM2". Supongamos que "VM1" expone una interfaz Ethernet virtual, que se denomina "eth0" dentro de la VM y a la que la maquinaria de virtualización o un servidor DHCP de red le asignan la dirección IP 111.111.111.111
. Luego, supongamos que VM2 expone una interfaz Ethernet virtual también denominada "eth0" y que se le asigna una dirección IP 111.111.111.222
.
Es posible que tengamos un router de Apigee en ejecución en cada una de las dos VMs. Los routers exponen extremos de host virtual, como en este ejemplo hipotético:
El router de Apigee en VM1 expone tres hosts virtuales en su interfaz eth0 (que tiene una dirección IP específica), api.mycompany.com:80
, api.mycompany.com:443
y test.mycompany.com:80
.
El router de la VM2 expone api.mycompany.com:80
(mismo nombre y puerto que los que expone la VM1).
Es posible que el sistema operativo del host físico tenga un firewall de red. Si es así, ese firewall debe configurarse para que pase el tráfico de TCP destinado a los puertos que se exponen en las interfaces virtualizadas (111.111.111.111:{80, 443}
y 111.111.111.222:80
). Además, es posible que el sistema operativo de cada VM proporcione su propio firewall en su interfaz eth0, y estos también deben permitir que se conecte el tráfico de los puertos 80 y 443.
La ruta base es el tercer componente involucrado en el enrutamiento de llamadas a la API hacia diferentes proxies de API que puedes haber implementado. Los paquetes de proxies de API pueden compartir un extremo si tienen diferentes rutas base. Por ejemplo, una ruta base se puede definir como http://api.mycompany.com:80/
y otra como http://api.mycompany.com:80/salesdemo
.
En este caso, necesitas un balanceador de cargas o un director de tráfico de algún tipo que divida el tráfico de http://api.mycompany.com:80/ entre las dos direcciones IP (111.111.111.111
en la VM1 y 111.111.111.222
en la VM2). Esta función es específica de tu instalación en particular y la configura tu grupo de redes local.
La ruta base se establece cuando implementas una API. En el ejemplo anterior, puedes implementar dos APIs, mycompany
y testmycompany
, para la organización mycompany-org
con el host virtual que tiene el alias de host api.mycompany.com
y el puerto configurado en 80
. Si no declaras una ruta base en la implementación, el router no sabrá a qué API enviar las solicitudes entrantes.
Sin embargo, si implementas la API testmycompany
con la URL base de /salesdemo
, los usuarios accederán a esa API con http://api.mycompany.com:80/salesdemo
. Si implementas tu API mycompany con la URL base de /
, tus usuarios accederán a la API con la URL http://api.mycompany.com:80/
.
Licencias
Cada instalación de Edge requiere un archivo de licencia único que obtienes de Apigee. Deberás proporcionar la ruta de acceso al archivo de licencia cuando instales el servidor de administración, por ejemplo, /tmp/license.txt.
El instalador copia el archivo de licencia en /opt/apigee/customer/conf/license.txt
.
Si el archivo de licencia es válido, el servidor de administración valida la fecha de vencimiento y el recuento de procesadores de mensajes (MP) permitidos. Si alguno de los parámetros de configuración de la licencia venció, puedes encontrar los registros en la siguiente ubicación: /opt/apigee/var/log/edge-management-server/logs
.
En este caso, puedes comunicarte con el equipo de asistencia de Apigee Edge para obtener detalles sobre la migración.
Si aún no tienes una licencia, comunícate con Ventas de Apigee.