我是Hadoop和HBase的初学者,我下载了一个关于HBase学习的示例项目,似乎使用MR将现有数据导入HBase。此示例将.txt数据文件放在HDFS上的此路径下:/user/root/uid_details.txt,单击“导入”按钮时,应将uid_details.txt中的数据导入HBase。
问题是,我不知道我的磁盘上/ user / root /的实际物理路径,所以我不知道uid_details.txt应放在我的磁盘上的哪个位置。我的core-site.xml和hdfs-site.xml: Screenshots of core-site.xml and hdfs-site.xml
答案 0 :(得分:2)
dfs.datanode.data.dir
中的hdfs-site.xml
配置会告诉您文件的实际位置(可以找到hdfs-site.xml
配置的详细说明here。
因此,在您的特定情况下,文件应位于/usr/local/hadoop_dfs/data
目录中。
答案 1 :(得分:1)
hadoop(hdfs)中的数据位于dfs.datanode.data.dir
的本地目录位置(存在于hdfs-site.xml
中)。但是这些数据将无法直接访问(即您可能无法访问该目录并查看它)。
hbase数据位于hbase.rootdir
中提到的HBASE根目录中。您可以在hbase-site.xml
。
答案 2 :(得分:0)
我猜你在本地虚拟机中运行了所有这些命令(已经安装了hadoop和hbase)。
尝试运行以下命令以找出hdfs目录的位置。
hdfs dfs -ls /
它应列出所有dirs,如果你想创建一些dirs,你也可以创建。
然后您可以相应地放置文件并开始导入过程。
请参阅以下链接以获取更多信息
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html
答案 3 :(得分:0)
您需要使用hdfs dfs / hadoop fs(或其他hdfs客户端)将文件放入dfs - 磁盘上HDFS块的位置无法帮助您将文件添加到HDFS文件系统 - 例如
hdfs dfs -put /path/to/uid_details.txt /user/root/uid_details.txt
或
hdfs dfs -put /path/to/uid_details.txt hdfs://namenodeaddress/user/root/uid_details.txt