quarta-feira, 10 de dezembro de 2014

Instalação Cassandra no Linux CentOS


Baixar a versão mais nova do Cassandra


Neste momento a versão mais nova é:
http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.0.2/apache-cassandra-2.0.2-bin.tar.gz

Comandos:

$ wget http://ftp.unicamp.br/pub/apache/cassandra/2.0.2/apache-cassandra-2.0.2-bin.tar.gz
$ tar -zxvf apache-cassandra-2.0.2-bin.tar.gz
$ sudo cp -r apache-cassandra-2.0.2 /usr/local
$ cd /usr/local/apache-cassandra-2.0.2/config

Abrir arquivo:

$ vim cassandra.yaml

verificar diretórios das variáveis dentro do arquivo:

-data_file_directories
-commitlog_directory
-saved_caches_directory

Criar então os diretórios correspondentes:

$ sudo mkdir -p /var/lib/cassandra/data
$ sudo mkdir -p /var/lib/cassandra/commitlog
$ sudo mkdir -p /var/lib/cassandra/saved_caches
$ sudo mkdir -p /var/log/cassandra

Dar as permissões para o usuário:

usuário atual:
$ sudo chown -R $USER:$GROUP /var/lib/cassandra
$ sudo chown -R $USER:$GROUP /var/log/cassandra

ou usuário específico:
$ sudo chown -R userx:user-groupx /var/log/cassandra/
$ sudo chown -R userx:user-groupx /var/lib/cassandra/

Para que o Cassandra aceite conexões de outros computadores modifique o arquivo:
/usr/local/apache-cassandra-2.0.2/conf/cassandra.yaml na variável rpc_address mudar de localhost para 0.0.0.0

Inicia ao cassandra em Foreground (para testarmos)
$ /usr/local/apache-cassandra-2.0.2/bin/cassandra -f

Inicia ao cassandra em Background
$ /usr/local/apache-cassandra-2.0.2/bin/cassandra

Para matar o processo:

$ pkill -f CassandraDaemon

Instalando e configurando PIP e PyCassa do Python


O python já está instalado no Linux. No caso do Cent OS provavelmente o PIP não estará instalado.

Para instalar execute:

$ easy_install pip

Na máquina de desenvolvimento (Windows) instalar primeiramente o Python 2.7 - Atenção para a versão
(Download e intalar http://www.python.org/getit/)

Abrir o CMD e executar

$ python --version

Se não encontrar o python.exe então deverá adiciona-lo no path do windows o caminho geralmente é
C:\Python27\

Depois disso, basta instalar o Setuptools e o PIP. Links abaixo:

Setuptools
http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools

PIP
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip

Adicionar o caminho abaixo no path do Windows:
C:\Python27\Scripts

Configurar proxy para utilizar o PIP como instalador:

Caso esteja em uma empresa/lugar onde seja necessário configurar o proxy, execute o comando abaixo no Prompt do DOS trocando pelos dados corretos de configuração do proxy usuário e senha:

set HTTP_PROXY=http://username:password@proxyserver.domain.com
set HTTPS_PROXY=https://username:password@proxyserver.domain.com

Ou ainda,

set HTTP_PROXY=http://SeuUsuário:suaSenha@EndereçoIp:Porta
set HTTPS_PROXY=https://SeuUsuário:suaSenha@EndereçoIp:Porta

Intalar o PyCassa


$ pip install pycassa


Links adicionais:

Mais detalhes em:
http://pycassa.github.io/pycassa/installation.html

Exemplos de como utilizar o PyCassa
http://pycassa.github.io/pycassa/tutorial.html

Instalação Hadoop e Mahout no Linux CentOS

Baixar a versão mais nova do Hadoop


http://ftp.unicamp.br/pub/apache/hadoop/common/
Neste momento a versão mais nova está no link: http://ftp.unicamp.br/pub/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

Comandos:

$ wget http://ftp.unicamp.br/pub/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
$ tar -zxvf hadoop-1.2.1.tar.gz
$ sudo cp -r hadoop-1.2.1/ /usr/local

Instalar o Java SDK


No Linux CentOS podemos usar o yum. Na versão atual do Java SDK o

Comandos: 

$ yum install java-1.7.0-openjdk-devel
ou
$ yum install java-devel

Baixar a versão mais nova do Mahout

http://ftp.unicamp.br/pub/apache/mahout/
Neste momento: http://ftp.unicamp.br/pub/apache/mahout/0.8/mahout-distribution-0.8.tar.gz

Comandos:

$ wget http://ftp.unicamp.br/pub/apache/mahout/0.8/mahout-distribution-0.8.tar.gz
$ tar -zxvf mahout-distribution-0.8.tar.gz
$ sudo cp -r mahout-distribution-0.8/ /usr/local

Adicionar as linhas abaixo no Arquivo ~/.bachrc:

export HADOOP_PREFIX=/usr/local/hadoop-1.2.1
export PATH=$PATH:$HADOOP_PREFIX/bin
export MAHOUT_HOME=/usr/local/mahout-distribution-0.8
export PATH=$PATH:$MAHOUT_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.6.0

Configurando o ssh para conexão de um servidor no outro sem pedir a senha:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Configurando o Cluster

No master:
/etc/hosts adicionar:
192.168.0.123  master
192.168.0.131  slave1
192.168.0.132  slave2

$HADOOP_HOME/conf/master adicionar:
master

$HADOOP_HOME/conf/slaves adicionar:
master
slave1

Em todas as máquinas:

conf/core-site.xml

<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
<description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.</description>
</property>

conf/mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>master:54311</value>
<description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task.
</description>
</property>

conf/hdfs-site.xml

Atenção: <value>2</value> abaixo refere-se a quantidade de nós disponíveis.

<property>
<name>dfs.replication</name>
<value>2</value>
<description>
Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.
</description>
</property>

Logo depois executar

Comando:

$ start-all.sh

Links:

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
http://www.higherpass.com/linux/Tutorials/Installing-And-Using-Hadoop/1/
http://wiki.apache.org/hadoop/PoweredBy