Hi Charles,

>From log it looks like that DataNode process don't have permissions to
write to "/usr/lib/hadoop" dir. Can you check permissions on "
/usr/lib/hadoop" for user under  which DataNode process is started.
(probably hdfs user but not sure).

Cheers
Samir

On Tue, Sep 16, 2014 at 2:40 PM, Charles Robertson <
charles.robert...@gmail.com> wrote:

> I've found this in the logs:
>
> 014-09-16 11:00:31,287 INFO  datanode.DataNode
> (SignalLogger.java:register(91)) - registered UNIX signal handlers for
> [TERM, HUP, INT]
> 2014-09-16 11:00:31,521 WARN  common.Util (Util.java:stringAsURI(56)) -
> Path /hadoop/hdfs/data should be specified as a URI in configuration files.
> Please update hdfs configuration.
> 2014-09-16 11:00:31,523 WARN  common.Util (Util.java:stringAsURI(56)) -
> Path  should be specified as a URI in configuration files. Please update
> hdfs configuration.
> 2014-09-16 11:00:31,523 WARN  common.Util (Util.java:stringAsURI(56)) -
> Path /data/hdfs should be specified as a URI in configuration files. Please
> update hdfs configuration.
> 2014-09-16 11:00:32,277 WARN  datanode.DataNode
> (DataNode.java:checkStorageLocations(1941)) - Invalid dfs.datanode.data.dir
> /usr/lib/hadoop :
> EPERM: Operation not permitted
> at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmodImpl(Native Method)
> at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmod(NativeIO.java:226)
> at
> org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:629)
> at
> org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:467)
> at
> org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:126)
> at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:142)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode$DataNodeDiskChecker.checkDir(DataNode.java:1896)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode.checkStorageLocations(DataNode.java:1938)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1920)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1812)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1859)
> at
> org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2035)
> at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2059)
>
> /hadoop/hdfs/data is the original default value. /data/hdfs is the the
> path I have added. All the documentation says it can be a comma-delimited
> list of paths but this log is complaining it's not a URI? When it's
> /hadoop/hdfs/data on its own it starts fine...?
>
> Regards,
> Charles
>
> On 16 September 2014 12:08, Charles Robertson <charles.robert...@gmail.com
> > wrote:
>
>> Hi Susheel,
>>
>> Tried that - same result. DataNode still not starting.
>>
>> Thanks,
>> Charles
>>
>> On 16 September 2014 11:49, Susheel Kumar Gadalay <skgada...@gmail.com>
>> wrote:
>>
>>> The VERSION file has to be same across all the data nodes directories.
>>>
>>> So I suggested to copy it as it is using OS command and start data node.
>>>
>>> On 9/16/14, Charles Robertson <charles.robert...@gmail.com> wrote:
>>> > Hi Susheel,
>>> >
>>> > Thanks for the reply. I'm not entirely sure what you mean.
>>> >
>>> > When I created the new directory on the new volume I simply created an
>>> > empty directory. I see from the existing data node directory that it
>>> has a
>>> > sub-directory called current containing a file called VERSION.
>>> >
>>> > Your advice is to create the 'current' sub-directory and copy the
>>> VERSION
>>> > file across to it without changes? I see it has various guids, and so
>>> I'm
>>> > worried about it clashing with the VERSION file in the other data
>>> > directory.
>>> >
>>> > Thanks,
>>> > Charles
>>> >
>>> > On 16 September 2014 10:57, Susheel Kumar Gadalay <skgada...@gmail.com
>>> >
>>> > wrote:
>>> >
>>> >> Is it something to do current/VERSION file in data node directory.
>>> >>
>>> >> Just copy from the existing directory and start.
>>> >>
>>> >> On 9/16/14, Charles Robertson <charles.robert...@gmail.com> wrote:
>>> >> > Hi all,
>>> >> >
>>> >> > I am running out of space on a data node, so added a new volume to
>>> the
>>> >> > host, mounted it and made sure the permissions were set OK. Then I
>>> >> updated
>>> >> > the 'DataNode Directories' property in Ambari to include the new
>>> path
>>> >> > (comma separated, i.e. '/hadoop/hdfs/data,/data/hdfs'). Next I
>>> >> > restarted
>>> >> > the components with stale configs for that host, but the DataNode
>>> >> wouldn't
>>> >> > come back up, reporting 'connection refused'. When I remove the new
>>> >> > data
>>> >> > directory path from the property and restart, it starts fine.
>>> >> >
>>> >> > What am I doing wrong?
>>> >> >
>>> >> > Thanks,
>>> >> > Charles
>>> >> >
>>> >>
>>> >
>>>
>>
>>
>

Reply via email to