Instalación y configuración de IDOL
Contenido
Introduccion
De lo que se trata es de conseguir instalar y configurar un "cluster" de IDOL, una plataforma de varios servidores que den alta disponibilidad y/o reparto de carga, buscando la escalabilidad en el servicio.
Puntos a estudiar
- Licenciamiento de la plataforma
- Como balancear las consultas entre diferentes servidores
- Como indexar los contenidos
- Donde almacenar los contenidos (si estarán en varios servidores a la vez o en repositorios comunes)
- Como monitorizar el rendimiento global de la plataforma
- Como hacer backups de los índices
Descarga de las aplicaciones, licencias y documentación
Para descargar las aplicaciones necesarias tenemos la web de soporte de autonomy:
Documentación adjunta
Podemos consultar la Guia de partida: Archivo:IDOL 7.6 GettingStarted en.pdf
Punto de partida
Las pruebas las vamos a realizar sobre un Linux Centos 5.7 de 64 bits. Para facilitarnos un poco la vida hemos instalado el paquete de centos xorg-x11-xauth, que ya instala una serie de paquetes necesarios para poder exportar el DISPLAY de linux a mi máquina local, para efectuar instalaciones en modo gráfico.
Productos involucrados
- Autonomy Intelligent Data-Operating Layer (IDOL) Server
- Distributed Action Handler (DAH)
- Distributed Index Handler (DIH)
- Distributed Service Handler (DiSH)
- Distributed Load Handler (DLH)
- Autonomy Collaborative Classifier (ACC)
- Autonomy Business Console (ABC)
- Autonomy IDOL with Administration
- Query Manipulation Server (QMS)
- Intellectual Asset Protection System (IAS)
- IDOL Eduction
- File System Connector
- HTTP Connector
- Notes Connector
- Autonomy KeyView
- Portal in a Box
- Retina
- Autonomy Content Infrastructure API (ACI API)
Componentes comunes
Antes de empezar hay que entender bien los componentes de IDOL, que se van comunicando entre ellos hasta que se almacenan los contenidos a indexar, o a ser consultados
DiSH
Es simplemente el servidor de licencias. En un entorno distribuido con tener un servidor DiSH bastaría, y el resto de componentes se pueden configurar para que usen la licencia de este servicio. En su configuración suele usar el puerto 20000 como puerto ACI, que es el puerto que hay que indicarle al resto de servicios que usen para coger la licencia.
En mi experiencia propia, pedí una licencia para una máquina que tenía la IP 10.90.3.87, y en ese servidor puse el dish. Después, los componentes de ese mismo servidor y de otro servidor más los configuré para que usaran la licencia de este servidor, y parece que los servicios arrancan bien.
En una instalacíon típica, por defecto, este servicio se suele ubicar en /opt/Autonomy/IDOLServer/DiSH
licencia
Una vez recogida la licencia, que es un fichero que se llama licensekey.dat, lo copiamos en su ubicacion: /opt/Autonomy/IDOLServer/DiSH/
Después podemos arrancar el DiSH, que se hace fácilmente ejecutando el bash /opt/Autonomy/IDOLServer/scripts/StartDiSHService.sh
IDOL Server
Este no es un componente como tal, si no que parece ser una agrupación de componentes por defecto. Una instalación típica tendría esta agrupación de servicios en el directorio /opt/Autonomy/IDOLServer/IDOL
Se le definen los siguientes puertos por defecto: ACI: 9000 Index: 9001 Service: 9002
(REVISAR SI ESTOS PUERTOS VAN DIRECTAMENTE AL CONTENT O TIENEN ALGÚN TIPO DE PIPE A OTRO COMPONENTE)
Si usamos este "grupo" podemos configurar la mayoría de los componentes desde un único fichero de configuración, que por defecto está en el directorio /opt/Autonomy/IDOLServer, con el nombre AutonomyIDOLServer.cfg
Debajo de este grupo estarían los siguientes servicios (por defecto, aunque todo esto se puede cambiar a mano)
- content
- view
- agentstore
- category
- community
- dih
- dah
- indextask
- ...
Content
Este es el servicio más importante: es el que almacena e indexa la información. Los puertos que usa por defecto son:
- ACI: 9010
- Index: 9011
- Servicio: 9012
Este servicio por defecto en la instalación se ubica debajo del directorio de IDOL, con el nombre content: /opt/Autonomy/IDOLServer/IDOL/content
Dentro de este directorio, por defecto, no hay ningun fichero de configuración, pero si quisieramos arrancar este servicio de forma independiente al grupo IDOLServer podriamos crear ahí dentro un fichero content.cfg con los datos de configuración de este
indextask
Este es un servicio que se instala por defecto con el grupo IDOLServer, pero que si no cambiamos la configuración no se usa. Es como un servicio de transformación de datos antes de indexar nuevos datos. La ubicacion de este es en /opt/Autonomy/IDOLServer/IDOL/indextasks
Los puertos que usa este servicio por defecto son:
- ACI:9100
- Index: 9101
- Servicio: 9102
(COMPLETAR MÁS INFORMACIÓN SOBRE ESTE SERVICIO)
DIH
Para instalaciones distribuidas, este es el servicio que reparte los contenidos entre diferentes servidores de IDOL. Este servicio, por defecto, usa los puertos:
- ACI: 9070
- DHI: 9071
- Service: 9072
Este servicio, a pesar de que es para distribuir contenidos entre diferentes IDOLServer, va incluido dentro del grupo de IDOLServer, así que su path es: /opt/Autonomy/IDOLServer/IDOL/dih
En su fichero de configuración se definen los datos de conexión al ACI de varios IDOLServer (o los content) donde se van a insertar los registros que queremos indexar. En una configuración distribuida sencilla para tolerancia a fallos, lo normal es que se indexen los mismos contenidos en dos o tres servidores IDOL (o content), pero puede haber configuraciónes más complejas en las que se reparte los documentos a indexar en diferentes servidores.
DAH
El "balanceador" de consultas a diferentes servidores IDOL. Los puertos que usa por defecto son:
- ACI: 9060
- Service: 9062
Igual que en el DIH, su ubicación por defecto es /opt/Autonomy/IDOLServer/IDOL/dah. En su fichero de configuración se definen conexiones al ACI de varios IDOL en los cuales se repartirá la carga de consultas.
(POR ESTUDIAR VENTAJAS DE USAR ESTO Y NO UN BALANCEADOR DE CARGA FÍSICO)
Tipos de configuración
Configuración Simple
Hay una forma de hacer una instalación rápida, que es el primer paso de la instalación, una vez arrancado el ejecutable. Este modo pone los componentes comunes para una instalación básica, con el DiSH, y el IDOL Server, con sus componenentes básicos (content, agentstore, view, community y category). Todos estos componentes los pone con los datos por defecto y si después queremos cambiar algo tendremos que hacerlo a mano cambiando los ficheros de configuración pertinentes.
Aplicaciones de administracion
De entrada ya viene con la instalación un tomcat con ciertas aplicaciones. Una de ellas es el Retina, que ya veremos más adelante que se usa para hacer consultas a las bases de datos de IDOL.
Para arrancarlo hay que ejecutar el /opt/Autonomy/IDOLServer/appserver/bin/startup.sh. Para no tener problemas recomiendo cambiar antes el fichero de configuración server-users.xml que está en el directorio conf del tomcat, para añadir un rol que se llamen manager y un usuario que tenga ese rol.
Si tenemos una instalación StandAlone no tendremos interface de administración, según se indica en el manual Getting started de Idol. Las configuraciones hay que hacerlas a manubrio en los ficheros.
Otra aplicacion que podemos instalar de administración es el Autonomy Business Console (ABC), que podemos encontrar en el autonomy download center para descargar (multiplataforma ya que es un war). Este .war lo podemos desplegar en el mismo tomcat que viene con el IDOL Server, desde la página de tomcat manager.
Instalación Distribuida
La instalación distribuida se refiere básicamente a instalar los componentes de forma separada y moldearnos según nuestra necesidad para poder dar tanto alta disponibilidad como alto rendimiento (separando servicios en diferentes servidores y haciendo que estos se comunquen entre ellos).
Según el manual, para hacer esto, tenemos que selecionar la instalación avanzada de IDOL, en la cual nos dejará elegir algunas opciones más de que queremos instalar. Pero la sorpresa es que no hay manera ( o por lo menos no la he encontrado yo ) de seleccionar componente a componente de IDOL lo que queremos instalar.
Uno de los paquetes que hay es IDOL Server, y este nos instala con la estructura por defecto, los componentes: content, view, agentstore, category y community. Durante la instalación no se puede elegir que no nos instale alguno de ellos.