Spark集群搭建中的问题
參照《Spark實戰高手之路》學習的,書籍電子版在51CTO網站 資料鏈接
Hadoop下載[鏈接](http://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/) JDK下載[鏈接](http://www.oracle.com/technetwork/java/javase/downloads/index.html)1.安裝好vmvare和Ubuntu虛擬機后,不能使用vim,出現Package has no installation candidate的問題。
解決方法:apt-get upgrade — apt-get install vim 有時候也要看看是否聯網。
2.設置共享文件夾,參考別人的經驗,安裝vmware-tools 以及 設置共享文件夾
(1)在虛擬機系統沒有運行的情況下,點擊虛擬機工具欄的VM settings->options->Shared Folders,按照提示添加一個你要共享的windows下的文件夾。
(2)安裝vmtools,vmtools安裝成功后會看到目錄/mnt/hgfs.如果沒有該目錄則可以手動建立
(3)ubuntu終端下運行 sudo apt-get install open-vm-dkms
(4)進入目錄:/etc/init.d,把”sudo mount -t vmhgfs .host:/ /mnt/hgfs”寫到open-vm-tools文件的最后一行(需要root權限,可以用命令:sudo vi open-vm-tools)。
(5)在當前目錄:/etc/init.d/運行,”sudo ./open-vm-tools restart”,運行成功后你會在目錄:/mnt/hgfs下面看到你共享的文件夾
查看VMware tools 有沒有安裝成功,使用命令 lsmod 查看有沒有vmhgfs這個,如果沒有則重新安裝。這個共享文件夾沒有成功,后面有時間再說吧。
3.Hadoop啟動與停止
start-all.sh: 啟動所有的Hadoop守護進程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack 。
start-dfs.sh: 啟動Hadoop HDFS守護進程NameNode SecondaryNameNode和DataNode。
hadoop-daemons.sh: start namenode 單獨啟動NameNode守護進程。
hadoop-daemons.sh: start datanode 單獨啟動DataNode守護進程
hadoop-daemons.sh: stop secondarynamenode 單獨停止SecondaryNameNode守護進程。
stop-mapred.sh: 停止Hadoop MapReduce守護進程JobTracker和TaskTracker。
hadoop-daemons.sh: stop jobtracker 單獨停止JobTracker守護進程
hadoop-daemons.sh: stop tasktracker 單獨啟動TaskTracker守護進程。
如果Hadoop集群是第一次啟動,可以用start-all.sh。比較常用的啟動方式是一個一個守護進程來啟動,啟動的步驟如下。
1.啟動Hadoop的HDFS模塊里的守護進程HDFS里面的守護進程啟動也有順序,即:
1)啟動NameNode守護進程;> 2)啟動DataNode守護進程; 3)啟動SecondaryNameNode守護進程。
2.啟動MapReduce模塊里面的守護進程MapReduce的守護進程啟動也是有順序的,即:
1)啟動 JobTracker守護進程; 2)啟動TaskTracker守護進程。> 關閉的步驟正好相反,在這里就不描述了,讀者可以自己試一下。
注意正常情況下,我們是不使用start-all.sh和stop-all.sh來啟動和停止Hadoop集群的。這樣出錯了不好找原因。建議讀者一個一個守護進程來啟動,哪個啟動失敗就去看相應的log日志,這樣就縮小了找錯的范圍。
4.Hadoop啟動的時候遇到的錯誤,基本安裝完后通過命令“jps”查看,但是只啟動了jps,其他都不能正常啟動,查看對應的log日志文件(vim查看),一個錯誤原因是配置文件寫錯了,改過后可以正常啟動jobtracker、tasktracker;另一個原因就是目錄訪問權限不一致;
報錯:
ERROR:org.apache.hadoop.hdfs.server.datanode.DataNode:All directories in dfs.data.dir are invalid warn。
WARN :org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /home/hadoop/dfs/data, expected: rwxr-xr-x, while actual: rwxrwxrwx。
使用命令修改目錄訪問權限。需要將777權限改為755權限才行。
可以參考博客。
5. namenode日志文件中出現
需要刪除core-site.xml配置文件中配置的tmp目錄下的所有的文件,停止Hadoop,再重新格式化命名,啟動Hadoop。
進入Hadoop目錄,運行以下程序:
6.搭建Spark時,啟動錯誤:
Failed to find Spark assembly in /usr/lib/spark/spark-1.6.1/assembly/target/scala-2.10錯誤原因是spark包下錯了,應該下載prebuild包,Choose a package type 可以選擇啊~~~
7.啟動Spark后,開啟spark-shell,出現錯誤:
需要修改訪問/tmp文件權限
hadoop fs -chmod -R 777 /tmphadoop fs -ls /tmp
以上完成Spark集群搭建過程,后面每次開機使用,需要先啟動Hadoop集群,再啟動Spark集群。
--格式化hadoop namenode -format--啟動Hadoopstart-all.sh--使用jps查看是否啟動成功,成功,再啟動Spark,進入到spark的sbin目錄./start-all.sh如果hadoop啟動失敗,可查看日志文件判別錯誤,一般都是因為每次使用“hadoop namenode -format”命令格式化文件系統時會出現一個新的namenodeId,搭建平臺時自己往tmp中放了數據,所以需要刪除,以防沖突,進入Hadoop文件所在目錄(hadoop1.2.1目錄)
執行:
重新格式化,啟動。檢測是否成功參考資料中的第一章,第三步。
轉載于:https://www.cnblogs.com/yiruparadise/p/5502870.html
總結
以上是生活随笔為你收集整理的Spark集群搭建中的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一节课作业
- 下一篇: html5 如何实现客户端验证上传文件的