All posts in Empresa

El proper dimecres 3 de Juny, tindré el plaer de participar a l’Smart Lunch que organitza el gabinet de comunicació InterMèdia, al restaurant SandwiChez de Plaça Molina, a Barcelona.

Com el nom del format indica, serà a l’hora de dinar, cap a les dues del migdia i s’intentarà que sigui el més Smarty possible ;-)

Així que tot dinant xerrarem sobre la part més humana de les Big Data. En el sentit informàtic del terme, és a dir, com les màquines emulen el raciocini humà per tal d’entendre les dades a les que tenen accès els nostres servidors.

El formant l’he trobat força interessant: Exposició + Fòrum tot dinant. El tema dóna molt de joc, així que de ben segur que ens ho passarem bé!

SmartLunch BigData

Us hi espero!

SmartLunch BigData, la informàtica més humana

Table 9.1. Runlevels in Red Hat Enterprise Linux
Runlevel Description
0 Used to halt the system. This runlevel is reserved and cannot be changed.
1 Used to run in a single-user mode. This runlevel is reserved and cannot be changed.
2 Not used by default. You are free to define it yourself.
3 Used to run in a full multi-user mode with a command line user interface.
4 Not used by default. You are free to define it yourself.
5 Used to run in a full multi-user mode with a graphical user interface.
6 Used to reboot the system. This runlevel is reserved and cannot be changed.

Taskwarrior is a command-line todo list manager.

In a world with a lot of virtualized and remotes servers, we need a Post-It alternative ;-)

To install Task Warrior, execute:

sudo add-apt-repository ppa:ultrafredde/ppa
sudo apt-get update
sudo apt-get install task

Quick steps in task:

List tasks
task

Add a task
task add "task to do"

Add a note to a task
task #n annotate "a note"

Done a task
task #n done

There are a lot of commands, you can found them at task warrior wiki

Example:

task
[task next]

ID Project Pri Due A Age Urgency Description
2 4m 0.9 Instal·lar OrientDB
6/15/2012 http://www.orientdb.org
6/15/2012 PHP connector https://github.com/congow/Orient
1 5m 0.8 Instal·lar doophp
6/15/2012 http://doophp.com/

2 tasks

There are plans to release a task warrior server, interesting.

  1. Ensure you’re up to date with latest release:

    sudo apt-get update

    sudo apt-get upgrade

  2. Install update-manager-core if it is not already installed:

    sudo apt-get install update-manager-core

  3. edit /etc/update-manager/release-upgrades and set Prompt=lts

Note: The minumum contents of /etc/update-manager/release-upgrades should be

[DEFAULT] Prompt=lts

  1. Launch the upgrade tool:

    sudo do-release-upgrade

  2. Follow the on-screen instructions.
  3. At the end of the upgrade process you will be required to restart the server in order to boot into the new kernel. If you do not have access to the console of the system you are upgrading, you may need to edit /boot/grub/menu.lst and change the default boot kernel to the newly installed 10.04 kernel. If this step is not performed your server may attempt to boot into the 8.04 LTS kernel and will hang.

Captura-phpinfo-2528-2529-2B-2BGoogle-2BChrome-1

I finalment, instal·lem PHP. Al tractar-se d’una màquina de desenvolupament, instal·larem PHP 5.4 Release Candidate 1 i així podrem provar les noves opcions de PHP 5.4 com els traits per a evitar algunes limitacions de les herències úniques pròpies de PHP. Aquestes novetats s’integraran properament a l’IDE NetBeans.

Recuperarem el codi font de PHP:

svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_4 php-src-5.4

Preparem llibreries i programes que necessitem per a crear el PHP 5.4 com a mòdul per a l’Apache instal·lat a l’apartat 3 d’aquesta sèrie.

apt-get install aspell curl libaspell-dev libbz2-dev libc-client-dev libcurl4-openssl-dev libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libmcrypt4 libmcrypt-dev libmhash2 libmhash-dev libming-dev libmysqlclient15-dev libncurses-dev libpng3 libpng12-dev libpspell-dev libreadline-dev libsasl2-dev libsnmp-dev libt1-5 libt1-dev libtidy-dev libxml2 libxml2-dev libxml2-utils libxpm4 libxpm-dev libxslt1-dev make build-essential autoconf bison

Configurem el PHP

cd php-src-5.4

./buildconf

./configure --with-apxs2=/usr/bin/apxs2 --disable-short-tags --with-openssl --with-zlib --enable-bcmath --with-bz2=/bin/bzip2 --enable-calendar --with-curl --with-curlwrappers --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-xpm-dir=/usr/lib --with-t1lib --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-imap --with-imap-ssl --with-ldap --with-ldap-sasl --enable-mbstring --with-mcrypt --with-mhash --with-ibm_db2=/opt/ibm/db2/V9.7 --with-pspell --with-readline --with-snmp --enable-soap --enable-sockets --with-tidy --enable-wddx --with-xmlrpc --with-xsl --enable-zip --with-pear --with-kerberos

I procedim a compilar, en una màquina amb 4GB de RAM i 2 processadors a 2,6GHz hem trigat 16 minuts.

make && make install

Instal·lem el php.ini preparat per a desenvolupament

cp php.ini-development /usr/local/lib/php.ini

Instal·lem el mòdul ibm_db2


pecl install ibm_db2

Indicant /opt/ibm/db2/V9.7 com a carpeta on tenim instal·lat el DB2, o allà on pertoqui.

afegim la secció ibm_db2 al php.ini

extension=/usr/local/lib/php/extensions/no-debug-zts-20100525/ibm_db2.so
ibm_db2.instance_name=db2inst1

Arrenquem l’apache

/etc/init.d/apache2 restart

I certifiquem que funciona fent

echo "" > /var/www/index.php
rm /var/www/index.html

I obrint un navegador que apunti al servidor obtindrem

Si volem tenir també opcions de MySQL:

./configure --with-apxs2=/usr/bin/apxs2 --disable-short-tags --with-openssl --with-zlib --enable-bcmath --with-bz2=/bin/bzip2 --enable-calendar --with-curl --with-curlwrappers --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-xpm-dir=/usr/lib --with-t1lib --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-imap --with-imap-ssl --with-ldap --with-ldap-sasl --enable-mbstring --with-mcrypt --with-mhash --with-ibm_db2=/opt/ibm/db2/V9.7 --with-pspell --with-readline --with-snmp --enable-soap --enable-sockets --with-tidy --enable-wddx --with-xmlrpc --with-xsl --enable-zip --with-pear --with-kerberos --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

Per tal de servir planes web i interpretar PHP al vol, instal·larem l’IHS, l’IBM HTTP Server, que és un Apache millorat i assegurat. Pel que es veu, no s’integra dins del WAS i cal instal·lar-ho separat. És a dir que si no tenim intenció de servir aplicacions Java, ens podem saltar el pas 1.

El descarregarem del web d’IBM: IBM HTTP Server i procedim a instal·lar-ho com indica el document Hosting PHP applications on the IBM HTTP Server (gràcies Francisco) :


tar -xvf ihs.7000.linux.ia32.tar /root
cd IHS

Copiem responsefile.txt a opcions.txt editem aquest darrer i acceptem la llicència i modifiquem altres valors per omissió i esborrem la secció de windows:

-OPT silentInstallLicenseAcceptance="true"
-OPT disableOSPrereqChecking="true"
-OPT installLocation="/opt/IBM/HTTPServer"
-OPT createAdminAuth="true"
-OPT adminAuthUser="ihsadmin"
-OPT adminAuthPassword="xxxx"
-OPT adminAuthPasswordConfirm="xxxx"
-OPT runSetupAdmin="true"
-OPT setupAdminUser="ihsadmin"
-OPT setupAdminGroup="www-data"
-OPT washostname="blue.corretge.ct"

I executem la instal·lació en mode silenci, doncs no tenim instal·lades les X al servidor:

java -cp `pwd`/setup.jar -Xms48m -Xmx384m run -options "opcions.txt" -silent

I a nosaltres ens ha cascat. Bé, el fet d’estar en una distribució no suportada per IBM deu haver generate els problemes, així que instal·larem un Apache, serà una màquina blava al 50%. A fi de comptes l’IHS s’arrenca amb la instrucció apachectl.


sudo apt-get install apache2 apache2-threaded-dev apache2-mpm-prefork apache2-utils

I obtenim fàcilment el It works! de la felicitat.

Més endavant ja enllaçarem WASCE amb Apache HTTP Server via mod_jk.

Captura-Database-2BAdministration-2B-2B-253CDiagram-253E-2B-253CSchema-253E-2BEYETEST-2B-2BConnection-2B-252522db2-2BEYEOS-252522-2B-2BIBM-2BData-2BStudio-2B

Procedirem a la instal·lació de la base de dades d’IBM, la DB2 en la seva versió lliure de cost, la DB2 Express-C. Hi ha moltes versions, amb unes possibilitats molt interessants, però per a un entorn de desenvolupament, amb la CE en fem suficient.

Amb els repositoris partner activat, tal i com s’indica a l‘apartat 1 de la sèries de posts Instal·lant una màquina blava, procedirem a instal·lar DB2 desde la paqueteria d’Ubuntu.

sudo apt-get install db2exc

Un cop instal·lat canviarem les contrasenyes dels usuaris creats:

sudo passwd db2inst1
sudo passwd db2fenc1
sudo passwd dasusr1

Ens loginegem com l’usuari gestor de les instàncies DB2, i certifiquem que s’ha instal·lat correctament:

sudo su db2inst1
db2level

DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09074"
with level identifier "08050107".
Informational tokens are "DB2 v9.7.0.4", "s110330", "IP23243", and Fix Pack
"4".
Product is installed at "/opt/ibm/db2/V9.7".

Creem una nova base de dades, per exemple CORRETGE ;-)


sudo su db2inst1
db2 create database CORRETGE

Cal tenir en compte que quan diem una base de dades, és un sistema de bases de dades, és a dir un objecte que conté esquemes on cada esquema conté taules i cada taula registres.

Ah, i si no voleu tenir problemes, millor definir els noms de tots els objectes en caixa alta, així evitarem haver d’emprar les cometes a l’hora de qualificar-los, i evitar perdre el temps fins que te n’adones que el problema era aquest. Avisats esteu.

Literatura sobre IBM DB2 Express-C.

Per a poder gestionar còmodament la base de dades, en una màquina client amb les X activades instal·larem l’IBM Data Studio, una perspectiva d’eclipse per a la gestió de qualsevol de les DB2 existents al mercat. Descarreguem el full client des del DownloadDirector d’IBM.

que executarem amb la instrucció

/opt/IBM/DS3.1/eclipse

IBM-2Blogo-2Bvintage

En aquesta sèrie de posts explicaré com instal·lar una màquina blava, una particular manera de celebrar el centenari d’IBM, amb l’IBM HTTP Server, IBM DB2 i PHP 5.4 en un Ubuntu Server 10.04 LTS de 64 bits.

D’ençà la versió 6.0 de l’IHS (IBM Http Server) aquest producte només s’instal·la amb el WAS (WebSphere
Application Server). Per a fer-ho des del servei de paqueteria d’ubuntu, editarem l’arxiu /etc/apt/sources.list i descomentarem els reposioris partner :

deb http://archive.canonical.com/ubuntu lucid partner

I actualitzem:
sudo apt-get update


Procedim a instal·lar el paqet WAS CE Community Edition, d’utilització lliure de pagament i més lleguer.

sudo apt-get install wasce-server

I bé, ja el tenim instal·lat, comprovem l’status del servidor
sudo /etc/init.d/wasce-server status
* Websphere CE is running

Però no el veiem operatiu!
Executant el que fa l’start de wasce-server des de root, veiem que es triga prop de quatre minuts en arrencar, en una màquina amb dos processadors i 4GB de RAM, així que és questió d’esperar-se fins accedir al WebSphere Application Server Community Edition pel port 8090 i accedir a la cònsola administrativa.

Usuari: system
Contrasenya: manager

No cal dir que s’ha de canviar anant al menú Security/Users and Groups.
Boababs.petit_.princep

Si mai hem d’analitzar l’ocupació d’un disc, per a mostrar l’ocupació de les carpetes i subcarpetes, emprarem la comanda

sudo du --max-depth=1 -x /

Però si estem en un entorn gràfic, podem emprar la comanda baobab que fa el mateix que du, però amb capacitat de drill-down i molt còmoda d’emprar, tenim l’aplicació baobab, que pertany al paquet gnome-utils.