Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Permission Denied error while running start-dfs.sh

I am getting this error while performing start-dfs.sh

Starting namenodes on [localhost] 
pdsh@Gaurav: localhost: rcmd: socket: Permission denied 
Starting datanodes
pdsh@Gaurav: localhost: rcmd: socket: Permission denied
Starting secondary namenodes [Gaurav]
pdsh@Gaurav: Gaurav: rcmd: socket: Permission denied 2017-03-13 09:39:29,559 
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Using hadoop 3.0 alpha 2 version.

Any help is appreciated

like image 677
Gaurav A Dubey Avatar asked Mar 13 '17 04:03

Gaurav A Dubey


4 Answers

I also encountered the same thing, I did so I found that my pdsh default rcmd is rsh, not ssh, rsh and ssh remote login authentication is not the same, when installing hadoop I configured ssh localhost password-free login, but rsh is not possible.

so,try:

1.check your pdsh default rcmd rsh

pdsh -q -w localhost

See what your pdsh default rcmd is.

2.Modify pdsh's default rcmd to ssh

export PDSH_RCMD_TYPE=ssh

you can be added to ~/.bashrc, and source ~/.bashrc

3.sbin / start-dfs.sh

like image 145
int32 Avatar answered Nov 07 '22 01:11

int32


Uninstall pdsh will solve this problem. I am working with Hadoop version 3.2.1 on Ubuntu 18.04.4 LTS.

I test start-dfs.sh on several fresh-installed virtual machines and one old VM. The command failed only on the old VM. I have tried the high-voted answer, and found that only the old VM has pdsh installed. So I uninstall this software, and after that the command executed successfully.

So, if you did not install pdsh for some purpose, you can try to uninstall it.

like image 26
Gary Wang Avatar answered Nov 07 '22 02:11

Gary Wang


Try uninstalling pdsh

sudo apt-get remove pdsh

and then restart your hadoop by:

sudo start-dfs.sh

This is what worked for me.

like image 7
Nidhi Raniyer Avatar answered Nov 07 '22 03:11

Nidhi Raniyer


A sudo user could also change pdsh's Rcmd type to ssh via the command:

echo "ssh" | sudo tee /etc/pdsh/rcmd_default

like image 2
user15253056 Avatar answered Nov 07 '22 03:11

user15253056