Saltar al contenido

Instale SAP HANA, edición expresa con Docker

Este tutorial le mostrará cómo solo servidor instale SAP HANA, una edición explícita de su instalación de Docker. Esta versión de SAP HANA no contiene XSC, edición explícita.

Si desea instalar SAP HANA, una edición explícita en una máquina virtual diferente, o necesita una configuración personalizada en su máquina Linux, consulte las instrucciones de instalación de la máquina virtual o el modo binario.

Antes de comenzar, asegúrese de que la configuración de su proxy esté configurada correctamente. Mira Proxy HTTP / HTTPS en la documentación de Docker.


La edición explícita de SAP HANA es una versión optimizada de la plataforma SAP HANA que permite a los desarrolladores iniciar el desarrollo de aplicaciones en la nube o PC para crear e implementar aplicaciones modernas que utilizan hasta 32 GB de memoria. SAP HANA, una edición explícita que incluye el motor de memoria de datos con motores de procesamiento de datos analíticos avanzados para datos comerciales, de texto, espaciales y gráficos, que admiten múltiples modelos de datos en una sola copia de los datos.

La licencia de software permite casos de uso de producción y no producción, lo que le permite implementar rápidamente prototipos, demostraciones y aplicaciones de próxima generación utilizando SAP HANA, una edición explícita sin incurrir en tarifas de licencia. Aumenta la capacidad de memoria en más de 32 GB disponibles para su compra en el Tienda SAP.

SAP HANA, una edición explícita para Docker, se ha probado en las siguientes versiones del sistema operativo Linux:

Esta instalación no es compatible con Docker para Windows o Docker para Mac.

Paso 2: Iniciar sesión en Docker

Para iniciar sesión en su cuenta de Docker, ejecute:

sudo docker login

Siga las indicaciones e ingrese su ID y contraseña de Docker.

Hecho

Inicie sesión para responder la pregunta

Paso 3: (opcional) prueba la instalación de Docker

Pruebe su instalación de Docker ejecutando la aplicación de contenedor «Hello World». Ejecute el siguiente comando desde su símbolo del sistema habilitado para Docker:

sudo docker run --name helloWorld alpine echo hello

Si tiene éxito, se debe mostrar lo siguiente:

Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
88286f41530e: Pull complete
Digest: sha256:<log_number>
Status: Downloaded newer image for alpine:latest
hello

Ambos hello impreso, lograste dibujar la imagen del contenedor alpach (Distribución de demostración de Linux) y ejecutó la muestra de contenedor helloWorldy ejecutó el comando echo con un parámetro de entrada de hello.

Si usted es No lo hizo obtener este resultado, la instalación de Docker no está completa o el demonio de Docker no puede conectarse a Internet. Revise el proceso y verifique Documentación de Docker para obtener más información sobre cómo solucionar problemas de instalación de Docker.

Elimina la imagen alpina con el siguiente comando:

sudo docker image rm alpine -f

Hecho

Inicie sesión para responder la pregunta

Paso 4: descargue SAP HANA, Image express edition de la biblioteca de Docker

Ve a la Tienda Docker.

Haga clic en la barra de búsqueda y busque «SAP HANA».

Escoger SAP HANA, edición expresa (servicios de base de datos).

Clickea en el Instrucciones de configuración botón.

Copie la dirección de remolque del Docker. Aquí hay un ejemplo:

sudo docker pull store/saplabs/hanaexpress:2.00.040.00.20190729.1

Abra su línea de comando habilitada para Docker y use la dirección de arrastre de Docker para descargar la imagen.

Esto carga SAP HANA, una imagen de edición explícita. Para asegurarse de que la imagen se cargó correctamente, ejecute:

sudo docker images

La imagen de SAP HANA, edición exprés aparecerá como hanaexpress.

Nota:
Es posible que deba iniciar sesión en su cuenta de Docker para descargar la imagen. Desde su línea de comando habilitada para Docker, ejecute docker login y siga las indicaciones para ingresar su ID y contraseña de Docker. Una vez que haya iniciado sesión, intente el comando de extracción nuevamente.

Hecho

Inicie sesión para responder la pregunta

Paso 5: Edite el archivo de host sysctl.conf

Antes de que pueda iniciar el contenedor, asegúrese de que los siguientes parámetros estén configurados en su host /etc/sysctl.conf expediente. El host puede ser una máquina virtual, una máquina física o, por ejemplo, una nube.

fs.file-max=20000000
fs.aio-max-nr=262144
vm.memory_failure_early_kill=1
vm.max_map_count=135217728
net.ipv4.ip_local_port_range=40000 60999

Hacia sysctl.conf archivo, use el vi comando para abrir el archivo y presione i cambiar al modo interactivo. Edite el archivo según sea necesario, presione el esc y escribiendo e ingresando :wq! para escribir y guardar los cambios.

Hecho

Inicie sesión para responder la pregunta

Paso 6: (Opcional) Cree un directorio para posicionar SAP HANA, Edición explícita de datos fuera del contenedor

Cree un directorio para SAP HANA, apunte a un contenedor de edición y dele los permisos correctos.

mkdir -p /data/<directory_name>
chown <hxeadm userID or name>:<sapsys groupID or name> /data/<directory_name>

Por ejemplo:

mkdir -p /data/mydirectory
chown 12000:79 /data/mydirectory

El nombre de este directorio no coincide con el nombre que le da a su SAP HANA, un contenedor de edición explícita.

Hecho

Inicie sesión para responder la pregunta

Paso 7: Establecer contraseña para SAP HANA, edición expresa

Para que su sistema sea más seguro, especifique su propia contraseña antes de crear su contenedor. Esto lo hace un json tener un archivo en lugar de una contraseña predeterminada. El archivo se puede almacenar localmente o en otro sistema accesible por URL. Si el archivo se va a almacenar localmente, guárdelo en el / detalles / directorio que creó anteriormente.

Crea el json expediente:

vi <file_name>.json

Prensa i para comenzar a editar y usar uno de los siguientes formatos para crear el archivo:

{
"master_password" : "<password>"
}

o:

{
"system_user_password" : "<password>",
"default_tenant_system_user_password" : "<second_password>"
}

Aquí hay un ejemplo:

{
"master_password" : "HXEHana1"
}

Prensa esc y luego en wq! para escribir y guardar el archivo.

Este archivo sirve como contraseña maestra para los usuarios de SAP HANA, edición express. La contraseña debe cumplir con las siguientes reglas:

  • Al menos 8 carácteres
  • Al menos 1 letra superior
  • Al menos 1 letra minúscula
  • Al menos 1 número
  • Puede haber caracteres especiales, pero no & tumba; (tilde), PS (signo de dólar), (barra invertida), » ‘ (cita única), o « (citas dobles).
  • No puede haber palabras de vocabulario
  • No puede contener valores simplificados o sistémicos, como cadenas numéricas o alfabéticas ascendentes o descendentes

Luego, debe agregar permisos para que este archivo sea legible por el hxeadm usuario en el contenedor. Cambie los permisos por:

sudo chmod 600 /data/<directory_name>/<file_name>.json
sudo chown 12000:79 /data/<directory_name>/<file_name>.json

Asegúrese de hacer esto con cada uno de ellos json un archivo que usa para sus contenedores Docker.

Tome nota del camino al json expediente. Lo necesitará para cargar SAP HANA, un contenedor de edición rápida.

Hecho

Inicie sesión para responder la pregunta

Paso 8: Inicie SAP HANA, Container Express Edition

Utilice SAP HANA, una imagen de edición explícita para crear un contenedor.

sudo docker run -p 39013:39013 -p 39017:39017 -p 39041-39045:39041-39045 -p 1128-1129:1128-1129 -p 59013-59014:59013-59014 -v /data/<directory_name>:/hana/mounts 
--ulimit nofile=1048576:1048576 
--sysctl kernel.shmmax=1073741824 
--sysctl net.ipv4.ip_local_port_range='40000 60999' 
--sysctl kernel.shmmni=524288 
--sysctl kernel.shmall=8388608 
--name <container_name> 
store/saplabs/hanaexpress:2.00.040.00.20190729.1 
--passwords-url <file://<path_to_json_file> OR http/https://<url_to_json_file>> 
--agree-to-sap-license

Para obtener información sobre los rangos de puertos TCP / IP, consulte Puertos TCP / IP de todos los productos SAP. Filtre la lista con “SAP Cloud Platform”.

Ejemplo:

sudo docker run -p 39013:39013 -p 39017:39017 -p 39041-39045:39041-39045 -p 1128-1129:1128-1129 -p 59013-59014:59013-59014 -v /data/express_edition:/hana/mounts 
--ulimit nofile=1048576:1048576 
--sysctl kernel.shmmax=1073741824 
--sysctl net.ipv4.ip_local_port_range='40000 60999' 
--sysctl kernel.shmmni=524288 
--sysctl kernel.shmall=8388608 
--name express_edition 
store/saplabs/hanaexpress:2.00.040.00.20190729.1 
--passwords-url file:///hana/password.json 
--agree-to-sap-license

Este ejemplo crea SAP HANA, un contenedor de edición explícita con el nombre express_edition. Este proceso tardará unos minutos. El mensaje leerá Startup finished cuando el contenedor se está ejecutando correctamente. Este contenedor se inicia en modo desconectado, por lo que deberá abrir otro símbolo del sistema para continuar.

Nota:
Si ingresó el archivo de contraseña /data/<directory_name>/<file_name>.json, sustituto file://<path_to_json_file> le file:///hana/mounts/<file_name>.json.

Compruebe si el archivo de contraseña /hana/mounts/<file_name>.json Eliminado después de SAP HANA, se inició el contenedor de edición explícita. Si no es así, puede eliminarlo manualmente. Si el JSON es un archivo que estás usando http o https URL, puede -v elección.

¿Sigues teniendo problemas? Compruebe que el cable que contiene el soporte sea una ruta completa.

Nota:
Para versiones del kernel de Linux anteriores a la 4, deje el net.ipv4.ip_local_port_range elección.

Nota:
Si el contenedor de Docker no puede crear una muestra de SAP HANA, deberá eliminar el contenedor de Docker para volver a intentarlo. Correr docker rm <container_name> para retirar el recipiente. Además, necesitará los archivos creados en el /data/directory_name/ directorio.

Hecho

Inicie sesión para responder la pregunta

Paso 9: inicie sesión en SAP HANA, contenedor de edición expresa

Para iniciar su contenedor de edición express de SAP HANA, ejecute el siguiente comando:

sudo docker exec -it <container_name> bash

Ejemplo:

sudo docker exec -it express_edition bash

Hecho

Inicie sesión para responder la pregunta

Paso 10: (Opcional) Pruebe el contenedor

Una vez que haya iniciado sesión en SAP HANA, un contenedor de edición expresa, puede probar su instalación ingresando lo siguiente:

whoami

Debe iniciar sesión como hxeadm, la edición predeterminada del usuario de SAP HANA.

También puede ingresar lo siguiente:

HDB info

Y debería ver los siguientes servicios en ejecución:

  • hdbnameserver
  • hdbcompileserver
  • hdbdiserver
  • hdbwebdispatcher

Hecho

Inicie sesión para responder la pregunta

Paso 11: (Opcional) Inicie sesión en la base de datos del sistema o inquilinos

Puede iniciar sesión en la base de datos del sistema con el siguiente comando:

hdbsql -i 90 -d <system_database> -u SYSTEM -p <password>

Puede iniciar sesión en su base de datos de inquilinos con el siguiente comando:

hdbsql -i 90 -d <tenant_database> -u SYSTEM -p <password>

JDBC


Para iniciar sesión en la base de datos de su sistema a través de JDBC, use el siguiente comando:

jdbc:sap://<ip_address>:39017/?databaseName=<database_name>

Para iniciar sesión en su base de datos de inquilinos a través de JDBC, use el siguiente comando:

jdbc:sap://<ip_address>:39041/?databaseName=<tenant_name>

Para obtener información detallada sobre las propiedades de conexión que puede especificar cuando se conecta mediante JDBC, consulte Propiedades de conexión JDBC sa Referencia de registro de la interfaz de cliente de SAP HANA.

Nota: ¿Desea conectarse a SAP HANA, una edición rápida de Docker desde una aplicación o línea de comandos en el sistema operativo host? Deberá hacer que la IP del contenedor en la red interna del contenedor sea visible para el host.

Ejemplo: máquina Docker en Windows – En este ejemplo, el exterior es 192.168.99.100 docker-machine vm y hxehost nombre de host del contenedor:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'system') SET ('public_hostname_resolution', 'use_default_route') = 'name' WITH RECONFIGURE;
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'system') SET ('public_hostname_resolution', 'map_hxehost') = '192.168.99.100' WITH RECONFIGURE;

Ejemplo: Docker Machine en Mac – En este ejemplo, localhost es el demonio de Docker que se ejecuta en Mac, y hxehost nombre de host del contenedor:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'system') SET ('public_hostname_resolution', 'use_default_route') = 'name' WITH RECONFIGURE;
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'system') SET ('public_hostname_resolution', 'map_hxehost') = 'localhost' WITH RECONFIGURE;

Hecho

Inicie sesión para responder la pregunta

Paso 12: (Opcional) Cree contenedores SAP HANA, Express Edition adicionales

Necesitará los pasos anteriores para crear un directorio y JSON contraseña para cada contenedor adicional de SAP HANA, Express Edition que desee crear.

sudo docker run -p 10013:39013 -p 10017:39017 -p 10041-10045:39041-39045 -p 10028-10029:1128-1129 -p 19013-19014:59013-59014 -v /data/<additional_directory_name>:/hana/mounts 
--ulimit nofile=1048576:1048576 
--sysctl kernel.shmmax=1073741824 
--sysctl net.ipv4.ip_local_port_range='40000 60999' 
--sysctl kernel.shmmni=524288 
--sysctl kernel.shmall=8388608 
--name <additional_container_name> 
store/saplabs/hanaexpress:2.00.040.00.20190729.1 
--passwords-url <file://<path_to_json_file> OR http/https://<url_to_json_file>>
--agree-to-sap-license

Este proceso tardará unos minutos. El mensaje leerá Startup finished cuando el contenedor se está ejecutando correctamente. Este contenedor se inicia en modo desconectado, por lo que deberá abrir otro símbolo del sistema para continuar.

Hecho

Inicie sesión para responder la pregunta

Paso 13: (Opcional) Actualice su imagen de Docker

Establezca la contraseña de root e inicie sesión.

docker exec -it -u root <container_name> bash
passswd

Verifique la utilidad actualizada. Se puede encontrar en el <sid>adm/bin directorio. Usar HXECheckUpdate_linux.bin. Ejecute esto para comprobar y descargar los archivos más recientes. Siga las indicaciones para descargar los archivos nuevos. De forma predeterminada, se descargarán a /usr/sap/<sid>/home/Downloads. El archivo se descargará hxe.tgz.

Extracto del contenido del paquete.

Ejemplo:

tar -zxf <downloaded_path>/hxe.tgz
tar -zxf <downloaded_path>/hxexsa.tgz

Navegue hasta el directorio donde descargó los paquetes:

cd <extract_path>/HANA_EXPRESS_20/

Nota:
Si la actualización que está aplicando incluye el paquete de la aplicación, aumente la memoria asignada en 3 GB y ejecute ./hxe_gc.sh. Siga las indicaciones y luego continúe con el procedimiento.

Como usuario root, ejecute el script de actualización para actualizar el servidor:

sudo ./hxe_upgrade.sh

Siga las indicaciones para completar la actualización del servidor.

Hecho

Inicie sesión para responder la pregunta

Paso 14: -Comando de ayuda

La siguiente es una lista de opciones disponibles para el sudo docker run store/saplabs/hanaexpress orden.

sudo docker run store/saplabs/hanaexpress:2.00.040.00.20190729.1 -h
usage: [options]
--dont-check-consistency Skip consistency check between mount points
--dont-check-mount-points Skip check for allowed mount points
--dont-check-version Skip compatibility check of current and last HANA version
--dont-check-system Skip check for incompatible /proc/sys values
--dont-exit-on-error Halt script on error to allow root cause analysis
(MUST NOT be used in production)
--license-url <url> URL for a license file (json)
Format: {"landscape-id":"<8-4-4-4-12 GUID>", "license":"<license>"}
--passwords-url <url> URL for a password file (json)
Format:
{"master_password":"<pwd>"}
or
{"system_user_password":"<pwd>","default_tenant_system_user_password":"<pwd>"}
--print <print_option> Print and exit, options are:
README
hdb_version
--agree-to-sap-license Indicates you agree to the SAP Developer Center Software Developer License Agreement.

Hecho

Inicie sesión para responder la pregunta

Información extra