CRX2Oak es una herramienta diseñada para migrar datos entre diferentes repositorios.
Se puede utilizar para migrar datos de versiones de CQ anteriores basadas en Apache Jackrabbit 2 a Oak, y también se puede utilizar para copiar datos entre repositorios de Oak.
Puede descargar la versión más reciente de crx2oak desde el repositorio de Adobe público en esta ubicación:
https://repo1.maven.org/maven2/com/adobe/granite/crx2oak/
AEM Para obtener más información sobre Apache Oak y los conceptos clave de la persistencia, consulte la página de ayuda de la interfaz de usuario de Apache Oak, en la página de ayuda de AEM Introducción a la plataforma de.
La herramienta se puede utilizar para lo siguiente:
La compatibilidad con la migración de repositorios mediante almacenes de blobs externos (conocidos comúnmente como almacenes de datos) se proporciona en diferentes combinaciones. Una posible ruta de migración es desde un repositorio CRX2 que esté utilizando un FileDataStore
a un repositorio de Oak mediante una S3DataStore
.
El diagrama siguiente ilustra todas las combinaciones de migración posibles que admite CRX2Oak:
AEM Se llama a CRX2Oak durante las actualizaciones de la de forma que el usuario pueda especificar un perfil de migración predefinido que automatice la reconfiguración de los modos de persistencia. Este se denomina modo de inicio rápido.
También se puede ejecutar por separado en caso de que requiera más personalización. AEM Sin embargo, tenga en cuenta que en este modo los cambios se realizan solamente en el repositorio y cualquier reconfiguración adicional de la debe realizarse manualmente. Esto se denomina modo independiente.
Otra cosa que hay que tener en cuenta es que con la configuración predeterminada en modo independiente, solo se migrará el almacén de nodos y el nuevo repositorio reutilizará el antiguo almacenamiento binario.
AEM Desde la versión 6.3, CRX2Oak es capaz de gestionar perfiles de migración definidos por el usuario que se pueden configurar con todas las opciones de migración ya disponibles. AEM Esto permite una mayor flexibilidad y la capacidad de automatizar la configuración de las funciones, que no están disponibles si utiliza la herramienta en modo independiente, de la manera siguiente:
AEM Para cambiar CRX2Oak al modo de inicio rápido, debe definir la ruta a la carpeta crx-quickstart en el directorio de instalación de la a través de esta variable ambiental del sistema operativo:
Para sistemas basados en UNIX y macOS:
export SLING_HOME="/path/to/crx-quickstart"
Para Windows:
SET "SLING_HOME=/path/to/crx-quickstart"
La migración se puede interrumpir en cualquier momento, con la posibilidad de reanudarla posteriormente.
La lógica personalizada de Java también se puede implementar utilizando CommitHooks
. Personalizado RepositoryInitializer
Las clases se pueden implementar para inicializar el repositorio con valores personalizados.
CRX2Oak también admite operaciones asignadas a memoria de forma predeterminada. La asignación de memoria mejora considerablemente el rendimiento y debe utilizarse siempre que sea posible.
Sin embargo, tenga en cuenta que las operaciones asignadas a memoria no son compatibles con las plataformas Windows. Por lo tanto, se recomienda añadir la variable —disable-map al realizar la migración en Windows.
De forma predeterminada, la herramienta migra todo el repositorio en "/"
ruta. Sin embargo, tiene el control completo sobre qué contenido debe migrarse.
Si hay alguna parte del contenido que no sea necesaria en la nueva instancia, puede utilizar el --exclude-path
para excluir el contenido y optimizar el procedimiento de actualización.
Si es necesario copiar los datos entre dos repositorios y tiene una ruta de contenido diferente en ambas instancias, puede definirlos en el --merge-path
parámetro. Una vez hecho esto, CRX2Oak copiará solamente los nuevos nodos al repositorio de destino y mantendrá los antiguos en su lugar.
AEM De forma predeterminada, los usuarios crearán una versión de cada nodo o página que se modifique y la almacenarán en el repositorio. Las versiones se pueden utilizar para restaurar la página a un estado anterior.
Sin embargo, estas versiones nunca se purgan, aunque se elimine la página original. Al tratar con repositorios que han estado en funcionamiento durante mucho tiempo, la migración puede necesitar procesar una gran cantidad de datos redundantes causados por versiones huérfanas.
Una característica útil para estos tipos de situaciones es la adición de la variable --copy-versions
parámetro. Se puede utilizar para omitir los nodos de versión durante la migración o la copia de un repositorio.
También puede elegir si desea copiar versiones huérfanas añadiendo --copy-orphaned-versions=true
.
Ambos parámetros también admiten un YYYY-MM-DD
formato de fecha, en caso de que desee copiar versiones a más tardar en una fecha específica.
Una versión de código abierto de CRX2Oak está disponible en forma de oak-actualización. Admite todas las funciones excepto:
Consulte la Documentación de Apache para obtener más información.
--cache
: Tamaño de caché en MB (el valor predeterminado es 256
)
--mmap
: Habilite el acceso a archivos asignados en memoria para el almacén de segmentos
--src-password:
Contraseña para la base de datos RDB de origen
--src-user:
Usuario para RDB de origen
--user
: usuario para la RDB de destino
--password
: contraseña para la RDB de destino.
--early-shutdown
: Cierra el repositorio JCR2 de origen después de copiar los nodos y antes de aplicar los enlaces de compromiso
--fail-on-error
: Fuerza un error de la migración si los nodos no se pueden leer desde el repositorio de origen.
--ldap
: Migra usuarios LDAP de una instancia CQ 5.x a una basada en Oak. Para que esto funcione, el proveedor de identidad en la configuración de Oak debe llamarse ldap. Para obtener más información, consulte la Documentación LDAP.
--ldap-config:
Utilice esto junto con las --ldap
parámetro para repositorios CQ 5.x que utilizaban varios servidores LDAP para la autenticación. Puede utilizarlo para señalar al CQ 5.x ldap_login.conf
o jaas.conf
archivos de configuración. El formato es --ldapconfig=path/to/ldap_login.conf
.
--copy-orphaned-versions
: omite la copia de versiones huérfanas. Los parámetros admitidos son: true
, false
y yyyy-mm-dd
. El valor predeterminado es true
.
--copy-versions:
Copia el almacenamiento de versiones. Parámetros: true
, false
, yyyy-mm-dd
. El valor predeterminado es true
.
--include-paths:
Lista de rutas separada por comas que se incluirán durante la copia--merge-paths
: Lista de rutas separada por comas para combinar durante la copia--exclude-paths:
Lista separada por comas de las rutas que se excluirán durante la copia.--src-datastore:
El directorio del almacén de datos que se utilizará como origen FileDataStore
--src-fileblobstore
: El directorio del almacén de datos que se utilizará como origen FileBlobStore
--src-s3datastore
: El directorio del almacén de datos que se utilizará para el origen S3DataStore
--src-s3config
: archivo de configuración para el origen S3DataStore
.
--datastore:
El directorio del almacén de datos que se utilizará como destino FileDataStore
--fileblobstore:
El directorio del almacén de datos que se utilizará como destino FileBlobStore
--s3datastore
: El directorio de almacén de datos que se utilizará para el destino S3DataStore
--s3config
: el archivo de configuración para el destino S3DataStore
.
-?, -h, --help:
Muestra información de ayuda.También puede habilitar la información de depuración para el proceso de migración con el fin de solucionar los problemas que puedan aparecer durante el proceso. Puede hacerlo de forma diferente en función del modo en el que desee ejecutar la herramienta:
Modo CRX2Oak | Acción |
Modo de inicio rápido | Puede añadir la variable —TRACE de nivel de registro o —log-level DEBUG opciones a la línea de comandos al ejecutar CRX2Oak. En este modo, los registros se redirigen automáticamente a archivo upgrade.log. |
Modo independiente | Añada el —trace opciones a la línea de comandos CRX2Oak para mostrar los eventos del TRACE en la salida estándar (debe redirigir los registros usando el carácter de redirección: '>' o el comando 'tee' para una inspección posterior). |
Al migrar a un conjunto de réplicas de MongoDB, asegúrese de establecer la variable WriteConcern
parámetro a 2
en todas las conexiones a las bases de datos de Mongo.
Para ello, añada la variable w=2
al final de la cadena de conexión, de esta manera:
java -Xmx4092m -jar crx2oak.jar crx-quickstart/repository/ mongodb://localhost:27017/aem-author?replicaset=replica1&w=2
Para obtener más información, consulte la documentación de la cadena de conexión MongoDB en Escribir preocupaciones.