Todos mis archivos de configuración de Hadoop se encuentran en lo siguiente:
./.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
Para configurar mi variable HADOOP_HOME, ¿uso la notación de puntos o ~?
HADOOP_HOME = "./.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
o
HADOOP_HOME = " ~/.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
Respuesta1
En primer lugar, las asignaciones de shell nonodeje un espacio antes o después del signo igual. Ambas sugerencias intentarían ejecutar un comando llamado literalmente HADOOP_HOME
.
La relativa no es una buena idea: las rutas relativas son relativas al directorio de trabajo actual, no a su directorio de inicio. Entonces, si te ha cd
gustado ~/Documents
, entonces eso significaría ~/Documents/.linuxbrew/…
. Para nada lo que quieres.
El segundo tampoco funciona debido a cómo funcionan las citas. La expansión ~
es algo que se espera que haga el shell; generalmente no debería convertirse en una variable de entorno. Pero al citarlo, has impedido esa expansión. Debe dejar el ~/
bit fuera de las comillas o usar un uso alternativo $HOME
(que se expandirá entre comillas dobles. Por lo tanto, cualquiera de estas debería funcionar (al menos si $HOME
está configurado en su directorio de inicio, que casi siempre es así):
HADOOP_HOME="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
HADOOP_HOME=~/".linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
Personalmente, el primero me parece más fácil de leer. Existe una tercera opción: en realidad no necesita ninguna cita aquí; no hay caracteres especiales en el nombre. Así que esto también está bien (y es perfectamente legible):
HADOOP_HOME=~/.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/
Recuerde exportar la variable también ( export HADOOP_HOME
).