【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
根据前文《HBase 源码-Start Server》启好 Server 后, 茫然了, 不知接下来该做什么, 随便 run 几个 TestCase 吧.
结果没 run 几个就报出以下错误, 而且这个引发这个错误的 TestCase 还很多.
2013-12-04 10:45:57,823 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect permission for /home/zf/src/EclipseWorkspace/hbase/hbase-server/target/test-data/06b243a4-b3d6-48a5-803a-a187b5b0efcf/dfscluster_cd8fe91f-a244-48f5-a411-f6108a0e8aba/dfs/data/data1, expected: rwxr-xr-x, while actual: rwxrwxr-x
2013-12-04 10:45:57,829 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect permission for /home/zf/src/EclipseWorkspace/hbase/hbase-server/target/test-data/06b243a4-b3d6-48a5-803a-a187b5b0efcf/dfscluster_cd8fe91f-a244-48f5-a411-f6108a0e8aba/dfs/data/data2, expected: rwxr-xr-x, while actual: rwxrwxr-x
2013-12-04 10:45:57,829 ERROR [main] datanode.DataNode(1713): All directories in dfs.data.dir are invalid.
错误提示说目录权限不对, 可是这些目录都是由代码自动创建的啊, 这样权限怎么会不对呢?
在笨狐狸的指导下, 看了《Linux命令之umask》, 估计应该是本机的 umask 没有设置正确.
在 Terminal 中输入 umask 查看本机的 umask, 果然为 0002, 而不是 0022. 按以下步骤修改 umask 为 0022, 问题解决.
(1). 在 Terminal 中输入以下命令
sudo vim ~/.profile
(2). 可以看到第 9 行就是需要设置的 umask, 只是被注释掉了, 将最前面的 # 删掉并保存即可.
(3). 注销用户, 重新登录. 可以看到 umask 变成了 0022.
环境
Ubuntu 12.04(64-bit) + Eclipse Standard Kepler SR1 + HBase 0.97.0-SNAPSHOT + JDK 1.7.0_45 + Maven 3.0.4
来源:oschina
链接:https://my.oschina.net/u/114296/blog/181500