本文這裏爲大家分享Hadoop集羣設置中經常出現的一些問題。
在工作生活中,有些問題非常簡單,但往往搜索半天也找不到所需的答案,在Hadoop的學習與使用過程中同樣如此。關注WX公衆號:大數據技術工程師。可免費領取hadoop學習資料。這裏爲大家分享Hadoop集羣設置中經常出現的一些問題:
1.Hadoop集羣可以運行的3個模式?
單機(本地)模式 僞分佈式模式 全分佈式模式
- 單機(本地)模式中的注意點?
在單機模式(standalone)中不會存在守護進程,所有東西都運行在一個JVM上。這裏同樣沒有DFS,使用的是本地文件系統。單機模式適用於開發過程中運行MapReduce程序,這也是最少使用的一個模式。
- 僞分佈模式中的注意點?
僞分佈式(Pseudo)適用於開發和測試環境,在這個模式中,所有守護進程都在同一臺機器上運行。
- VM是否可以稱爲Pseudo?
不是,兩個事物,同時Pseudo只針對Hadoop。
- 全分佈模式又有什麼注意點?
全分佈模式通常被用於生產環境,這裏我們使用N臺主機組成一個Hadoop集羣,Hadoop守護進程運行在每臺主機之上。這裏會存在Namenode運行的主機,Datanode運行的主機,以及task tracker運行的主機。在分佈式環境下,主節點和從節點會分開。
- Hadoop是否遵循UNIX模式?
是的,在UNIX用例下,Hadoop還擁有“conf”目錄。
- Hadoop安裝在什麼目錄下?
Cloudera和Apache使用相同的目錄結構,Hadoop被安裝在cd/usr/lib/hadoop-0.20/。
- Namenode、Job tracker和task tracker的端口號是?
Namenode,70;Job tracker,30;Task tracker,60。
- Hadoop的核心配置是什麼?
Hadoop的核心配置通過兩個xml文件來完成:1,hadoop-default.xml;2,hadoop-site.xml。這些文件都使用xml格式,因此每個xml中都有一些屬性,包括名稱和值,但是當下這些文件都已不復存在。
- 那當下又該如何配置?
Hadoop現在擁有3個配置文件:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。這些文件都保存在conf/子目錄下。
- RAM的溢出因子是?
溢出因子(Spill factor)是臨時文件中儲存文件的大小,也就是Hadoop-temp目錄。
- fs.mapr.working.dir只是單一的目錄?
fs.mapr.working.dir只是一個目錄。
- hdfs-site.xml的3個主要屬性?
dfs.name.dir決定的是元數據存儲的路徑以及DFS的存儲方式(磁盤或是遠端) dfs.data.dir決定的是數據存儲的路徑 fs.checkpoint.dir用於第二Namenode
- 如何退出輸入模式?
退出輸入的方式有:1,按ESC;2,鍵入:q(如果你沒有輸入任何當下)或者鍵入:wq(如果你已經輸入當下),並且按下Enter。
- 當你輸入hadoopfsck /造成“connection refused java exception’”時,系統究竟發生了什麼?
這意味着Namenode沒有運行在你的VM之上。
- 我們使用Ubuntu及Cloudera,那麼我們該去哪裏下載Hadoop,或者是默認就與Ubuntu一起安裝?
這個屬於Hadoop的默認配置,你必須從Cloudera或者Edureka的dropbox下載,然後在你的系統上運行。當然,你也可以自己配置,但是你需要一個Linux box,Ubuntu或者是Red Hat。在Cloudera網站或者是Edureka的Dropbox中有安裝步驟。
- “jps”命令的用處?
這個命令可以檢查Namenode、Datanode、Task Tracker、 Job Tracker是否正常工作。
- 如何重啓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)。
- Fsck的全名?
全名是:File System Check。
- 如何檢查Namenode是否正常運行?
如果要檢查Namenode是否正常工作,使用命令/etc/init.d/hadoop-0.20-namenode status或者就是簡單的jps。
- mapred.job.tracker命令的作用?
可以讓你知道哪個節點是Job Tracker。
- /etc /init.d命令的作用是?
/etc /init.d說明了守護進程(服務)的位置或狀態,其實是LINUX特性,和Hadoop關係不大。
- 如何在瀏覽器中查找Namenode?
如果你確實需要在瀏覽器中查找Namenode,你不再需要localhost:8021,Namenode的端口號是50070。
- 如何從SU轉到Cloudera?
從SU轉到Cloudera只需要鍵入exit。
- 啓動和關閉命令會用到哪些文件?
Slaves及Masters。
- Slaves由什麼組成?
Slaves由主機的列表組成,每臺1行,用於說明數據節點。
- Masters由什麼組成?
Masters同樣是主機的列表組成,每臺一行,用於說明第二Namenode服務器。
- hadoop-env.sh是用於做什麼的?
hadoop-env.sh提供了Hadoop中. JAVA_HOME的運行環境。
- Master文件是否提供了多個入口?
是的你可以擁有多個Master文件接口。
- hadoop-env.sh文件當下的位置?
hadoop-env.sh現在位於conf。
- 在Hadoop_PID_DIR中,PID代表了什麼?
PID代表了“Process ID”。
- /var/hadoop/pids用於做什麼?
/var/hadoop/pids用來存儲PID。
- hadoop-metrics.properties文件的作用是?
hadoop-metrics.properties被用做“Reporting”,控制Hadoop報告,初始狀態是“not to report”。
- Hadoop需求什麼樣的網絡?
Hadoop核心使用Shell(SSH)來驅動從節點上的服務器進程,並在主節點和從節點之間使用password-less SSH連接。
- 全分佈式環境下爲什麼需求password-less SSH?
這主要因爲集羣中通信過於頻繁,Job Tracker需要儘可能快的給Task Tracker發佈任務。
- 這會導致安全問題嗎?
完全不用擔心。Hadoop集羣是完全隔離的,通常情況下無法從互聯網進行操作。與衆不同的配置,因此我們完全不需要在意這種級別的安全漏洞,比如說通過互聯網侵入等等。Hadoop爲機器之間的連接提供了一個相對安全的方式。
- SSH工作的端口號是?
SSH工作的端口號是NO.22,當然可以通過它來配置,22是默認的端口號。
- SSH中的注意點還包括?
SSH只是個安全的shell通信,可以把它當做NO.22上的一種協議,只需要配置一個密碼就可以安全的訪問。
- 爲什麼SSH本地主機需要密碼?
在SSH中使用密碼主要是增加安全性,在某些情況下也根本不會設置密碼通信。
- 如果在SSH中添加key,是否還需要設置密碼?
是的,即使在SSH中添加了key,還是需要設置密碼。
- 假如Namenode中沒有數據會怎麼樣?
沒有數據的Namenode就不能稱之爲Namenode,通常情況下,Namenode肯定會有數據。
- 當Job Tracker宕掉時,Namenode會發生什麼?
當Job Tracker失敗時,集羣仍然可以正常工作,只要Namenode沒問題。
- 是客戶端還是Namenode決定輸入的分片?
這並不是客戶端決定的,在配置文件中以及決定分片細則。
- 是否可以自行搭建Hadoop集羣?
是的,只要對Hadoop環境足夠熟悉,你完全可以這麼做。
- 是否可以在Windows上運行Hadoop?
你最好不要這麼做,Red Hat Linux或者是Ubuntu纔是Hadoop的最佳操作系統。在Hadoop安裝中,Windows通常不會被使用,因爲會出現各種各樣的問題。因此,Windows絕對不是Hadoop的推薦系統。
這些都是hadoop集羣常見的一些問題,帶給大家,希望對大家有一點點幫助,同時,希望大家多關注我哦,更多的精彩文章帶給大家