Cluster OSCE Informe Final

Embed Size (px)

DESCRIPTION

Alfresco Enterprise ECM es la solución Open Source de Gestión Documental que Sparc Technologies ofrece a OSCE como cliente. De acuerdo a la solicitud de requerimientos, Alfresco Enterprise ECM se ajusta a las necesidades definidas, es por ello que ofrecemos el diseño de la solución con el uso de la solución Alfresco en versión 4.1.2 Enterprise.

Citation preview

  • IMPLEMENTACION DE

    ALFRESCO ENTERPRISE 4.1.2

    EN AMBIENTE DE ALTA DISPONIBILIDAD

    Informe Final

    Autor y Ejecutor: Guillermo Alexis Velsquez Panta

    Jefe de Proyecto: Elvis Jess Villalva

    Abril de 2013

    Calle Andreas Vesalio 777, San Borja Lima, Per Telfonos:

  • 1. RESUMEN EJECUTIVO

    Introduccin

    Alfresco Enterprise ECM es la solucin Open Source de Gestin Documental que Sparc

    Technologies ofrece a OSCE como cliente. De acuerdo a la solicitud de requerimientos,

    Alfresco Enterprise ECM se ajusta a las necesidades definidas, es por ello que ofrecemos el

    diseo de la solucin con el uso de la solucin Alfresco en versin 4.1.2 Enterprise.

    La plataforma de contenido de Alfresco permite a las organizaciones gestionar por completo

    cualquier tipo de contenido a partir de documentos de oficina sencillos, imgenes escaneadas,

    fotografas, diseos de ingeniera y archivos de vdeo, incluso archivos de gran tamao.

    Alfresco al tener incorporado 2 motores de BPM permite a las empresas automatizar los

    procesos de negocio manejndolos y trabajndolos con documentos, ahorrando tiempo y

    dinero. Y las caractersticas nativas de Alfresco permiten la colaboracin segura, dentro o

    incluso fuera del firewall.

    Alfresco es un sistema de administracin de contenidos de cdigo fuente abierto es decir libre

    desarrollado en Java, basado en estndares abiertos y de escala empresarial para sistemas

    operativos tipo Windows Unix Solaris y algunas versiones de Linux.

    Visin general de la metodologa y procedimientos utilizados en el desarrollo del

    proyecto

    La implementacin de la solucin de realizo desde cero, se comenz con la instalacin de los

    sistemas operativos con las particiones y caractersticas que se mencionara ms adelante.

    Una vez terminada la instalacin de los sistemas operativos se prosigui con la instalacin de

    la solucin Alfresco en ambos servidores, se utiliz una base de datos Oracle, al finalizar la

    instalacin de las soluciones se prosigui a definir las configuraciones del clster y el

    balanceador de carga que es el que va a definir el ambiente en alta disponibilidad.

    El proceso de capacitacin es muy importante para el cliente ya que el cambio en la manera

    de trabajo del usuario con las nuevas herramientas, son significativos, es por ello que como

    parte importante del proyecto se tom en cuenta las capacitaciones.

    Conclusiones principales

    Fortalezas

    OSCE asume el gran reto de utilizar Alfresco Enterprise 4.1.2 teniendo en cuenta la nueva forma de trabajo con esta herramienta y todos los beneficios que esta trae.

  • Una nueva forma de trabajo para los usuarios que tendrn una mejor experiencia al usar esta herramienta.

    Debilidades

    La resistencia a la forma de trabajo por parte de algunos usuarios. Heredar formas de trabajo y tecnologas desactualizadas. Integracin con aplicaciones no adecuadas a tecnologas actuales. Informacin guardada localmente.

    Recomendaciones

    Utilizar todas las funcionalidades que esta herramienta nos ofrece, sera un grave error considerarla nicamente como un repositorio.

    Utilizar el servicio de soporte y la documentacin oficial ofrecido por la marca Alfresco.

    Realizar las actualizaciones de manera continua en coordinacin con Sparc Technologies.

    2. RESUMEN DE LA PROPUESTA TCNICA

    En este escenario, tenemos un repositorio nico de base de datos y almacenamiento (para los

    contenidos) y 2 servidores de aplicaciones Web que acceden a los contenidos de forma simultnea.

    Esta configuracin permite que varios servidores de Internet compartan la carga web, y

    proporciona redundancia en caso de fallo del servidor web. Cada servidor web tiene ndices

    locales (en el sistema de archivos local).

    Para esta implementacin vamos a utilizar un balanceador de carga de hardware para equilibrar las

    peticiones web entre los dos servidores web. El balanceador de carga debe ser compatible con

    'sticky' sessions para que cada cliente se conecte siempre al mismo servidor durante la sesin. El

    sistema de archivos y base de datos residen en el servidor numero 2 pero en diferentes

    ubicaciones, lo que nos permite utilizar medios alternativos para la replicacin del sistema de

    archivos y base de datos. La configuracin en este caso consistir en la replicacin de cach L2 y

    la sincronizacin del ndice.

  • 3. DESARROLLO DE ACTIVIDADES

    3.1. Instalacin del Sistema Operativo Red Hat Enterprise Linux 6.3

    El Sistema Operativo ser instalado dos servidores fsicos, los cuales tendrn instalado Red

    Hat Enterprise Linux 6.3, Para esto realizaremos las siguientes actividades:

    Introducimos el DVD de instalacin e iniciamos el arranque desde la unidad ptica. Luego de arrancarlo nos mostrar la pantalla de inicio donde presionamos la tecla

    Enter para proseguir con la instalacin en un modo grfico.

    Luego nos mostrar una opcin si queremos testear el DVD, esto para ver si presenta errores que se pudieron cuando se descarg o grab el medio, podemos

    descargar el cheksum para verificacin antes de comenzar, en nuestro caso

    saltaremos este paso y le daremos clic en el botn Skip.

  • Como por defecto seleccionamos el modo de instalacin grfica, entonces, tendremos la pantalla de bienvenida de RHEL, pulsaremos el botn Next para

    comenzar la configuracin de nuestra instalacin.

    Seleccionamos el idioma de la instalacin como queremos que se muestre y hacemos clic en el botn Next.

  • Ahora seleccionaremos el idioma de nuestro teclado, generalmente es un teclado espaol de lo contrario lo haremos, de acuerdo a la naturaleza de nuestro dispositivo de entrada,

    clic en Next.

    Ahora debemos especificar el nombre de host para nuestro servidor, en nuestro caso

    vamos editarlo post instalacin, dejamos local host por defecto.

  • Configuramos la zona horaria y le damos clic en el botn Next.

    Tendremos que asignar una contrasea a nuestro usuario de administracin root, para mayor seguridad tendr que ser un password confiable, con caracteres especiales.

  • El instalador nos muestra los tipos de particionamiento que tenemos para realizar dependiendo del espacio y SO instalados, como vamos a necesitar algo

    personalizado, seleccionamos Create Custom Layout.

    El tipo de particionamiento ser realizado de acuerdo al esquema siguiente

  • Luego nos saldr en siguiente mensaje, escogemos la opcin Write Changes to Disk para que se guarden los cambios de la particin.

    Ahora tenemos que elegir los paquetes necesarios para los servicios que ofrecer nuestro servidor. Seleccionamos Desktop para obtener los paquetes necesarios, y

    luego seleccionamos Next.

  • El SO comenzara a realizar la instalacin de los paquetes, tendremos que esperar unos minutos a que la instalacin culmine.

  • Cuando termine la instalacin, el DVD se expulsar y nos pedir reiniciar el equipo, para que este proceso concluya.

    Luego del reinicio del equipo, lo que se ver es el proceso de configuracin, en esta parte se ve la pantalla de bienvenida, le damos Forward.

  • Tendremos la informacin de la licencia, tenemos que establecer que estamos de acuerdo con dicha informacin y seguir con la instalacin.

    El asistente de configuracin nos pide crear una cuenta de usuario no privilegiada, para poder iniciar sesin. Es recomendable crear una cuenta o de lo contrario

    iniciaremos sesin con el usuario administrador.

  • Podemos configurar la hora y fecha del sistema, as como tambin algn servidor NTP que sincronice estos datos. Por el momento podremos establecer la hora que

    creamos conveniente.

    Luego de los pasos de configuracin previos tendremos la pantalla de bienvenida al Sistema Operativo, con el cual ya podemos trabajar para realizar las

    configuraciones necesarias.

  • 3.2. Configuraciones Post Instalacin (IP,DNS,HOST)

    Desactivar el Network Manager:

    Para ello digitamos lo siguiente en la consola del servidor

    # service NetworkManager stop

    # chkconfig NetworkManager off

    # chkconfig iptables off

    # chkconfig ip6tables off

    Desactivar el firewall y el Selinux:

    Para ello digitamos lo siguiente en la consola del servidor

    # vi /etc/selinux/config

    # This file controls the state of SELinux on the system.

    SELINUX= can take one of these three values:

    enforcing - SELinux security policy is enforced.

    permissive - SELinux prints warnings instead of enforcing.

    disabled - No SELinux policy is loaded.

    SELINUX=disabled EDITAMOS ESTA LINEA

    SELINUXTYPE= can take one of these two values:

    targeted - Targeted processes are protected,

    mls - Multi Level Security protection.

    SELINUXTYPE=targeted

    # iptables -F

    Configuracin de las IP:

    IP Server Balanceador: 192.168.6.206 IP VIRTUAL

    IP Server alfc1: 192.168.12.138

    IP Server alfc2: 192.168.6.204

  • NOTA: Realizar la siguiente configuracin en los servidores 1 y 2, esto para configurar las ip alfc1 y alfc2

    Configuramos las IP:

    Para ello en la consola del servidor digitamos lo siguiente

    #Setup

    Nos aparecer la siguiente pantalla y debemos seguir las instrucciones:

    Elegir Network configuration

    Elegir Device configuration

  • Elegir eth0

    Presionamos la tecla ESPACIO en Use DHCP y colocamos los campos y le damos OK,

    Save, Save&Quit, Quit. La IP en este caso es 192.168.6.204 que es del alfc2 , en el otro

    servidor deberemos de colocar la ip del alfc1 192.168.12.138

  • Instalacin de NFS en Server 2

    Creacin de la carpeta compartida:

    # cd /opt

    # mkdir alf_data

    # chmod R 777 alf_data

    Instalamos los paquetes del nfs con esta lnea # yum install -y nfs-utils nfs4-acl-tools

    #chkconfig nfs on

    #chkconfig nfslock on

    #chkconfig rpcbind on

    Digitamos en la consola vi /etc/sysconfig/nfs y descomentar las siguientes lneas, a partir de

    ac tambin se realizan los pasos en los alfc1 y alfc2

    MOUNTD_NFS_V2=no

    MOUNTD_NFS_V3=no

    RPCNFSDARGS=-N 2 -N 3

    Digitamos vi /etc/exports y all agregar:

    /opt/alf_data *(rw)

    Reiniciar el servicio

    service nfs restart - Hacerlo 2 veces

    Instalacin de Alfresco en alfc1 y alfc2

    Damos permisos al fichero de instalacin digitando en la consola:

    chmod +x alfresco-enterprise-4.1.2-installer-linux-x64.bin

    Ejecutamos el instalador de Alfresco con el siguiente comando

    # ./alfresco-enterprise-4.1.2-installer-linux-x64.bin

    Aplicamos OK

  • Aplicamos Forward

    Seleccionamos advanced y aplicamos forward

  • Solo seleccionamos los siguientes componentes y le damos forward, no hay que instalar el

    postgres:

    Dejamos por defecto y forward

  • Importante configurar parmetros bien y le aplicamos forward

    Estos son los parmetros de la base de datos que deben de estar en el archivo Alfresco-global.properties

    db.username=alf db.password=alf2013 db.name=seacev31 db.host=192.168.12.111 db.port=1521 db.driver=oracle.jdbc.OracleDriver db.url=jdbc:oracle:thin:@192.168.12.111:1521:seacev31

    Dejar por defecto y darle forward

  • Dejar por defecto y forward

    Dejamos por defecto y forward

  • Ingresamos la contrasea del admin de alfresco y forward

    Elegimos no y forward

  • Dejamos por defecto y forward:

    Aplicamos forward

  • Quitar el check de las opciones marcadas por defecto y finalizar la instalacin

    Instalacin de Solr fuera del alf_data en MV: alfc1 y alfc2

    Creamos una carpeta donde alojaremos solr

    # cd /opt/alfresco-4.1.2/

    # mkdir solr

    Copiamos los archivos de alf_data en la carpeta recin creada solr

    # cp -rf alf_data/* solr/

    # chmod -R 777 solr/

    Editar los siguientes archivos:

    # cd tomcat/conf/Catalina/localhost

    # vi solr.xml (Recomiendo editarlo con gedit)

  • Para cada core, editar solrcore.properties file: (Recomiendo editarlo con gedit)

    archive-SpacesStore

    # cd /opt/alfresco-4.1.2/solr/solr/workspace-SpacesStore/conf/solrcore.properties

    data.dir.root=/opt/alfresco-4.1.2/solr/solr

    workspace-SpacesStore

    # cd /opt/alfresco-4.1.2/solr/solr/archive-SpacesStore/conf/solrcore.properties

    data.dir.root=/opt/alfresco-4.1.2/solr/solr

    Editar alfresco-global.properties

    # vi /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco-global.properties

    ### Solr indexing ###

    index.subsystem.name=solr

    dir.keystore=/opt/alfresco-4.1.2/solr/keystore

    solr.port.ssl=8443

    Editar en:

    # cd /opt/alfresco-4.1.2/tomcat/conf/server.xml (Recomiendo hacerlo con gedit)

  • Montrar el NFS en alfc1

    # mount -t nfs 192.168.6.204:/opt/alf_data /opt/alf_data/

    Verificar el NFS montado en alfc1

    # df -h

    Filesystem Size Used Avail Use% Mounted on

    /dev/mapper/VolGroup-LogVol01

    18G 7.9G 8.8G 48% /

    tmpfs 1002M 608K 1001M 1% /dev/shm

    /dev/sda1 194M 33M 152M 18% /boot

    192.168.6.204:/opt/alf_data

    18G 6.7G 11G 40% /opt/alf_data

    Direccionar almacenamiento

    Editamos en el archivo Alfresco-global.properties

    dir.root=/opt/alf_data

    Esta edicin la realizamos en los dos nodos alfc1 y alfc2

    Lanzar alfresco en alfc1

    # cd /opt/alfresco-4.1.2/

    # ./alfresco.sh start

  • Verificar el log en alfc1

    # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

    Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

    Shutdown alfresco en MV: alfc1

    # ./alfresco.sh stop

    Nota: No se preocupe si en el log salen errores

    Verificar que los procesos hayan finalizado en MV: alfc1

    # ps aux | grep java

    root 5023 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep java

    # ps aux | grep postgres

    root 5029 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep postgres

    # ps aux | grep open

    root 5032 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep open

    Nota: Si hubera ms de un proceso corriendo hacer un kill -9 [# proceso]

    Lanzar alfresco en MV: alfc2

    # cd /opt/alfresco-4.1.2/

    # ./alfresco.sh start

    Verificar el log en MV: alfc2

    # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

    Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

  • Shutdown alfresco en MV: alfc2

    # ./alfresco.sh stop

    Nota: No se preocupe si en el log salen errores

    Verificar que los procesos hayan finalizado en MV: alfc2

    # ps aux | grep java

    root 5023 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep java

    # ps aux | grep postgres

    root 5029 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep postgres

    # ps aux | grep open

    root 5032 0.0 0.0 103240 848 pts/0 S+ 12:14 0:00 grep open

    Nota: Si hubiera ms de un proceso corriendo hacer un kill -9 [# proceso]

    6.4 Configuracin del clster de Alfc1 y Alfc2:

    Configuracin del clster en alfc1 y alfc2

    Copiar el file ehcache-custom.xml.Essample.cluster y renombrar por ehcache-custom.xml:

    # cd /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/

    # cp ehcache-custom.xml.sample.cluster ehcache-custom.xml

    Modificar el file ehcache-custom.xml

    #vim /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/ehcache-custom.xml

    Comentar la siguiente definicin por default con

  • class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" properties="socketTimeoutMillis=10000" /> -->

    Descomentar la siguiente definicin removiendo las lineas comentadas

    Nota: Recomiendo modificar con gedit

    Copiar el file hazelcastConfig.xml.sample y renombrarlo por hazelcastConfig.xml:

    # cd /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/

    # cp hazelcastConfig.xml.sample hazelcastConfig.xml

    Modificar el file hazelcastConfig.xml en :alfc1

    # vim /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/hazelcastConfig.xml

    192.168.12.138

  • Nota: Recomiendo modificar con gedit

    Modificar el file hazelcastConfig.xml en :alfc2

    # vim /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/hazelcastConfig.xml

    192.168.6.204

    Nota: Recomiendo modificar con gedit

    Configuracin dentro del file alfresco-global.properties en :alfc1:

    # vi /opt/alfresco-4.1.2/tomcat/shared/classes/alfresco-global.properties

    system.cache.disableMutableSharedCaches=true system.cache.disableImmutableSharedCaches=true ###Configuracion cluster alfresco.cluster.name=alfresco_sparc alfresco.ehcache.rmi.hostname=192.168.12.138 alfresco.rmi.services.external.host=192.168.6.204 alfresco.ehcache.rmi.port=40001 alfresco.ehcache.rmi.remoteObjectPort=45001 alfresco.jgroups.defaultProtocol=TCP alfresco.tcp.start_port=7800 alfresco.tcp.initial_hosts=192.168.12.138[7800],192.168.6.204[7800] filesystem.cluster.enabled=true filesystem.cluster.configFile=/opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/hazelcastConfig.xml

  • Configuracin dentro del file alfresco-global.properties en :alfc2:

    system.cache.disableMutableSharedCaches=true system.cache.disableImmutableSharedCaches=true ###Configuracion cluster alfresco.cluster.name=alfresco_sparc alfresco.ehcache.rmi.hostname=192.168.6.204 alfresco.rmi.services.external.host=192.168.12.138 alfresco.ehcache.rmi.port=40001 alfresco.ehcache.rmi.remoteObjectPort=45001 alfresco.jgroups.defaultProtocol=TCP alfresco.tcp.start_port=7800 alfresco.tcp.initial_hosts=192.168.12.138[7800],192.168.6.204[7800] filesystem.cluster.enabled=true filesystem.cluster.configFile=/opt/alfresco-4.1.2/tomcat/shared/classes/alfresco/extension/hazelcastConfig.xml

    Configuracin de los logs de solr y cluster en :alfc1 y alfc2:

    # vim /opt/alfresco-4.1.2/tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties

    Agregar las siguientes lneas

    #solr log4j.logger.org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient=debug #cluster log4j.logger.net.sf.ehcache.distribution=DEBUG log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=DEBUG log4j.logger.org.alfresco.repo.jgroups=debug log4j.logger.org.alfresco.enterprise.repo.cache.jgroups=debug

    Nota: Recomiendo editarlo con gedit

    Iniciar alfresco en: alfc1 y verificar los logs:

    # cd /opt/alfresco-4.1.2/ # ./alfresco.sh start # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

  • Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

    Iniciar alfresco en :alfc2 y verificar los logs:

    # cd /opt/alfresco-4.1.2/ # ./alfresco.sh start # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

    Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

    Shutdown alfresco en: alfc1

    # ./alfresco.sh stop

    Nota: No se preocupe si en el log salen errores

    Shutdown alfresco en: alfc2

    # ./alfresco.sh stop

    Nota: No se preocupe si en el log salen errores

    Instalacion de Apache en Server 2 con IP Virtual:

    Instalamos el apache si es que no se encunetra instalado

    # yum install httpd

    Vemos la versin del apache instalado:

    # httpd -v Server version: Apache/2.2.15 (Unix) Server built: Feb 7 2012 09:50:11

    Instalamos las libreras de apache:

    yum install httpd-devel

    Instalamos libreras de compilacin c # yum install gcc*

  • Instalamos los modulos de apache:

    # chmod +x tomcat-connectors-1.2.32-src.tar.gz # tar zxvf tomcat-connectors-1.2.32-src.tar.gz # cd tomcat-connectors-1.2.32-src/native/ #./configure --with-apxs=/usr/sbin/apxs # make # make install

    Creamos una ip virtual en el server 2

    #ifconfig eth0:0 192.168.6.206 netmask 255.255.255.0

    Configuracion del load-balancer en MV:manuel

    # vim /etc/httpd/conf/httpd.conf Agregar en la ltima lnea:

    # load balancer

    SetHandler balancer-manager BalancerMember ajp://192.168.12.138:8009 route=jvm1 BalancerMember ajp://192.168.6.204:8009 route=jvm2 ProxySet stickysession=JSESSIONID ProxyPass balancer://balancer1/share stickysession=JSESSIONID

    Editamos el listener para que escuche el apache por la ip virtual

    # vim /etc/httpd/conf/httpd.conf

    Y editamos la siguiente lnea: Listen=192.168.6.206 De esta forma el balanceador ingresara por la ip virtual creada.

  • Configuracion de tomcat en :alfc1

    #cd /opt/alfresco-4.1.2/tomcat/conf/ # vim server.xml Y agregar:

    Nota:Recominedo editar con gedit

    Configuracin de tomcat en : alfc2

    #cd /opt/alfresco-4.1.2/tomcat/conf/ # vim server.xml Y agregar:

    Nota:Recominedo editar con gedit

    Modificar en : alfc1 y alfc2

    Agregar la directive en:

    /tomcat/webapps/share/WEB-INF/web.xml

    /tomcat/webapps/alfresco/WEB-INF/web.xml

    Alfresco Project Slingshot

    Alfresco Project Slingshot application

    Iniciar alfresco en :alfc1 y verificar los logs:

    # cd /opt/alfresco-4.1.2/ # ./alfresco.sh start # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

    Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

  • Iniciar alfresco en :alfc2 y verificar los logs:

    # cd /opt/alfresco-4.1.2/ # ./alfresco.sh start # tail -f /opt/alfresco-4.1.2/tomcat/logs/catalina.out

    Nota: Todo debe ser INFO y algunos WARS pero 0 Erros.

    Reiniciar apache en MV:manuel

    # shutdown # service apache start # service apache restart

    4. CONCLUSIONES Y RECOMENDACIONES

    Con las actividades realizadas y concluidas, podemos verificar por parte del cliente y Sparc

    Technologies, que los alcances del proyecto han sido cumplidos. Debemos indicar que el

    proceso post seguir siendo asumida por nuestra empresa como indica el contrato. Es

    necesario indicar lo siguiente:

    Las actividades establecidas desde el inicio del proyecto fueron completas en su totalidad.

    Los riesgos que fueron encontrados en el transcurso del proyecto han sido manejados por ambas partes buscando siempre una solucin cordial.

    Se recomienda visitar el portal de soporte de Alfresco, para que los administradores y personal de soporte puedan estar al tanto de los nuevos

    lanzamientos y publicaciones.

    Es necesario visitar los enlaces de Alfresco Wiki, ya que se puede encontrar mucha documentacin oficial