26 jul

Instalar y configurar OpsCenter para Cassandra.

En este caso os voy a explicar como instalar DataStax OpsCenter

Que es DataStax OpsCenter?

Bueno pues básicamente es una interfaz de monitorización, administración y configuración que nos facilita la gestión de nuestro/s cluster de Cassandra, existen dos versiones, una versión Enterprise $$$ y otra community.

Pues venga al lió.

Escenario.

Os pongo los puntos que debemos tener antes de instalar OpsCenter, yo lo haré sobre un Centos 6

  • 2GB de RAM 2 CPUs
  • Python 2.6+
  • Oracle Java SE Runtime Environment (JRE) 6

Partimos de una instalación mínima del sistema así que vamos a ir instalando los paquetes que nos piden.

Instalación de Requerimientos

Vamos a instalar java, nos lo bajaremos de http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jre-6u43-oth-JPR

[[email protected] ~]# chmod 700 jre-6u43-linux-x64-rpm.bin
[[email protected] ~]# ./jre-6u43-linux-x64-rpm.bin
Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP ([email protected]).
 inflating: jre-6u43-linux-amd64.rpm
Preparing... ########################################### [100%]
 1:jre ########################################### [100%]
Unpacking JAR files...
 rt.jar...
 jsse.jar...
 charsets.jar...
 localedata.jar...
 plugin.jar...
 javaws.jar...
 deploy.jar...
done
1</pre>
[[email protected] ~]# java -version
 java version "1.6.0_43"
 Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
 Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

Lo siguiente instalaremos python


[[email protected] ~]# yum install python.x86_64

Instalación de OpsCenter

Pues venga ahora llego lo bueno vamos al lio!

Como utilizamos Centos nos vamos aprovechar los repositorios y lo añadiremos a nuestro sistema, para tener una instalación fácil fácil.

Primero vamos añadir el repo de epel


[[email protected] ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Y ahora crearemos otro repo con la configuracion de datastax

vi /etc/yum.repos.d/datastax.repo

Y añadimos lo siguiente.

[opscenter]
name= DataStax Repository
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0

Pues solo nos queda instalar.


[[email protected] ~]# yum update

[[email protected] ~]# yum install opscenter-free

Configuración de OpsCenter

Una vez instalado, debemos configurar principalmente donde vamos a querer que responda, por defecto la ip es 127.0.0.1, pero claro si queremos acceder desde fuera, pues lo cambiamos de la siguiente forma.

[[email protected] ~]# vi /etc/opscenter/opscenterd.conf

[webserver]

port = 8888
interface = IP

Y levantamos el servicio.


/etc/init.d/opscenterd start

Si nos vamos a la ip del servidor puerto 8888 y veremos algo tal que así.

opcenter1
Aquí tenemos dos opciones muy claras, o creamos con Opscenter un nuevo Cluster o lo añadimos a un Cluster existente, en mi caso utilizare esta ultima opción ya que ya tenemos un cluster montado.

ops2
Añadiremos las ips o nombres de máquina, de los servidores que forman parte de nuestro cluster.

o3Y esta es la pagina principal, un poco vacía… lo que pasa es que debemos instalar el agente en cada uno de los servidores de cassandra, lo podemos hacer a mano o intentar que lo haga OpsCenter dandole un usuario con permisos.

Para hacer que lo haga OpsCenter, pulsaremos FIX y nos saldrá lo siguiente, donde pondremos las credenciales o la clave privada.

o5Aceptamos y empieza la instalación

o7
Una vez finalizada se nos llenara de magia y de color la página principal.

9

Bueno como iréis viendo, trabajar con la aplicación es muy sencillo y tienes muchas opciones, lo mejor es que puedes montar tus paneles casi a medida, donde pones única y exclusivamente aquellos datos que te interesan del cluster y antes igual eran un poco difíciles de sacar, ya que tenéis que empezar a pensar en la JMX, que otra cosa no pero pereza de un rato….

Ale a disfrutarlo!

Más información  en

http://www.datastax.com/docs/opscenter/introduction

http://www.datastax.com/what-we-offer/products-services/datastax-opscenter

http://www.datastax.com/docs/opscenter/configure/configure_opscenter_adv#opscenter-configuration-properties

http://www.datastax.com/docs/opscenter/online_help/index

23 jul

Instalación de Ports FreeBSD

Bueno esta vez voy a explicar como instalar paquetes en freebsd, después de realizar una instalación básica desde el cd o el usb, la situación en mi caso es la siguiente, queremos tener un sistema únicamente para ver unas gráficas de graphite y claro la cosa más sencilla que se nos ocurrió es preparar un mini pc con freebsd ;).

Bien, pues si hemos hecho la instalación base posiblemente lo primero que tengamos que hacer es dar acceso a root por ssh, si lo se… no es correcto, pero dado la criticidad del asunto, en mi caso voy abrir el acceso para gestionar el pc desde mi sobremesa, tranquilamente. Si hemos creado usuario durante el proceso de instalación, siempre podemos entrar con ese usuario y posteriormente cambiar a root.

Para hacer este paso, muy sencillo cambiaremos lo siguiente,

vi /etc/ssh/sshd_config
PermitRootLogin yes
/etc/rc.d/sshd restart

En nuestro caso vamos a realizar la instalación de los paquetes a través de ports, también lo podemos hacer por packages que vienen siendo los paquetes precompilados, o sea los .deb de debian o los .rpm de redhat, el caso de los port se usa la Colección de Ports que son los ficheros makefile y sus parches adaptados específicamente para poder instalar desde el código fuente. Al instalar un port lo que estaremos haciendo es bajar el código fuente aplicar los parches necesarios, compilar el código e instalará el programa.

Como explican muy bien en la pagina de freebsd, en resumen es esto:

Package (binario)

  • Instalación más rápida (compilar programas grandes puede llevar su tiempo).
  • No hay que comprender el proceso de compilar software.
  • No es necesario instalar compiladores en su sistema.

Ports (fuente)

  • Es posible ajustar las opciones de la instalación. (Los packages se generan normalmente con las opciones estándar. Con los ports puede ajustar diversas opciones, como disponer de módulos adicionales o cambiar la ruta por defecto.)
  • Puede usar sus propios parches si tiende hacerlo.

Como veis, gustos y formas, en mi caso me parece bastante interesante la posibilidad de decidir que partes de un programa quieres tener disponible, es una forma de tener exactamente lo que quieres, si que es cierto que en ciertos casos cuando vamos a instalar suites se puede convierte en algo pesado ir seleccionando las opciones de todos los paquetes, pero como no, siempre hay alguna ayuda…(veremos mas adelante) puesta la introducción vamos al lio.

Preparación de las Colección de  Ports

Lo primero que deberemos hacer es bajarnos la Coleccion de Ports, extraerlos y mirar si disponemos de actualizaciones, todo con estos tres comandos.

portsnap fetch
portsnap extract
portsnap update

Opciones e instalación de Ports

Bueno, ahora vamos a instalar algún port, por ejemplo nano, que es un poco más amigable que vi.

Podemos buscar la ruta del paquete a instalar con whereis o con locate.

whereis nano
nano: /usr/ports/editors/nano

Así que nos vamos a esa ruta y haremos

[email protected]:~ # cd  /usr/ports/editors/nano
[email protected]:/usr/ports/editors/nano # make install clean
[email protected]:~ # rehash

Como hemos visto, se cumple lo que os comente anteriormente (menos mal…) y durante el proceso nos preguntan si queremos tener disponible la documentación de gettext, entro otras opciones que deberemos ir contestando gettext

Por norma general la instalación de ports es así de sencilla.

¿Qué pasa si  queremos instalar xfce?

Como os podéis imaginar nos va a preguntar bastantes opciones a medida que vaya preparando los configures, pues en este caso tenemos dos opciones.

Opción 1

  • make config-recursive antes del make install y el make clean, de esta manera nos solicitara todos las opciones antes de empezar y podremos dejarlo compilando sin preocuparnos de que se pare el proceso.

Opción 2

  • Podemos también ponerlo por defecto, o sea que las opciones por defecto que trae el paquete sean las que utilizara, esto lo haremos añadiendo BATCH=yes al fichero /etc/make.conf, o si lo queremos en un caso puntual, podemos lanzar el make de la siguiente forma make install clean BATCH=yes

Bueno pues vamos hacer un ejemplo, con el paquete vim, como veréis  es posible que nos intentara instalar dependencias del paquete con las X11, en el caso que no tengamos las X o que no queramos tener las dependencias, deberemos hacer lo que explique en su día Evitar dependencias X11 al instalar paquetes FreeBSD

whereis vim
cd /usr/ports/editors/vim/
make config-recursive
make install
make clean
rehash

Como hemos visto nos ha pedido diferentes opciones antes de empezar el proceso, después hemos hecho el make install y el make clean y ya no pregunto nada más, como curiosidad si os fijáis paso algo que explique más arriba (menos mal… nuevamente), lo que hizo en descargar el paquete y fue bajando todos los patch disponible para aplicar hasta la fecha, lo vemos en la imagen.

parch

Y aprovechando esto, os voy a explicar que es la carpeta /usr/ports/distfiles/, cuando vamos a instalar un port, el sistema realizara la comprobación primero en esa ruta, para comprobar que no tenga el paquete ya disponible, también es útil en el caso que tengamos que cumplir alguna dependencia que no este en el repositorio, en eso caso podremos el fichero tgz en esa ruta.

Bueno ahora para mostrar la segunda opción, instalaremos el entorno gráfico xfce, el procedimiento es el mismo, cambiando la opción BATCH=yes, pues al lío.

cd /usr/ports/x11-wm/xfce4
make install clean BATCH=yes
echo "/usr/local/bin/startxfce4" > ~/.xinitrc

Como habréis notado, aquí lo hizo todo a saco sin preguntar nada, cogiendo las opciones por defecto como era de esperar tardo un rato largo…. al menos en mi caso (6-7horas), la última linea es para que en el próximo arranque nos muestre el entorno gráfico

Eliminación de Ports

Bien pues a estas alturas ya sabemos como instalar ports de diferentes maneras en nuestro sistema, igual ahora lo que no interesa es eliminar un port, bien pues lo que vamos hacer es lo siguiente, por ejemplo con el port nano.

cd  /usr/ports/editors/nano
pkg_delete nano

Así de fácil

Actualización de Ports

Igual también nos interesa actualizar algun port, pues lo que haremos es lo siguiente.

Veremos los ports que tienen alguna actualización, con el siguiente comando

pkg_version -v

Muy importante deberemos revisar /usr/ports/UPDATING ya que ahi veremos los commit que se realizaron en los port que tienen posibilidad de ser actualizados,  de esta manera decidiremos si la mejora nos es necesaria o no.
Yo por norma general utilizo portupgrade, que me parece muy sencillo y dinámico, vamos a ver algunos ejemplos

cd /usr/ports/ports-mgmt/portupgrade
make install clean

Actualizar todos los ports, con confirmación (opción -i)

portupgrade -ai

Si queremos actualizar únicamente un paquete podemos hacer

portupgrade -R nano

Con la opción -R lo que le estamos diciendo es que antes de actualizar el paquete, actualice todas las dependencias.

Limpieza de los Ports

Por ultimo vamos a limpiar el sistema después de todo lo que hicimos.

Sobretodo si somos de los que instalamos los ports sin realizar el make clean, deberemos lanzar cada x tiempo el siguiente comando, ya que la colección de ports tiende a crecer y crecer y crecer….

portsclean -C

Para limpiar la carpeta distfiles haremos.

portsclean -D

Pues creo que es todo, como veréis es una simple pincelada para sentirnos un poco más cómodos con el entorno,  la verdad es que es un sistema muy dinámico y recomiendo que lo proveéis, por supuesto una de las grandes cosas que tiene freebsd es su maravillosa documentación.

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/

Ale a disfrutarlo!