Le système d’exploitation choisi est OSX mais la procédure n’est pas si différente pour tout environnement Unix car l’essentiel des logiciels sont téléchargés depuis Internet, décompressés et paramétrés manuellement. Seuls quelques paquets sont installés par Macport mais ceux-ci sont aisément trouvables sur des outils équivalents comme Apt et Yum. Etant donné que les logiciels téléchargés sont en Java, il ne devrait pas y avoir de soucis quand à leur fonctionnement dans d’autres environnements.
Cette environnement est configuré en mode pseudo-distribué afin de simuler au mieux le comportement d’un cluster si un poste unique. Dans ce mode, chaque processus Java tourne dans sa propre JVM.
La procédure couvre l’installation des logiciels suivant:
L’installation des logiciels depuis les dépôts SVN s’est confrontée à un problème d’incompatibilité entre Hive qui requière la dernière version stable de Hadoop (2.20.2) et celle de Sqoop qui requière la version SVN de Hadoop. Pour cette raison, nous avons opté pour les versions distribuées par Cloudera. Basées sur des versions stables, elles incluent un grand nombre des patches présents dans les dépôts SVN et sont testés par certains des meilleurs experts de la communauté.
Toutefois, certaines fonctionnalités ne sont pas encore présentes des la distribution, c’est pourquoi certains d’entre nous utilisent aussi des versions compilées depuis les dépôts SVN. Les logiciels en question sont HBase et Hive et leur installation manuelle n’est pas couverte ci-dessous.
Installation
La procédure décrite part du postulat que XCode et MacPort sont déjà présent sur le système.
La distribution de Cloudera est CDH3beta2 qui n’est pas la plus récente mais le mécanisme est le même à condition de se rendre sur le site de Cloudera et de télécharger les versions les plus récentes.
Dépendances MacPort
12
sudo port install wget p26-virtualenv libxml2 libxslt mysql5 mysql5-server sqlite mysql
easyinstall simplejson
Mise en place de SSH
12345678
# You need to able to ssh yourself with requiring a password# (using your public key)# Next line only if "~/.ssh/id_rsa.pub" does not existsssh-keygen -C "my@email.com" -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# you should now be able to issue "ssh localhost"# without entering your password
# Configure Hive# Edit ./conf/hive-default.xml# and modify the property 'javax.jdo.option.ConnectionURL'# to 'jdbc:derby:;databaseName=/opt/cloudera/data/hive/metastore_db;create=true'# Edit ./conf/hive-log4j.properties# and modify the property 'hive.log.file'# to '/opt/cloudera/data/hive/hive.log'# (SVN only) modify property 'hive.stats.dbconnectionstring'# to 'jdbc:derby:;databaseName=/opt/cloudera/data/hive_temp_stats;create=true'# For mysql,# modify 'javax.jdo.option.ConnectionURL'# to 'jdbc:mysql://127.0.0.1/hive?createDatabaseIfNotExist=true'# and 'javax.jdo.option.ConnectionDriverName'# to 'com.mysql.jdbc.Driver'# and 'javax.jdo.option.ConnectionUserName'# to 'your_username'# and 'javax.jdo.option.ConnectionPassword'# to 'your_password'# Configure Hue# Note: from memory, you might also need mysqlsudo port install py26-setuptools
ln -sf /opt/local/bin/mysql_config5 /opt/local/bin/mysql_config
cd hue-common-0.9
make apps
# EDIT $HUE_HOME/desktop/conf/hue.ini and# update the property "hadoop_home" from "/usr/lib/hadoop-0.20"# to "/opt/cloudera/hadoop-0.20.2+320"# Configure Hadoopcd$HADOOP_HOME/lib
ln -s $HUE_HOME/desktop/libs/hadoop/java-lib/hue-plugins-0.9.jar
mv hadoop-0.20.2+320/conf hadoop-0.20.2+320/conf.bck
cp -rp hue/example-hadoop-confs/conf.pseudo-hue hadoop-0.20.2+320/conf
# Edit the file $HADOOP_HOME/conf/core-site.xml and replace# the value "/var/lib/hadoop-0.20/cache/${user.name}" by# "/opt/cloudera/data/cache/${user.name}"# Edit the file $HADOOP_HOME/conf/hdfs-site.xml and replace# the value "/var/lib/hadoop-0.20/cache/hadoop/dfs/name" by# "/opt/cloudera/data/cache/${user.name}/dfs/name"hadoop namenode -format