Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Can't start a datanode on the server with the regionserver installed

avatar
New Contributor

We have installed a datanode with regionserver on one server. The datanode does not start with the following error:

java.io.IOException:
the path component: '/var' is world-writable.Its permissions are 0777.Please
fix this or select a different socket path

and each time before running datanode on each datanode you have to execute the command:

chmod 750 /var

The analysis of logs showed that the permissions on folder /var are changed when start regionserver

a fragment of the regionserver log:


2017-10-24 15:04:22,833 - Directory['/tmp'] {'create_parents': True, 'mode': 0777}
2017-10-24 15:04:22,834 - Directory['/var'] {'create_parents': True, 'cd_access': 'a'}
2017-10-24 15:04:22,834 - Execute[('chmod', '1777', u'/var')] {'sudo': True}
2017-10-24 15:04:22,839 - XmlConfig['hbase-site.xml'] {'owner': 'hbase', 'group':'hadoop', 'conf_dir': '/usr/hdp/current/hbase-regionserver/conf','configuration_attributes': {}, 'configurations': ...}

How can I fix this?

1 ACCEPTED SOLUTION

avatar
Master Mentor

@Yuri Kh.

Can you please check what is the "hbase.tmp.dir" set to?

Is your hbase temp directory is set to "/var/hbase-${user.name}" means insie the "/var" ? If Yes, then please *Do Not Use* the "/var/" as parent directory for hbase temp.


May be you can use some other directory under "/var/" like /var/hbase-tmp/hbase-${user.name} so that /var/ permissions are not altered. The parent directory for hbase temp should have 1777 to allow creating user specific directories under hbase tmp.

.

View solution in original post

1 REPLY 1

avatar
Master Mentor

@Yuri Kh.

Can you please check what is the "hbase.tmp.dir" set to?

Is your hbase temp directory is set to "/var/hbase-${user.name}" means insie the "/var" ? If Yes, then please *Do Not Use* the "/var/" as parent directory for hbase temp.


May be you can use some other directory under "/var/" like /var/hbase-tmp/hbase-${user.name} so that /var/ permissions are not altered. The parent directory for hbase temp should have 1777 to allow creating user specific directories under hbase tmp.

.