1. 程式人生 > >Giraph 1.0叢集環境配置

Giraph 1.0叢集環境配置

環境說明 以下配置過程在實驗室叢集,深圳叢集,騰訊雲集群上均測試成功,系統包括CentOS,Ubuntu Hadoop-1.0.2 Giraph-1.0.0 Jdk1.7 下面詳細敘述一下在實驗室叢集上面配置的細節 系統環境 Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial 安裝的是Ubuntu Server的版本,系統是64位的 相關引數 三臺小伺服器的IP地址 這是我本地的hosts, master也就是hadoop叢集的master的機器 192.168.1.100 lab-master 192.168.1.103 lab-slave1 192.168.1.104 lab-slave2 三臺機器對應的hostname 分別為 user-wjl user-wjl1 user-wjl2 三臺機器上分別都建立了對應的使用者 也就是說如果想要測試Giraph的程式碼,可以將自己的電腦連如區域網(可能需要你自己去給伺服器開機,平時我應該會關掉),然後可以用ssh的方式在你的電腦上進行操作,注意需要連如區域網 輸入passwd 即可
配置流程 注意 以下敘述可能過於繁瑣,預設閱讀者之前一點也不瞭解相關資訊,所以可以有選擇的看,但是儘可能對照一下每一處細節,一點小的不同可能導致很多問題(別問我是怎麼知道的TAT) 1. JDK的安裝 注意,千萬不要OpenJDK 在終端輸入 java -version 會顯示你的JDK相應的版本,以下版本是經過測試可以使用的 java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) 注意JDK 1.7是可以跑的,JDK 1.8忘記是不是可以的,JDK1.6也是可以跑的, 但最好和上述版本一致,並且一定要是SE的 特別地,該JDK可以在上網提到的網盤的工具包中得到,名字為jdk-7u79-linux-x86-1126.tar.gz
安裝好JDK後,還要配置環境變數,可以自行Google,下文也會提到,到時候和Hadoop的環境變數一起說明 簡單的提一句 首先對於每個使用者,配置在該使用者下的JDK的環境變數,有的大伺服器上可能會有多個使用者,支援每個使用者用不同版本的JDK,這樣可以只更改本使用者的JDK版本,而協調JDK版本可能會比較複雜,這裡不再贅述,在實驗室小叢集上面,JDK版本是一致的,那麼需要改兩個地方的環境變數 本使用者下要改 vim ~/.bashrc export JAVA_HOME=/usr/local/jdk1.7 然後source ~/.bashrc 讓其立即生效 更改所有使用者的JDK 需要在 /etc/profile中新增環境變數 vim /etc/profile export JAVA_HOME=/usr/local/jdk1.7 注意這裡的JAVA_HOME後面的路徑是你自己存放JDK的路徑 2. 設定專用賬戶
hadoop會利用使用者名稱來配置目錄結構,為了配置方便最好保證每臺機子上都有一個給hadoop使用的賬戶,且名字相同(如果每臺機子賬戶不同,需要做很多多餘的配置)。 3. 新增使用者與使用者組 sudo addgroup hd #新增使用者組的操作 sudo adduser --ingroup hd hadoop #新增使用者到某使用者組的操作 4. 新增 sudo 許可權 通過 $ sudo visudo 開啟etc/sudoers為新新增的使用者新增sudo許可權。 找到 # User privilege specificationroot ALL=(ALL:ALL) ALL 在下面加上 user-wjl ALL=(ALL:ALL) ALL 就能讓user-wjl這個使用者擁有sudo的許可權。其他使用者名稱類推。 注意這個檔案只能用visudo開啟,且絕對不能修改其許可權。 5. 切換使用者 使用者許可權問題在Hadoop許可權配置中算是一個比較麻煩的問題,所以最好都在一個使用者下面進行,而不是像官方教程一樣 su user-wjl 表示切換到user-wjl該使用者 6. 配置 host 與打通連線 修改 /etc/hostname 首先注意這一步不是必須的 只是如果想看自己的hostname可以用 $ hostname 可以通過命令 $ hostname user-wjl1 來更改自己的hostname 預設的hostname是機器的名字 ubuntu 修改 /etc/hosts 注意!!!!這裡很重要,之前除錯了很久的bug就是這裡的問題 $ sudo vim /etc/hosts 第一行如果是 127.0.0.1 localhost 最好保留。如果這裡的127.0.0.1後跟著的是其他東西,最好改成localhost ubuntu下建議將默認出現在第二行的 127.0.1.1 xxxx` 改成 實際本機ip xxxx 其中xxxx指本機的hostname,可根據上一步驟改成的hostname對應修改 更好的做法是註釋掉127.0.1.1 localhost 詳情可以參見下圖,是成功配置的某臺機器上面的hosts 注意,這裡的127.0.1.1的問題很嚴重,詳情可以參考hadoop wiki的官網,之前遇到了一個bug除錯了很久 上面有對各種ConnectionRefused的各種除錯方法,如果後續hadoop任務或者Giraph任務沒有成功,可以參考該網站 Check that there isn't an entry for your hostname mapped to 127.0.0.1 or 127.0.1.1 in /etc/hosts (Ubuntu is notorious for this). 7. 檢查防火牆 如果開啟了防火牆,建議關閉或開啟需要聯通的埠。 ubuntu一般自帶的是ufw防火牆,如何檢視與關閉防火牆、配置特定埠請看 Ubuntu中文wiki上的文件 8. 關閉 ipv6 9. 檢查聯通狀況 為每臺機器設定好hosts檔案和hostname後,在每臺機器上ping其他機器即可。 如果機器比較多,可以寫個指令碼幫忙。同樣地,hosts檔案可以在一臺機器上配置好後複製到其他機器上,對涉及到127.0.1.1和自己的ip的部分稍作修改即可。 10. 配置無密碼 ssh 這裡的敘述可能過於繁瑣,可以自行google檢視配置叢集免密登入即可,理論上只需要master可以免密登入slave節點即可,slave節點不用互相免密登入,但是為了方便,我在這裡配置的是叢集的所有機器彼此之間免密登入,而且是預設機器一開始什麼相應環境都沒有
  1. 檢查 openssh-server
ubuntu下 $ sudo apt-get install openssh-server 即可。有則提示已經是最新版,沒有或版本太老則安裝或更新。 2. 修改配置與生效 配置無密碼SSH過程中可能會出現Host key verification failed錯誤。最簡單的解決辦法之一就是在每臺機的/etc/ssh/ssh_config中設定 StrictHostKeyChecking no 如果這項已經設定過,修改之。如果沒有設定過(預設應該是設定為ask且註釋掉的),可以在下面新增,或取消註釋並修改為no。
  • 注意這裡一般是對Host *設定的StrictHostKeyChecking no,會對所有SSH key的檢查都放寬要求。如果不想這麼做,可以google其他解決方案。
在/etc/ssh/sshd_config中設定 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys 同樣可以修改、取消註釋或在下面新增。 然後 service ssh restart 令配置生效。 3.生成金鑰 如果之前機子上生成過金鑰可以跳過這一步,否則需要生成金鑰。 使用 $ ssh-keygen -t rsa -P '' 一路回車,在~/.ssh目錄下生成一對沒有passphrase的金鑰。 這裡不設定passphrase是為了後面認證登陸的時候不用每臺機子都輸入,會方便一些。 接著 cat id_rsa.pub >> authorized_keys 對生成的公鑰進行授權 檢查許可權 $ chmod 600 ~/.ssh/authorized_keys$ chmod 700 ~/.ssh 保證關鍵的檔案和資料夾許可權正確(太高或太低的許可權會導致無法無密碼ssh) 分發公鑰 為了方便我們可以讓所有機器都能互相無密碼ssh。在每臺salve用 $ ssh-copy-id -i id_rsa.pub master 將公鑰彙總到master的authorized_key中,再讓master將公鑰分發到每臺機器上即可。比如使用 $ scp ~/.ssh/authorized_keys [email protected]:~/.ssh/authorized_keys 即可將master的authorized_keys覆蓋掉slave的authorized_keys(注意這是覆蓋,如果只是想追加,可以用cat+管道,具體google即可) 11. 安裝 Hadoop 版本 這裡有一些小問題,傳承下來的Giraph的關於hadoop包相應版本是hadoop1.0.2,但是當時師姐給我的hadoop的包是hadoop1.0.0,後來我自己也試過hadoop1.0.2,發現都可以跑, 按照我自己的理解,可能的情況是hadoop1.0.2關於hadoop1.0.0的相關改動的部分在Giraph1.0的部分中沒有用到 相關的hadoop的包也在上文的網盤中有,名字是hadoop.tar.gz 獲取及解壓 (每臺) 去到官網下載安裝包,或者從我給的包中下載,安裝路徑隨意,按照Linux的慣例可以自己看著裝到/opt或者/usr/local,或者直接安裝在使用者資料夾。 這裡將安裝包解壓到/home/user-wjl/workspace/hadoop,然後在/workspace目錄下 chown -R user-wjl:hadoop hadoop 確保能夠隨意操作這個資料夾。 配置環境變數 (每臺) 再配置環境變數,指明Hadoop所在路徑,將路徑下的bin資料夾加入PATH以使用Hadoop提供的各種指令碼 編輯使用者的.bashrc檔案 $ vim ~/.bashrc 新增 export JAVA_HOME=/usr/local/jdk1.7 export HADOOP_HOME=/home/user-wjl/workspace/hadoop 注:$HADOOP_HOME是舊版Hadoop用的環境變數名,所以如果你用這個名字,在執行Hadoop的時候會得到 $HADOOP_HOME is deprecated 的警告。但是這裡設成$HADOOP_HOME也不會有什麼大礙。如果你覺得這個警告很煩不想看到,也可以用$HADOOP_PREFIX這個新版的名字。 接下來還需要配置hadoop-env.sh中的JAVA_HOME為對應jdk安裝目錄。 $ vi $HADOOP_HOME/conf/hadoop-env.sh 找到 export JAVA_HOME=.... 這一行,將等號後的東西改成你JAVA的實際安裝目錄。 新增下行 export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true 代表HADOOP叢集希望用到的是IPV4 配置 masters 及 slaves (master上) 配置conf下的masters及slaves檔案為對應分配好的hostname。 $ vim /conf/masters lab-master $ vim /conf/slaves lab-slave1 lab-slave2 配置 *-site.xml (每臺) 配置core-site.xml。有一些配置是最好要改的,參見[YDN] Hadoop 配置注意事項 的Important Directories一節。這裡修改兩個比較重要的配置,預設dfs.name.dir、dfs.data.dir和mapred.system.dir均放在hadoop.tmp.dir下,這些資料夾存有NameNode和DataNode的資料和各種系統資料,而hadoop.tmp.dir卻預設放在/tmp/hadoop-${user.name},這意味著重啟之後這些東西很可能全都沒了。在正式的叢集中,這些子資料夾最好放在不依賴於hadoop.tmp.dir的地方。這裡為了方便,我們直接先修改hadoop.tmp.dir來改變其他子資料夾,將它放在hadoop安裝目錄的tmp資料夾,並且顯式指明預設的Namenode位置fs.default.name為master的9000埠。 core-site.xml配置如下 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/user-wjl/workspace/hadoop/tmp</value> </property> <property> <name>fs.default.name</name> <value>hdfs://lab-master:54310</value> </property> </configuration> hdfs-site.xml配置如下 配置hdfs-site.xml,這裡修改dfs.replication即備份多少副本,1的話就是不備份。注意這個值不能超過Datanode的數目。 複製程式碼 <configuration> <property> <name>dfs.replication</name> <value>1</value> </property><configuration> mapred-site.xm配置如下 配置mapred-site.xml,這裡指明所有的node在找jobtracker時都要去找master的9001埠。 複製程式碼 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>lab-master:54311</value> </property> <property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>4</value> </property> <property> <name>mapred.map.tasks</name> <value>4</value> </property> </configuration> ~ 複製程式碼 在實際執行的時候也建議將mapred.tasktracker.reduce.tasks.maximum的值增大以增加reducer slots的數目,提高效率。一般指定mapred-site.xml為所在機子的CPU核數-1比較合理。 這裡的引數設定和正常的hadoop的設定不太一樣,對於一個GIRAPH任務來說 預設下,Hadoop允許2個mappers同時執行,但是Giraph相信我們可以同時執行4個mappers,我們需要新增後兩個properties在mapred-site.xml檔案,是為了滿足這個需要,否則的話,Giraph的一些單元測試將會失敗。在實際執行的時候也建議將mapred.tasktracker.reduce.tasks.maximum的值增大以增加reducer slots的數目,提高效率。一般指定mapred-site.xml為所在機子的CPU核數-1比較合理。 新增路徑 在hadoop目錄下新建tmp資料夾(這裡是為了配合上一步中core-site.xml中指定的hadoop.tmp.dir。如果你沒有用上一步一樣的路徑也可以,只要確保這個資料夾存在就行)。 12. 執行 Hadoop 格式化 HDFS 先確保tmp資料夾下都是空的(否則spaceID不一致又不去手動改的話會各種報錯),然後` $ hadoop namenode -format 啟動 Hadoop 啟動時分開啟動,start-all是給單節點用的,或者star-all也可以用 $ start-dfs.sh$ start-mapred.sh 檢查 jps 這時候可以檢查守護程序是否啟動。master上執行 啟動成功的話可以在master節點上面看到下圖 在slave節點可以看到 如果無法執行jps,可以檢查一下java安裝目錄下的bin資料夾是否在$PATH環境變數中。如果沒有,需要修改.bashrc或/etc/profile配置好環境變數。 檢查 HDFS $ hadoop dfsadmin -report 會看到整個hdfs的狀態,可以檢查一下datanode是否都檢測到了。 如下圖 檢查 Web UI 可以在瀏覽器上訪問 http://lab-master:50070/ 檢查namenode,也可以檢視HDFS http://lab-master:50030/ 可以檢查job的執行狀態 http://lab-master:50060/ 檢查task的執行狀態 13. 測試 Hadoop的例子 wordcount 運用命令列跑hadoop自帶的wordcount的例子 命令如下 [email protected]:~/workspace/hadoop$ $HADOOP_HOME/bin/hadoop jar hadoop-examples-1.0.0.jar wordcount /usr/input/tiny_graph /usr/output/word_count_out Warning: $HADOOP_HOME is deprecated. 執行正常,顯示如下結果 可以通過網頁或者命令列檢視輸出結果 想用web ui檢視HDFS上的檔案可以通過 14. 測試 Giraph的例子 首先是用命令列測試最簡單的Giraph自帶的最短路的例子 命令如下 $HADOOP_HOME/bin/hadoop jar giraph-examples-1.0.0-for-hadoop-1.0.2-jar-with-dependencies.jar org.apache.giraph.GiraphRunner org.apache.giraph.examples.SimpleShortestPathsVertex -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat -vip /usr/input/tiny_graph_json -of org.apache.giraph.io.formats.IdWithValueTextOutputFormat -op /usr/output/giraph-example-out-1 -w 2 這裡具體引數的定義可以稍微說明一下, jar giraph-examples-1.0.0-for-hadoop-1.0.2-jar-with-dependencies.jar 表示嘗試跑這個jar包裡的某一個演算法 org.apache.giraph.GiraphRunner 表示是用GiraphRunner跑的 org.apache.giraph.examples.SimpleShortestPathsVertex 表示是用這個Vertex跑的 -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat 表示 VertexInputFormat的格式是什麼樣子的 -vip /usr/input/tiny_graph_json 表示VertexInputPath即, 輸入路徑 -of org.apache.giraph.io.formats.IdWithValueTextOutputFormat 表示輸出格式 即 OutputFormat op /usr/output/giraph-example-out-1 表示OutputPath 即 輸出路徑 -w 2 表示Worker 即設定Worker的個數 15. 匯入Eclipse,測試自己所改寫的程式碼 待續 可以參考專案測試報告等資料 16. 多圖連線演算法實現,儲存擴充套件功能實現部分 待續 詳情可以參考專案測試報告文件 17. 生成資料部分 可以使用資料生成工具生成最簡單的圖,再自己做處理,程式碼部分待整理,資料生成工具為R-MAT, 通過引數控制生成Random或者Powerlaw分佈的圖 我自己部分的程式碼支援的功能有
  • 處理資料格式,使得上述工具生成的資料集調整為Giraph支援的格式
  • 新增屬性等等
程式碼待整理上傳 18. Giraph原始碼修改部分
  • 針對Vertex的程式設計(屬於應用必須)
  • 改寫資料輸入輸出格式(屬於應用必須)
  • 改寫底層資料儲存格式(改寫底層都比較複雜)
  • 改寫底層同步非同步等形式(比較複雜,詳情可以參考師姐留下來的文件)
  • 打包Giraph的Job上傳到叢集中執行(操作固定但是有待優化,可以選擇性瞭解,該部分跟專案匯入Eclipse的部分相關,在最初關於深圳報告的協商中,對方提出希望所有的測試都通過命令列來操作,支援這樣的操作形式存在一定難度)
19. Giraph, Hadoop相關引數問題
  • 無論是Hadoop還是Giraph,都有一些引數是至關重要的,這些引數可以在程式中動態修改,也可以在配置檔案中指定,對程式效能,甚至程式能否執行都至關重要,需要儘量多的瞭解.
  • 甚至關於JVM的相關引數在這裡也只為重要,舉個例子mapred.child.java.opts,詳情可以參見測試報告關於儲存優化部分
20. 騰訊雲集群上面關於Hadoop叢集配置,以及Giraph任務測試的問題
  • 騰訊雲上面的環境配置由於許可權受限比較特殊,詳細說起來也需要大量的篇幅,這裡簡單的總結一下,解決大部分後,比較嚴重的就是公網IP和內網IP的問題
  • 經過多種嘗試,公網IP和內網IP的解決方案是對於每一臺機器上的Hosts,它自己對應的IP用公網的IP,其它的機器的IP用內網IP,叢集即可配置成功

相關推薦

Giraph 1.0叢集環境配置

環境說明 以下配置過程在實驗室叢集,深圳叢集,騰訊雲集群上均測試成功,系統包括CentOS,Ubuntu Hadoop-1.0.2 Giraph-1.0.0 Jdk1.7 下面詳細敘述一下在實驗室叢集上面配置的細節 系統環境 Distributor ID: Ubun

最新版本OpenCV 3.1.0 beta環境配置

STEP ONE 開啟OpenCV官網 開啟Release 直接點選開啟,這個.exe就是一個自解壓程式 出現如下介面,選一下路徑 解壓中... 解壓完成後,指定的路徑下會有名為OpenCV的資料夾 build 支援OpenCV使用的

WebLogic 10.3.5.0 叢集環境配置(二)

四、測試     在本實驗中使用HttpClusterServlet做叢集分發。     1. 在10.16.65.110伺服器上的cluster_domain中再建立一個受管伺服器proxy_server,監聽埠為8000,用於部署代理服務應用程式。     2.

Windows 7 JDK 1.8.171 + Tomcat 9.0.8 環境配置

windows tomcat環境 windows tomcat 安裝服務 Windows環境 C:\>systeminfo|find "OS" OS 名稱: Microsoft Windows 7 專業版 OS 版本: 6.1.7601 Service Pac

3臺機器配置spark-2.1.0叢集

一. 環境介紹 三臺主機,主機名和ip分別為: ubuntu1  10.3.19.171 ubuntu2  10.3.19.172 ubuntu3  10.3.19.173 三臺主機的登入使用者名稱是bigdata,home目錄是/home/bigdata 現在三臺主機上部

hadoop-3.0.0叢集環境搭建、配置

12月13日hadoop-3.0.0釋出正式版啦,試試最新的 Release Notes:Minimum required Java version increased from Java 7 t

Lettuce 5.1.1連線池在Redis5.0叢集環境測試

package org.util; import io.lettuce.core.ReadFrom; import io.lettuce.core.RedisFuture; import io.lettuce.core.RedisURI; import io.lettuce

Maven3.1.0環境變數配置

     下載後,把它解壓到D盤根目錄 3.配置maven的環境變數,先點選新建配置M2_HOME的環境變數,值為D:\apache-maven-3.1.0-bin\apache-    maven-3.1.0,如下圖所示:     再配置path環境變數,在path值的末尾新增";%M2_HOME%\bi

macOS Sierra 10.12.6 odoo 10.0 開發環境配置

python text 超過 database initial base 包管理器 -- tps 參考了網上的一些教程,將最終過程記錄一下,其中需要的一些程序,我已經放到百度網盤: https://pan.baidu.com/s/1boKHSTL 1、抹盤安裝m

ambari 2.6.0.0開發環境配置

環境配置 pom span url c-c++ pack max adl clean ambari 2.6.0.0開發環境配置安裝git安裝依賴 yum -y install curl-devel expat-devel gettext-devel openssl-deve

Emgucv3.0+VS2010環境配置

轉載於 https://blog.csdn.net/jhgb1457/article/details/50401015?locationNum=10 VS2010進行Emgucv3.0配置 2015-11-25 1、Emgucv3.0.exe解壓之D盤(也可以是其它盤,配置環境變數要根據具體

Hive 2.1.0叢集安裝

Hive 2.1.0叢集安裝 1.配置伺服器 1個主節點:master(192.168.20.191),2個(從)子節點, node1(192.168.20.192), node2(192.168.20.193) 2.將jdbc的jar包放到$HIVE_HOME下 cd

1.0-Node環境中的javascript

1.什麼是Node.js? node.js就是javascript的伺服器執行環境,可以讓程式設計師使用javascript來實現伺服器的程式設計。 2.Node.js中javascript的組成部分 ECMAScript核心 + 全域性成員 + 核心API模組。

Win10+vs2010+cmake3.12.1.+vtk6.30環境配置及編譯

首先你需要下載這些:(當然vs2010已經安裝好了) 1、安裝cmake按步驟來即可; 2 、將vtk6.3.0和vtkData6.3.0解壓到同一個資料夾,命名為VTK 3、開啟cmake, bin資料夾會自動新建;點選確認即可; 4、

數字影象處理實驗筆記(0環境配置

conda的官方入門文件(英文) OpenCV的官方教程(英文) 下載Anacoda: Anacoda下載 啟用conda並更新: 在命令列介面鍵入: sudo conda --version conda update conda 建立虛擬環境:(這裡的虛擬環境僅作環境搭建用,具體步驟可以將其

Opencv4.0+VS2017環境配置教程

相比於OpenCV3.4的功能改進: 1.OpenCV DNN模組新增ONNX解析器,支援各種分類網路,比如AlexNet, Inception v2, Resnet, VGG 等。部分支援tiny YOLO v2 目標檢測網路。 2.DNN模組新的改進 2.1)支援M

Phpstorm 2017.1+PHPWAMP+Xdebug環境配置以及斷點除錯

首先先來說下IDE和服務環境的配置: 第一步,在PHPWAMP的站點根目錄下建立專案資料夾,然後把IDE專案檔案指向該檔案,如下圖所示: 第二步,建立檔案,然後通過伺服器進行顯示,這裡我寫了兩個檔案,分別是form.html,welcome.php: form.html:

Ubuntu 18.04安裝OpenCV4.0環境配置

下載原始檔 可以在官網下載相應版本的OpenCV Sources原始檔。 但因為官方版本是git上的,有時候可能出現下載失敗的情況,所有我將官網下載的原始檔分享到百度網盤連結https://pan.baidu.com/s/1Bu4xOiz8zWU_R8Me0T_SIg,提取碼:s4s

3臺機器部署storm-1.1.0叢集

一. 環境介紹 三臺主機,主機名和ip分別為: ubuntu1  10.3.19.171 ubuntu2  10.3.19.172 ubuntu3  10.3.19.173 三臺主機的登入使用者名稱是bigdata,home目錄是/home/bigdata 現在三臺主機上部

從VMware虛擬機器安裝到hadoop叢集環境配置詳細說明

虛擬機器安裝 我安裝的虛擬機器版本是VMware Workstation 8.04,自己電腦上安裝的有的話直接在虛擬機器安裝Linux作業系統,沒有的話這裡有我的一個百度雲網盤虛擬機器安裝共享檔案 虛擬機器的具體安裝不再詳細說明了。   Linux作業系統安裝除錯