hadoop安装以及Java API操作hdfs
因為工作需求,需要我這邊實現一個大文件上傳到HDFS的功能,因為本機無法連接公司內網的集群,無奈只好自己動手搭建一個單節點的Hadoop來滿足工作的需求。下面簡單介紹下安裝過程中遇到的坑
我的機器是阿里云的最低配
安裝文件:hadoop-2.6.0.tar.gz
安裝過程也不贅述,請參考:http://www.powerxing.com/install-hadoop-in-centos/
按部就班的安裝完成之后,執行以下命令:
cd /usr/local/hadoop/sbin
sh start-all.sh
jps
一個都不能少
我第一次安裝的時候發現DataNode節點沒有起來,查看日志報錯如下
主要是namenode的clusterID 和datanode 的clusterID 不一致導致
解決方法:
cd /tmp/hadoop-hadoop/dfs/data/current
vi VERSION
將datanode 的clusterID更改為 namenode的clusterID 保存退出 重啟即可
解決完這個問題之后,我在本機嘗試通過Java API連接 發現報錯 failed on connection exception
查了一下解決的方法,大致如下
首先 telnet serever port
我發現我無法telnet通hadoop服務的端口
然后就到hadoop 的/usr/local/hadoop/etc/hadoop/core-site.xml 下
將圖中的地址改為服務的外網地址 如此問題就得到解決了
?
在連接到hdfs之后, 沒有寫權限
執行命令 hadoop fs -chmod 777 /user/hadoop
后面的/user/hadoop這個路徑為HDFS中的文件路
之后問題解決
轉載于:https://www.cnblogs.com/nixiaocang/p/6493221.html
總結
以上是生活随笔為你收集整理的hadoop安装以及Java API操作hdfs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Union内存对齐
- 下一篇: Java:抽象类笔记