1. Configurar ssh
Instale paquetes de software relacionados con ssh:
Copie el código de la siguiente manera: sudo apt-get install openssh-client openssh-server
Luego inicie/apague sshd usando uno de los dos comandos siguientes:
Copie el código de la siguiente manera: sudo /etc/init.d/ssh start|stop
servicio sudo ssh inicio|detener
Si sshd se inicia correctamente, podemos ver resultados similares a los siguientes:
Copie el código de la siguiente manera: $ ps -e |
2766 00:00:00 agente ssh
10558 00:00:00 sshd
En este momento, si ejecuta el siguiente comando ssh para iniciar sesión en la máquina, se le pedirá que ingrese una contraseña:
Copie el código de la siguiente manera: ssh localhost
Ahora todo lo que tenemos que hacer es que no requiera contraseña:
Copie el código de la siguiente manera: $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #Una clave SSH de contraseña vacía
$ gato ~/.ssh/id_rsa.pub >> ~/.ssh/claves_autorizadas
Eso es todo. Si aún no funciona, es posible que los permisos en el archivo clave estén configurados incorrectamente.
2. Configurar hadoop
Descomprima hadoop-1.2.1 en ~/ y cree el directorio hadoop-env en ~/. Continúe creando la siguiente estructura de directorios en hadoop-env:
├── dfs
│ ├── punto de control1
│ ├── datos1
│ ├── datos2
│ └── nombre1
└── prueba
└── entrada
Archivo de configuración hadoop-1.2.1/conf/core-site.xml:
Copie el código de código de la siguiente manera:
<?xml versión="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Coloque anulaciones de propiedades específicas del sitio en este archivo -->.
<configuración>
<propiedad>
<nombre>fs.default.nombre</nombre>
<valor>hdfs://localhost:9000</valor>
<final>verdadero</final>
</propiedad>
</configuración>
fs.default.name especifica la uri de HDFS. Si no se proporciona ningún puerto en el valor, el valor predeterminado es 8020.
Archivo de configuración hadoop-1.2.1/conf/hdfs-site.xml:
Copie el código de código de la siguiente manera:
<?xml versión="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Coloque anulaciones de propiedades específicas del sitio en este archivo -->.
<configuración>
<propiedad>
<nombre>dfs.nombre.dir</nombre>
<valor>~/hadoop-env/dfs/nombre1</valor>
<final>verdadero</final>
</propiedad>
<propiedad>
<nombre>dfs.data.dir</nombre>
<valor>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<final>verdadero</final>
</propiedad>
<propiedad>
<nombre>fs.checkpoint.dir</nombre>
<valor>~/hadoop-env/dfs/checkpoint1</valor>
<final>verdadero</final>
</propiedad>
</configuración>
dfs.name.dir especifica el directorio donde el nodo de datos almacena los metadatos. Se pueden especificar varios directorios. Estos directorios deben estar separados por comas; dfs.data.dir especifica el directorio donde el nodo de datos almacena los datos. checkpoint.dir especifica el directorio donde el nodo de nombre auxiliar almacena los puntos de control.
Archivo de configuración hadoop-1.2.1/conf/mapred-site.xml:
Copie el código de código de la siguiente manera:
<?xml versión="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Coloque anulaciones de propiedades específicas del sitio en este archivo -->.
<configuración>
<propiedad>
<nombre>mapred.job.tracker</nombre>
<valor>localhost:9001</valor>
<final>verdadero</final>
</propiedad>
</configuración>
3. Prueba
Primer formato HDFS:
Copie el código de la siguiente manera: ./hadoop-1.2.1/bin/hadoop namenode -format
Inicie los procesos HDFS y MapReduce:
Copie el código de código de la siguiente manera:
$ ./hadoop-1.2.1/bin/start-dfs.sh
$ ./hadoop-1.2.1/bin/start-mapred.sh
Si se informa un error durante el inicio, como localhost: Error: JAVA_HOME no está configurado, debe exportar JAVA_HOME en el archivo ./hadoop-1.2.1/conf/hadoop-env.sh, por ejemplo:
exportar JAVA_HOME=~/jdk1.7.0_25
Cómo comprobar si se inició correctamente: el primer método es utilizar el comando jps (Herramienta de estado del proceso de la máquina virtual Java). Debería obtener un resultado similar al siguiente:
Copie el código de código de la siguiente manera:
$ jps
13592 Nodo de datos
13728 Nodo de nombre secundario
13837 Rastreador de trabajos
12864 Nodo de nombre
13955 Rastreador de tareas
16069Jps
El segundo método es iniciar sesión en el navegador en http://localhost:50030 para ver el rastreador de trabajos y http://localhost:50070 para ver el nodo de nombre. Si está utilizando software de elusión, es posible que reciba un error al acceder. La solución más sencilla es desactivar el software de elusión. Otra forma es ver el archivo de registro.
Ahora creamos dos archivos en el directorio ~/hadoop-env/test/input:
Copie el código de código de la siguiente manera:
$ echo "hola mundo" > test1.txt
$ echo "hola, mundo" > test2.txt
Importe estos dos archivos a HDFS:
Copie el código de código de la siguiente manera:
./hadoop-1.2.1/bin/hadoop dfs -put hadoop-env/test/input/output/
Controlar:
Copie el código de código de la siguiente manera:
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /
Encontré 2 artículos
drwxr-xr-x - supergrupo de usuarios 0 2013-10-22 22:07 /prueba
drwxr-xr-x - supergrupo de usuarios 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /prueba
Encontré 2 artículos
-rw-r--r-- 3 supergrupo de usuarios 12 2013-10-22 22:07 /test/test1.txt
-rw-r--r-- 3 supergrupo de usuarios 9 2013-10-22 22:07 /test/test2.txt
Bien, la configuración está completa.
Nota: El sistema utilizado en este artículo es Linux Mint 15 de 64 bits y Hadoop usa la versión 1.2.1.