Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

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

avatar
New Member

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.

.