Hadoop科普文——常見的45個問題解答

csdn發表於2014-01-08

  在工作生活中,有些問題非常簡單,但往往搜尋半天也找不到所需的答案,在Hadoop的學習與使用過程中同樣如此。這裡為大家分享Hadoop叢集設定中經常出現的一些問題,以下為譯文:

  1.Hadoop叢集可以執行的3個模式?

  • 單機(本地)模式
  • 偽分散式模式
  • 全分散式模式

  2.  單機(本地)模式中的注意點?

  在單機模式(standalone)中不會存在守護程式,所有東西都執行在一個JVM上。這裡同樣沒有DFS,使用的是本地檔案系統。單機模式適用於開發過程中執行MapReduce程式,這也是最少使用的一個模式。

  3.  偽分佈模式中的注意點?

  偽分散式(Pseudo)適用於開發和測試環境,在這個模式中,所有守護程式都在同一臺機器上執行。

  4.  VM是否可以稱為Pseudo?

  不是,兩個事物,同時Pseudo只針對Hadoop。

  5.  全分佈模式又有什麼注意點?

  全分佈模式通常被用於生產環境,這裡我們使用N臺主機組成一個Hadoop叢集,Hadoop守護程式執行在每臺主機之上。這裡會存在Namenode執行的主機,Datanode執行的主機,以及task tracker執行的主機。在分散式環境下,主節點和從節點會分開。

  6.  Hadoop是否遵循UNIX模式?

  是的,在UNIX用例下,Hadoop還擁有“conf”目錄。

  7.  Hadoop安裝在什麼目錄下?

  Cloudera和Apache使用相同的目錄結構,Hadoop被安裝在cd/usr/lib/hadoop-0.20/。

  8.  Namenode、Job tracker和task tracker的埠號是?

  Namenode,70;Job tracker,30;Task tracker,60。

  9.  Hadoop的核心配置是什麼?

  Hadoop的核心配置通過兩個xml檔案來完成:1,hadoop-default.xml;2,hadoop-site.xml。這些檔案都使用xml格式,因此每個xml中都有一些屬性,包括名稱和值,但是當下這些檔案都已不復存在。

  10.  那當下又該如何配置?

  Hadoop現在擁有3個配置檔案:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。這些檔案都儲存在conf/子目錄下。

  11.  RAM的溢位因子是?

  溢位因子(Spill factor)是臨時檔案中儲存檔案的大小,也就是Hadoop-temp目錄。

  12.  fs.mapr.working.dir只是單一的目錄?

  fs.mapr.working.dir只是一個目錄。

  13.  hdfs-site.xml的3個主要屬性?

  • dfs.name.dir決定的是後設資料儲存的路徑以及DFS的儲存方式(磁碟或是遠端)
  • dfs.data.dir決定的是資料儲存的路徑
  • fs.checkpoint.dir用於第二Namenode

  14.  如何退出輸入模式?

  退出輸入的方式有:1,按ESC;2,鍵入:q(如果你沒有輸入任何當下)或者鍵入:wq(如果你已經輸入當下),並且按下Enter。

  15.  當你輸入hadoopfsck /造成“connection refused java exception’”時,系統究竟發生了什麼?

  這意味著Namenode沒有執行在你的VM之上。

  16.  我們使用Ubuntu及Cloudera,那麼我們該去哪裡下載Hadoop,或者是預設就與Ubuntu一起安裝?

  這個屬於Hadoop的預設配置,你必須從Cloudera或者Edureka的dropbox下載,然後在你的系統上執行。當然,你也可以自己配置,但是你需要一個Linux box,Ubuntu或者是Red Hat。在Cloudera網站或者是Edureka的Dropbox中有安裝步驟。

  17.  “jps”命令的用處?

  這個命令可以檢查Namenode、Datanode、Task Tracker、 Job Tracker是否正常工作。

  18.  如何重啟Namenode?

  • 點選stop-all.sh,再點選start-all.sh。
  • 鍵入sudo hdfs(Enter),su-hdfs (Enter),/etc/init.d/ha(Enter),及/etc/init.d/hadoop-0.20-namenode start(Enter)。

  19.  Fsck的全名?

  全名是:File System Check。

  20.  如何檢查Namenode是否正常執行?

  如果要檢查Namenode是否正常工作,使用命令/etc/init.d/hadoop-0.20-namenode status或者就是簡單的jps。

  21.  mapred.job.tracker命令的作用?

  可以讓你知道哪個節點是Job Tracker。

  22.  /etc /init.d命令的作用是?

  /etc /init.d說明了守護程式(服務)的位置或狀態,其實是LINUX特性,和Hadoop關係不大。

  23.  如何在瀏覽器中查詢Namenode?

  如果你確實需要在瀏覽器中查詢Namenode,你不再需要localhost:8021,Namenode的埠號是50070。

  24.  如何從SU轉到Cloudera?

  從SU轉到Cloudera只需要鍵入exit。

  25.  啟動和關閉命令會用到哪些檔案?

  Slaves及Masters。

  26.  Slaves由什麼組成?

  Slaves由主機的列表組成,每臺1行,用於說明資料節點。

  27.  Masters由什麼組成?

  Masters同樣是主機的列表組成,每臺一行,用於說明第二Namenode伺服器。

  28.  hadoop-env.sh是用於做什麼的?

  hadoop-env.sh提供了Hadoop中. JAVA_HOME的執行環境。

  29.  Master檔案是否提供了多個入口?

  是的你可以擁有多個Master檔案介面。

  30.  hadoop-env.sh檔案當下的位置?

  hadoop-env.sh現在位於conf。

  31.  在Hadoop_PID_DIR中,PID代表了什麼?

  PID代表了“Process ID”。

  32.  /var/hadoop/pids用於做什麼?

  /var/hadoop/pids用來儲存PID。

  33.  hadoop-metrics.properties檔案的作用是?

  hadoop-metrics.properties被用做“Reporting”,控制Hadoop報告,初始狀態是“not to report”。

  34.  Hadoop需求什麼樣的網路?

  Hadoop核心使用Shell(SSH)來驅動從節點上的伺服器程式,並在主節點和從節點之間使用password-less SSH連線。

  35.  全分散式環境下為什麼需求password-less SSH?

  這主要因為叢集中通訊過於頻繁,Job Tracker需要儘可能快的給Task Tracker釋出任務。

  36.  這會導致安全問題嗎?

  完全不用擔心。Hadoop叢集是完全隔離的,通常情況下無法從網際網路進行操作。與眾不同的配置,因此我們完全不需要在意這種級別的安全漏洞,比如說通過網際網路侵入等等。Hadoop為機器之間的連線提供了一個相對安全的方式。

  37.  SSH工作的埠號是?

  SSH工作的埠號是NO.22,當然可以通過它來配置,22是預設的埠號。

  38.  SSH中的注意點還包括?

  SSH只是個安全的shell通訊,可以把它當做NO.22上的一種協議,只需要配置一個密碼就可以安全的訪問。

  39.  為什麼SSH本地主機需要密碼?

  在SSH中使用密碼主要是增加安全性,在某些情況下也根本不會設定密碼通訊。

  40.  如果在SSH中新增key,是否還需要設定密碼?

  是的,即使在SSH中新增了key,還是需要設定密碼。

  41.  假如Namenode中沒有資料會怎麼樣?

  沒有資料的Namenode就不能稱之為Namenode,通常情況下,Namenode肯定會有資料。

  42.  當Job Tracker宕掉時,Namenode會發生什麼?

  當Job Tracker失敗時,叢集仍然可以正常工作,只要Namenode沒問題。

  43.  是客戶端還是Namenode決定輸入的分片?

  這並不是客戶端決定的,在配置檔案中以及決定分片細則。

  44.  是否可以自行搭建Hadoop叢集?

  是的,只要對Hadoop環境足夠熟悉,你完全可以這麼做。

  45.  是否可以在Windows上執行Hadoop?

  你最好不要這麼做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳作業系統。在Hadoop安裝中,Windows通常不會被使用,因為會出現各種各樣的問題。因此,Windows絕對不是Hadoop的推薦系統。

  原文連結: Hadoop Interview Questions – Setting up Hadoop Cluster!

相關文章