Estoy tratando de instalar Hadoop en la versión Ubuntu 12.04. Siguiendo las instrucciones de
http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ , instalé java-6-openjdk
desde el centro de software de Ubuntu. Me he puesto java_home
en .bashrc
. También establecido java_home
en Hadoop conf/env.sh
. Al formatear el namenode, obtengo el siguiente error:
usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.
Gracias. Pero es un sistema operativo de 64 bits.
Respuestas:
Las guías que seguí cuando tenía 12.04 fueron:
De hecho, me opuse al MyLearning porque lo primero que recomendó fue Oracle Java 7 en lugar de OpenJDK 7, pero tuve algunos problemas con OpenJDK 7 al probar esto, así que tuve que ir con Oracle.
La guía es principalmente directa y aquí está:
Instalar Java
Crear usuario de Hadoop
Donde hduser es el usuario de Hadoop que desea tener.
Configurando SSH
Para asegurarse de que la instalación de SSH fue correcta, puede abrir una nueva terminal e intentar crear una sesión ssh con
hduser
el siguiente comando:reinstale ssh si localhost no se conecta (es posible que deba agregar
hduser
a sudo como se indica a continuación)Editar sudoers
Agregue al final la línea para agregar hduser en sudoers
Para guardar presione CTRL+ X, escriba Yy presioneENTER
Deshabilitar IPv6
o
Copie las siguientes líneas al final del archivo:
Si tiene problemas para decirle que no tiene permisos, simplemente ejecute el comando anterior con la cuenta raíz (en caso de que sudo no sea suficiente. Para mí lo fue)
Ahora reiniciar.
También puedes hacerlo
sudo sysctl -p
pero prefiero reiniciar.Después de reiniciar, verifique que IPv6 esté apagado:
debería decir 1 . Si dice 0 , te perdiste algo.
Instalando Hadoop
Hay varias formas de hacerlo, la que sugiere la Guía es descargar del sitio Apache Hadoop y descomprimir el archivo en su
hduser
carpeta de inicio. Cambie el nombre de la carpeta extraída ahadoop
.La otra forma es usar un PPA que fue probado para 12.04:
NOTA: El PPA puede funcionar para algunos y para otros no. La que intenté fue descargar del sitio oficial porque no sabía sobre el PPA.
Actualizar
$HOME/.bashrc
Deberá actualizar el
.bashrc
forhduser
(y para cada usuario que necesite administrar Hadoop). Para abrir el.bashrc
archivo, deberá abrirlo como root:o
Luego agregará las siguientes configuraciones al final del
.bashrc
archivoAhora, si tienes OpenJDK7, se vería así:
Aquí hay que tener cuidado con la carpeta donde reside Java con la versión AMD64. Si lo anterior no funciona, puede intentar buscar en esa carpeta en particular o configurar el Java que se utilizará con:
Ahora para algunos alias útiles:
Configurando Hadoop
Los siguientes son archivos de configuración que podemos usar para hacer la configuración adecuada. Algunos de los archivos que usará con Hadoop son (Más información en este sitio ):
start-dfs.sh
- Inicia los demonios Hadoop DFS, el nombre y los nodos de datos. Use esto antes de start-mapred.shstop-dfs.sh
- Detiene los demonios Hadoop DFS.start-mapred.sh
- Inicia el mapa de Hadoop / Reduce demonios, el rastreador de trabajos y los rastreadores de tareas.stop-mapred.sh
- Detiene el mapa de Hadoop / Reduce demonios.start-all.sh
- Inicia todos los demonios de Hadoop, el namenode, datanodes, el jobtracker y tasktrackers. Obsoleto; use start-dfs.sh y luego start-mapred.shstop-all.sh
- Detiene a todos los demonios de Hadoop. Obsoleto; use stop-mapred.sh y luego stop-dfs.shPero antes de comenzar a usarlos, necesitamos modificar varios archivos en la
/conf
carpeta.hadoop-env.sh
Busque el archivo
hadoop-env.sh
, solo necesitamos actualizar la variable JAVA_HOME en este archivo:o
o en las últimas versiones estará en
o
Luego cambie la siguiente línea:
A
Nota: si recibe un
Error: JAVA_HOME is not set
error al iniciar los servicios, olvidó descomentar la línea anterior (simplemente elimine #).core-site.xml
Ahora necesitamos crear un directorio temporal para el framework Hadoop. Si necesita este entorno para la prueba o un prototipo rápido (por ejemplo, desarrolle programas simples de hadoop para su prueba personal ...), le sugiero que cree esta carpeta en el
/home/hduser/
directorio, de lo contrario, debe crear esta carpeta en un lugar compartido en la carpeta compartida ( como / usr / local ...) pero puede enfrentar algunos problemas de seguridad. Pero para superar las excepciones que puede causar la seguridad (como java.io.IOException), he creado la carpeta tmp en el espacio del hduser.Para crear esta carpeta, escriba el siguiente comando:
Tenga en cuenta que si desea crear otro usuario administrador (por ejemplo, hduser2 en el grupo hadoop), debe otorgarle un permiso de lectura y escritura en esta carpeta con los siguientes comandos:
Ahora, podemos abrir
hadoop/conf/core-site.xml
para editar la entrada hadoop.tmp.dir. Podemos abrir el core-site.xml usando el editor de texto:o
Luego agregue las siguientes configuraciones entre
<configure>
elementos xml :Ahora edita
mapred-site.xml
Ahora edita
hdfs-site.xml
Formato NameNode
Ahora puede comenzar a trabajar en el nodo. Primer formato:
o
Debe formatear el NameNode en su HDFS. No debe realizar este paso cuando el sistema se esté ejecutando. Generalmente se realiza una vez la primera vez que realiza la instalación.
Inicio del clúster de Hadoop
Deberá navegar al directorio hadoop / bin y ejecutar el
./start-all.sh
script.Si tiene una versión diferente de la que se muestra en las guías (que probablemente tendrá si hace esto con el PPA o una versión más nueva), inténtelo de esta manera:
Esto iniciará un Namenode, Datanode, Jobtracker y un Tasktracker en su máquina.
Comprobando si Hadoop se está ejecutando
Hay una buena herramienta llamada
jps
. Puede usarlo para asegurarse de que todos los servicios estén activos. En su carpeta hadoop bin, escriba:Debería mostrarle todos los procesos relacionados con Hadoop.
NOTA: Dado que esto se realizó hace aproximadamente 6 meses para mí, si alguna parte no funciona, avíseme.
Hadoop usando Juju (Un encanto de Juju para Hadoop)
Tomado de Charming Hadoop
Asumiré que lo siguiente ya está configurado:
~/.juju/environments.yaml
con la información sobre el servidor que utilizará, incluido el origen de PPA.Ok, ahora sigue estos pasos para tener un servicio Hadoop ejecutándose:
Bootstrap el entorno para Hadoop
Espere hasta que termine y luego verifique si se está conectando correctamente:
Implementar Hadoop (maestro y esclavo)
Crear relaciones
Exponga Hadoop (dado que ya implementó y creó relaciones, el servicio debería estar ejecutándose)
Y verifique el estado para ver si funciona correctamente:
Hasta ahora tienes un Hadoop en ejecución. Hay muchas más cosas que puede hacer que se pueden encontrar en el enlace proporcionado o en el Juju Charm oficial para Hadoop
Para obtener los JuJu Charms actualizados (configuraciones, guía paso a paso y más) puede visitar: JuJu Charms y crear su propio entorno JuJu y ver cómo se configura cada archivo y cómo se conecta cada servicio.
fuente
hduser (ALL)=(ALL:ALL) ALL
lanza error de sintaxis ...hduser ALL=(ALL:ALL) ALL
, quite el primer par de paréntesis.bachrc
Espera a que Johann Sebastian escuche eso. Oh, espera, no puede ... porque es sordo. :-DInstalé con éxito Hadoop configurando la ruta de
JAVA_HOME
asusr/lib/jvm/java-6-openjdk-amd64
.fuente
Derivado de la respuesta de @Luis Alvarado , aquí está mi versión para Ubuntu 14.04 y Hadoop 2.5.1
En breve
hduser
hduser
partir de ahorahduser
a distancia a través de ssh con pass-frase-lessHecho. ¡Buena suerte!
Pasos detallados
Instalar Java
Descargar e instalar
Asegúrese de tener instalado Java7
deberíamos
java
señalar/usr/lib/jvm/java-7-oracle/jre/bin/java
Prepare un usuario ejecutivo para Hadoop
hduser
Crear usuario
hduser
en grupohadoop
Conceder
hduser
el privilegio de sudoEditar sudo
Agregue al final esta línea
Cambiar a
hduser
partir de ahoraPermitir
hduser
a distancia a través de ssh con pass-frase-lessInstalar openssh
Generar clave pública / privada RSA para conexión SSH; la frase de contraseña está vacía como
parameter -P ""
Asegúrese de que
hduser
puede ssh remoto localmente sin una contraseñaDeshabilitar IPv6
Edite el archivo de configuración
Copia hasta el final
Asegúrese de que IPv6 esté apagado mediante un reinicio o una llamada
Luego llame
Debería decir 1, que significa OK ^^
Descargue y configure el paquete Hadoop
Descargue los paquetes de Hadoop 2.5.1 del sitio Apache Hadoop
La URL directa para este paquete es este enlace
Así que vamos a descargar a
hduser
la carpeta de inicio de la página, extraerla y cambiarle el nombre ahadoop
Asegúrese de que tengamos Hadoop almacenado en
hduser
casaPrepare la ruta del sistema $ HADOOP_HOME y $ JAVA_HOME
Editar
hduser
el archivo .bashrcPoner al final los valores para
$HADOOP_HOME
y$JAVA_HOME
Agregue las
binary
carpetas de Hadoop al sistema$PATH
Abra una nueva terminal, inicie sesión como
hduser
y asegúrese de tener $ HADOOP_HOME con los comandos disponiblesDeberíamos ver la ruta completa de esos nombres.
Configurar los servicios de Hadoop
Cada componente en Hadoop se configura mediante un archivo XML.
Las propiedades comunes van en core-site.xml
Las propiedades de HDFS van en hdfs-site.xml
Las propiedades de MapReduce van en mapred-site.xml
Todos estos archivos están ubicados en la carpeta $ HADOOP_HOME / etc / hadoop
Defina, nuevamente, JAVA_HOME adentro
hadoop-env.sh
editando la líneaDefina Hadoop
temp folder
yfile system
nombre en core-site.xml enNecesitamos preparar esto
temp folder
como está configurado en/home/hduser/tmp
Definir
file system
'sblock replication
en hdfs-site.xmlDefinir
map-reduce job
en mapred-site.xmlFormato
name node
Iniciar el servicio de Hadoop
Llamada
estos dos comandos se encuentran en $ HADOOP_HOME / sbin que hemos agregado al sistema $ PATH antes.
Asegúrese de que los servicios de Hadoop se inicien correctamente
deberíamos ver
fuente
mapred-site.xml
no existe al principio. Debe ser creado porcp mapred-site.xml.template mapred-site.xml
Para poder instalar
sun-java
con elapt-get
comando, debe agregar una línea a un archivo llamadosources.list
. Este archivo se puede encontrar en/etc/apt/sources.list
.Abra el archivo con este comando:
Luego, al final de (abajo) de ese archivo, copie / pegue la línea:
Ahora presione Ctrl+ Xpara salir y ypara guardar.
Ahora escriba el comando:
Y cuando haya terminado, puede ejecutar con éxito el comando:
fuente
Para un tutorial más actualizado (no estoy seguro de las diferencias), mire los tutoriales en video de hadoop screencasts . Proporcionan video y los comandos reales para instalar debajo. Además, si le envía un correo electrónico al escritor, él estará encantado de responder y ayudarlo si se queda atascado con algo.
Estas instrucciones son muy similares a las que @Luis respondió.
fuente