Erro com o comando yarn.sh

2

Há um erro ao iniciar o comando yarn.sh . Esta é a saída de erro:

$ start-yarn.sh
starting yarn daemons
mkdir: cannot create directory '/logs': Permission denied
chown: cannot access '/logs': No such file or directory
starting resourcemanager, logging to /logs/yarn-hduser-resourcemanager-ubuntu.out
/usr/local/hadoop/sbin/yarn-daemon.sh: line 124: /logs/yarn-hduser-resourcemanager-ubuntu.out: No such file or directory
head: cannot open '/logs/yarn-hduser-resourcemanager-ubuntu.out' for reading: No such file or directory
/usr/local/hadoop/sbin/yarn-daemon.sh: line 129: /logs/yarn-hduser-resourcemanager-ubuntu.out: No such file or directory
/usr/local/hadoop/sbin/yarn-daemon.sh: line 130: /logs/yarn-hduser-resourcemanager-ubuntu.out: No such file or directory
localhost: mkdir: cannot create directory '/logs': Permission denied
localhost: chown: cannot access '/logs': No such file or directory
localhost: starting nodemanager, logging to /logs/yarn-hduser-nodemanager-ubuntu.out
localhost: /usr/local/hadoop/sbin/yarn-daemon.sh: line 124: /logs/yarn-hduser-nodemanager-ubuntu.out: No such file or directory
localhost: head: cannot open '/logs/yarn-hduser-nodemanager-ubuntu.out' for reading: No such file or directory
localhost: /usr/local/hadoop/sbin/yarn-daemon.sh: line 129: /logs/yarn-hduser-nodemanager-ubuntu.out: No such file or directory
localhost: /usr/local/hadoop/sbin/yarn-daemon.sh: line 130: /logs/yarn-hduser-nodemanager-ubuntu.out: No such file or directory
    
por Sanchit Sheode 19.04.2015 / 12:36

1 resposta

2

O script está tentando criar um diretório chamado /logs e está falhando porque o usuário não tem o direito de criar esse diretório. A solução mais fácil seria executar o script com sudo :

sudo start-yarn.sh

Observe, no entanto, que os scripts não têm negócios criando diretórios em / . O que esse script faz? Por que precisaria criar /logs ? Há provavelmente uma variável que você precisa definir no script. Poste o script aqui ou procure por uma linha com algo como:

PREFIX=""

Isso, ou algo semelhante, provavelmente está presente no seu script e permitirá que você defina o diretório base no qual ele estará trabalhando. Defina isso como algo parecido com ~/yarn/ . Você realmente não quer criar diretórios randômicos em / e, se esse script realmente estiver fazendo isso, eu chegaria a considerá-lo um erro.

    
por terdon 19.04.2015 / 12:53