摘要:中默認配置和的存放位置的地址就是基于此。需配置成,才可運行程序的主機名對客戶端暴露的地址。客戶端通過該地址向提交應用程序,殺死應用程序等對暴露的訪問地址。注意,該參數是不可修改的,一旦設置,整個運行過程中不可動態修改。
集群環境
Hadoop版本為2.7.4
JDK版本1.8.0_144
安裝了三臺虛擬機分別設定名稱和IP如下
主機名稱 | IP地址 |
---|---|
master | 192.168.1.15 |
slave01 | 192.168.1.16 |
slave02 | 192.168.1.17 |
服務器上安裝hadoop的目錄結構為
/home/用戶名/hadoop
software: 存放的是安裝的軟件包
app : 存放的是所有軟件的安裝目錄
hadoop2.7.4就在app目錄下, 這里我的機器的用戶都是null
hadoop主要配置文件有core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml
可以瀏覽官網查看詳細的默認的配置,鏈接如下
core-default.xml
hdfs-default.xml
mapred-default.xml
yarn-default.xml
也可以通過下載解壓hadoop后在目錄下搜索*default.xml,找到這些默認配置
tar -zxvf hadoop-2.7.4.tar.gz -C ~/hadoop/app配置Hadoop 環境變量
vim /etc/profile添加
# Hadoop Env export HADOOP_HOME=/home/null/hadoop/app/hadoop-2.7.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin修改$HADOOP_HOME/etc/hadoop下的配置文件
$HADOOP_HOME就是hadoop安裝目錄位置
這里只是將分布式集群的一些必要的簡化了的配置羅列出來了,更個性化的配置還是要參照官方文檔進行設置
//修改JAVA_HOME路徑為jdk的安裝路徑 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144修改yarn-env.sh文件
//修改JAVA_HOME路徑為jdk的安裝路徑 export JAVA_HOME=/home/null/hadoop/app/jdk1.8.0_144修改slaves文件
master 既作為 NameNode 也作為 DataNode
master slave01 slave02修改core-site.xml文件
該文件可以覆蓋一部分用于控制Hadoop核心的默認的關鍵配置
參數 | 默認值 | 解釋 |
---|---|---|
fs.defaultFS | file:/// | namenode RPC交互端口 |
fs.default.name | file:/// | 被棄用,是用fs.defaultFS代替 |
hadoop.tmp.dir | /tmp/hadoop-${user.name} | 其他臨時目錄的根地址 |
先在$HADOOP_HOME目錄下手動創建tmp文件夾,等下指定hadoop.tmp.dir為它,hadoop.tmp.dir是hadoop文件系統依賴的基礎配置,很多路徑都依賴它。hdfs-site-xml中默認配置namenode 和datanode的存放位置的地址就是基于此。 LINUX 系統中,在服務重啟后,/tmp 下的目錄被清空,所以要轉到持久化的地址
修改hdfs-site.xml文件fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /home/null/hadoop/app/tmp
通過該配置文件可以修改有關的HDFS的默認配置
參數 | 默認值 | 解釋 |
---|---|---|
dfs.replication | 3 | 決定著系統里面的文件塊的數據備份個數 |
dfs.namenode.secondary.http-address | 0.0.0.0:50090 | secondary namenode服務地址和端口 |
dfs.namenode.name.dir | file://${hadoop.tmp.dir}/dfs/name | 決定namenode的fsimage文件在本地文件系統的存儲位置,如果是以逗號分割的目錄列表,將會復制到所有目錄中,冗余 |
dfs.datanode.data.dir | file://${hadoop.tmp.dir}/dfs/data | 決定datanode的數據塊在本地文件系統的存儲位置,如果目錄不存在將被創建如果權限允許的話 |
dfs.namenode.secondary.http-address master:50090 dfs.replication 3
副本數目不能大于datanode數目
在core-site.中配置了hadoop.tmp.dir,這里保持默認即可
該文件中的屬性可以覆蓋用于控制MapReduce任務執行的默認屬性值
參數 | 默認值 | 解釋 |
---|---|---|
mapreduce.framework.name | local | MapReduce 作業的執行框架 |
mapreduce.jobhistory.address | 0.0.0.0:10020 | MapReduce的歷史服務器通信地址 |
mapreduce.jobhistory.webapp.address | 0.0.0.0:19888 | MapReduce的歷史服務器web界面地址 |
mapreduce.framework.name yarn
默認情況下,Hadoop歷史服務器是沒有啟動的,我們可以通過下面的命令來啟動Hadoop歷史服務器
sbin/mr-jobhistory-daemon.sh start historyserver修改yarn-site.xml文件
該文件中的配置項可以覆蓋用于控制YARN組件中的默認屬性值
參數 | 默認值 | 解釋 |
---|---|---|
yarn.nodemanager.aux-services | 無 | NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,才可運行MapReduce程序 |
yarn.resourcemanager.hostname | 0.0.0.0 | ResourceManager的主機名 |
yarn.resourcemanager.address | ${yarn.resourcemanager.hostname}:8032 | ResourceManager 對客戶端暴露的地址。客戶端通過該地址向RM提交應用程序,殺死應用程序等 |
yarn.resourcemanager.scheduler.address | ${yarn.resourcemanager.hostname}:8030 | ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等 |
yarn.resourcemanager.webapp.address | ${yarn.resourcemanager.hostname}:8088 | ResourceManager對外web ui地址。用戶可通過該地址在瀏覽器中查看集群各類信息 |
yarn.nodemanager.resource.memory-mb | 8192 | NodeManager總的可用物理內存。注意,該參數是不可修改的,一旦設置,整個運行過程中不可動態修改。另外,該參數的默認值是8192MB,即使你的機器內存不夠8192MB,YARN也會按照這些內存來使用 |
yarn.nodemanager.resource.cpu-vcores | 8 | NodeManager總的可用虛擬CPU個數 |
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname master yarn.nodemanager.resource.memory-mb 1024 yarn.nodemanager.resource.cpu-vcores 1
這里我架設的虛擬機是1g內存1CPU1核的 ,沒設置最后兩個屬性時,NodeManager啟動報錯內存不足
相關問題可以參考我的另外一篇博客
在master中執行
hdfs namenode -format啟動NameNode和DataNode
在master $HADOOP_HOME下執行
sbin/.start-dfs.sh
使用jps命令查看master上的進程如下
DataNode SecondaryNameNode NameNode Jps
使用jps命令分別查看slave01和slave02上的進程如下
Jps DataNode啟動 ResourceManager 和 NodeManager
在master $HADOOP_HOME下執行
sbin/start-yarn.sh
使用jps命令查看master上的進程如下
DataNode NodeManager ResourceManager SecondaryNameNode NameNode Jps
使用jps命令分別查看slave01和slave02上的進程如下
Jps NodeManager DataNode
終于!Hadoop集群成功啟動
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67932.html
摘要:按打開終端窗口,執行如下命令安裝并設置免密登陸注意每次配置時,需要注意當前目錄為。的配置文件位于中,偽分布式需要修改個配置文件和。的配置文件是格式,每個配置以聲明的和的方式來實現。 1.創建Hadoop用戶三部曲:添加用戶,設置密碼,給該用戶設置管理員權限為 hadoop 用戶增加管理員權限,方便部署,避免一些對新手來說比較棘手的權限問題 sudo useradd -m hadoop ...
摘要:今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署服務相關組件的一些實踐。當與相遇,雙劍合璧,一切變得如此簡單有趣。通過將服務注冊到來做健康檢查。 今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署DCOS服務相關組件的一些實踐。當Ansible與Docker相遇,雙劍合璧,一切變得如此簡單有趣。 本次分享將包括以下內容: 云平臺部署使用的服務、組件 Do...
摘要:現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用作為分布式應用程序平臺開發人員使用作為后端數據庫。而我們已注意到,將諸如之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。 作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致...
閱讀 867·2021-10-25 09:45
閱讀 3284·2021-09-22 14:58
閱讀 3844·2021-08-31 09:43
閱讀 914·2019-08-30 15:55
閱讀 917·2019-08-29 13:51
閱讀 1225·2019-08-29 13:02
閱讀 3483·2019-08-29 12:52
閱讀 1961·2019-08-26 13:27