Hadoop安裝部署 雙Namenote

環(huán)境

hdp21 192.168.95.21
hdp22 192.168.95.22
hdp23 192.168.95.23
hdp24 192.168.95.24
hdp25 192.168.95.25
時(shí)間網(wǎng)絡(luò)同步、關(guān)閉selinux
創(chuàng)建用戶hadoop衔肢,密碼fujg
hadoop 用戶免密登錄
我準(zhǔn)備把所有的文件都放在home目錄下

Hadoop2.7.3

192.168.95.21  hdp21  主NameNode
192.168.95.22  hdp22  備用NameNode
192.168.95.23  hdp23  DataNode
192.168.95.24  hdp24  DataNode
192.168.95.25  hdp25  DataNode

1 準(zhǔn)備

1庄岖,解壓安裝包到home目錄
tar –zxvf hadoop-2.7.3.tar.gz –C /home/
2,修改home的權(quán)限
chmod 777 /home
3膀懈,創(chuàng)建目錄
mkdir -pv /home/dfs/{data,name}
mkdir /home/tmp
mkdir -pv /home/hadoop-2.7.3/{journal,mapred_local,mapred_system,mr-history}
mkdir -pv /home/hadoop-2.7.3/mr-history/{done,tmp}

2 編輯配置文件
2.1 core-site.xml


<configuration>
    <property>
        <!-- hdfs訪問端口,這里看hdfs-site.xml中配置的端口谨垃,雙機(jī) -->
        <name>fs.defaultFS</name>
        <value>hdfs://ns</value>
    </property>
    <property>
        <!-- 臨時(shí)文件目錄 -->
        <name>hadoop.tmp.dir</name>
        <value>/home/tmp</value>
    </property>
    <property>
        <!-- 緩存的大小启搂,單位為byte,默認(rèn)4k刘陶,線上設(shè)置為40k胳赌,這里設(shè)置4k -->
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
    <property>
        <!-- 指定zookeeper地址 -->
        <name>ha.zookeeper.quorum</name>
        <value>hdp21:2181,hdp22:2181,hdp23:2181,hdp24:2181,hdp25:2181</value>
    </property>
    <property>
        <!-- 用戶代理機(jī)制 屬組 -->
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>hadoop</value>
    </property>
    <property>
        <!-- 用戶代理機(jī)制 hosts -->
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>192.168.95.21</value>
    </property>
    <!-- snappy 文件壓縮 -->
    <!--<property>
        <name>io.compression.codecs</name>
        <value>
            org.apache.hadoop.io.compress.GzipCodec,
            org.apache.hadoop.io.compress.DefaultCodec,
            org.apache.hadoop.io.compress.BZip2Codec,
            org.apache.hadoop.io.compress.SnappyCodec
        </value>
    </property>
    -->
</configuration>

2.2 hdfs-site.xml




<configuration>
    <property>
        <!-- 指定hdfs的nameservice為ns,要與core-site.xml中的名字一致 -->
        <name>dfs.nameservices</name>
        <value>ns</value>
    </property>
    <property>
        <!-- ns下面配置兩個(gè)nameNode匙隔,nn1疑苫、nn2 -->
        <name>dfs.ha.namenodes.ns</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <!-- nn1的RPC通信地址 -->
        <name>dfs.namenode.rpc-address.ns.nn1</name>
        <value>hdp21:9000</value>
    </property>
    <property>
        <!-- nn1的HTTP通信地址 -->
        <name>dfs.namenode.http-address.ns.nn1</name>
        <value>hdp21:50070</value>
    </property>
    <property>
        <!-- nn2的RPC通信地址 -->
        <name>dfs.namenode.rpc-address.ns.nn2</name>
        <value>hdp22:9000</value>
    </property>
    <property>
        <!-- nn2的HTTP通信地址 -->
        <name>dfs.namenode.http-address.ns.nn2</name>
        <value>hdp22:50070</value>
    </property>
    <property>
        <!-- 指定NameNode的元數(shù)據(jù) 在JournalNode上的存放位置,使用以下3個(gè)節(jié)點(diǎn)存儲(chǔ) -->
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://hdp23:8485;hdp24:8485;hdp25:8485/ns</value>
    </property>
    <property>
        <!-- 指定JournalNode在本地磁盤存放數(shù)據(jù)的位置 -->
        <name>dfs.journalnode.edits.dir</name>
        <value>/home/hadoop-2.7.3/journal</value>
    </property>
    <property>
        <!-- 開啟NameNode故障時(shí)自動(dòng)切換 -->
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <!-- 失敗自動(dòng)切換實(shí)現(xiàn)方式 -->
        <name>dfs.client.failover.proxy.provider.ns</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <property>
        <!-- 配置隔離機(jī)制,如果ssh是默認(rèn)22端口捍掺,value直接寫sshfence即可 -->
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>
    <property>
        <!-- 使用隔離機(jī)制時(shí)撼短,需要ssh免密登錄 -->
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/hadoop/.ssh/id_rsa</value>
    </property>
    <property>
        <!-- 元數(shù)據(jù)文件目錄,默認(rèn)為//${hadoop.tmp.dir}/dfs/name挺勿,這里的hadoop.tmp.dir是core-site.xml中配置的臨時(shí)文件目錄 -->
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/dfs/name</value>
    </property>
    <property>
        <!-- 數(shù)據(jù)目錄 -->
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/dfs/data</value>
    </property>
    <property>
        <!-- 副本的冗余數(shù)量曲横,正常應(yīng)該是三個(gè) -->
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <!-- 在nn和dn上開啟webHDFS (REST API) 功能,不是必須 -->
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    
    <!-- 數(shù)據(jù)節(jié)點(diǎn) 追加 start -->
    <property>
        <!-- 是否開啟數(shù)據(jù)節(jié)點(diǎn)追加不瓶,默認(rèn)為true禾嫉,當(dāng)節(jié)點(diǎn)很少(即,節(jié)點(diǎn)宕掉了沒有新的節(jié)點(diǎn)可提供)時(shí)蚊丐,應(yīng)該關(guān)閉 -->
        <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
        <value>true</value>
    </property>
    <property>
        <!-- 數(shù)據(jù)節(jié)點(diǎn)追加熙参,當(dāng)上一個(gè)設(shè)置為true時(shí)起作用 -->
        <name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
        <value>NEVER</value>
    </property>
    <!-- 數(shù)據(jù)節(jié)點(diǎn) 追加 end -->
    
    <property>
        <!-- 權(quán)限檢查開關(guān),只有在有權(quán)限的環(huán)境中有用 -->
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <!-- webserver使用的用戶名麦备,','分隔添加用戶組 -->
        <name>dfs.web.ugi</name>
        <value>hadoop,hadoop</value>
    </property>
    <property>
        <!-- 超時(shí)時(shí)間孽椰,單位 毫秒 -->
        <name>dfs.socket.timeout</name>
        <value>240000</value>
    </property>
    <property>
        <!-- 指定用于在DataNode間傳輸block數(shù)據(jù)的最大線程數(shù),默認(rèn)4096 線上配置為40960 -->
        <name>dfs.datanode.max.transfer.threads</name>
        <value>4096</value>
    </property>
    <property>
        <!-- 打開文件數(shù)量上限泥兰,不能超過系統(tǒng)打開文件數(shù)設(shè)置 線上配置40960 -->
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
    </property>
    <property>
        <!-- datanode同時(shí)處理客戶端請(qǐng)求線程數(shù)弄屡,默認(rèn)為10 線上配置500 -->
        <name>dfs.datanode.handler.count</name>
        <value>50</value>
    </property>
    <property>
        <!-- namenode線程數(shù),越大消耗內(nèi)存越大 線上配置500 -->
        <name>dfs.namenode.handler.count</name>
        <value>50</value>
    </property>
    <!-- 動(dòng)態(tài)增刪節(jié)點(diǎn)鞋诗,下面兩項(xiàng)配置膀捷,運(yùn)行hadoop dfsadmin -refreshNodes 即可使其生效 -->
    <property>
        <!-- 節(jié)點(diǎn)寫在文件中 -->
        <name>dfs.hosts</name>
        <value>/home/hadoop-2.7.3/etc/hadoop/slaves</value>
    </property>
    <property>
        <!-- 要?jiǎng)h除的節(jié)點(diǎn)寫在文件中 -->
        <name>dfs.hosts.exclude</name>
        <value>/home/hadoop-2.7.3/etc/hadoop/exclude-slaves</value>
    </property>

</configuration>

2.3 mapred-site.xml




<configuration>
    
    <property>
        <!-- 指定map reduce運(yùn)行在YARN上 -->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <!-- mapreduce共享目錄,MapReduce的控制文件 -->
        <name>mapred.system.dir</name>
        <value>/home/hadoop-2.7.3/mapred_system</value>
    </property>
    <property>
        <!-- MapReduce產(chǎn)生的中間數(shù)據(jù)存放目錄,以,號(hào)隔開,hdfs會(huì)把數(shù)據(jù)存在這些目錄下削彬,一般這些目錄是不同的塊設(shè)備全庸,不存在的目錄會(huì)被忽略掉 -->
        <name>mapred.local.dir</name>
        <value>/home/hadoop-2.7.3/mapred_local</value>
    </property>
    <property>
        <!-- mapreduce歷史作業(yè)服務(wù):端口 -->
        <name>mapreduce.jobhistory.address</name>
        <value>hdp21:10020</value>
    </property>
    <property>
        <!-- mapreduce歷史作業(yè)  web ui 服務(wù):端口 -->
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hdp21:19888</value>
    </property>
    <property>
        <!-- mapreduce正在運(yùn)行作業(yè)信息目錄 -->
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/home/hadoop-2.7.3/mr-history/tmp</value>
    </property>
    <property>
        <!-- mapreduce已完成作業(yè)信息目錄 -->
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/home/hadoop-2.7.3/mr-history/done</value>
    </property>
    <!-- JVM參數(shù) -->
    <property>
        <!-- 每個(gè)map或reduce使用的內(nèi)存數(shù)量,線上512m -->
        <name>mapred.child.java.opts</name>
        <value>-Xmx200M</value>
    </property>
    <property>
        <!-- reduce使用的內(nèi)存數(shù)量融痛,線上512m -->
        <name>mapred.reduce.child.java.opts</name>
        <value>-Xmx200M</value>
    </property>
    <property>
        <!-- map使用的內(nèi)存數(shù)量壶笼,線上512m -->
        <name>mapred.map.child.java.opts</name>
        <value>-Xmx200M</value>
    </property>

</configuration>

2.4 yarn-site.xml



<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <!-- 輔助服務(wù),擴(kuò)展自己的功能 -->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <!-- 開啟RM高可用雁刷,ha高可用集群覆劈,這里是雙機(jī) -->
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <!-- 自動(dòng)故障切換 -->
        <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <!-- 指定RM的名字 -->
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <!--  -->
        <name>yarn.resourcemanager.zk-address</name>
        <value>hdp23:2181,hdp24:2181,hdp25:2181</value>
    </property>
    <property>
        <!-- 指定rm1的地址 -->
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>hdp21</value>
    </property>
    <property>
        <!-- 指定rm2的地址 -->
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hdp22</value>
    </property>
    <property>
        <!-- 指定RM的cluster集群 id -->
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yrc</value>
    </property>
    <property>
        <!-- 該節(jié)點(diǎn)上YARN可使用的物理內(nèi)存總量,默認(rèn)是8192(MB)沛励,YARN不會(huì)智能的探測(cè)節(jié)點(diǎn)的物理內(nèi)存總量责语,線上是16372 -->
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>512</value>
    </property>

</configuration>

2.5 slaves

hdp23
hdp24
hdp25

2.6 修改hadoop-env.sh

vim /home/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
把原來的export JAVA_HOME=${JAVA_HOME}
修改為export JAVA_HOME= /usr/local/jdk1.7.0_71
即真實(shí)的jdk安裝路徑

2.7 復(fù)制配置到其他節(jié)點(diǎn)

cd /home/
scp -r hadoop-2.7.3/ hdp22:/home/
scp -r hadoop-2.7.3/ hdp23:/home/
scp -r hadoop-2.7.3/ hdp24:/home/
scp -r hadoop-2.7.3/ hdp25:/home/

3 環(huán)境變量

su root
vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/home/hadoop-2.7.3
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
復(fù)制到其他節(jié)點(diǎn):scp /etc/profile.d/hadoop.sh hdp22: /etc/profile.d/
執(zhí)行使配置立即生效 . /etc/profile.d/hadoop.sh

4 為啟動(dòng)準(zhǔn)備
4.1 zookeeper

啟動(dòng)zookeeper,zk-bat.sh start
Zookeeper已經(jīng)安裝完成 zk-bat.sh是我寫的啟動(dòng)腳本

4.2 創(chuàng)建zk命名空間

在主NameNode節(jié)點(diǎn)上執(zhí)行(創(chuàng)建命名空間):
hdfs zkfc -formatZK

4.3 JournalNode

在各個(gè)DataNode節(jié)點(diǎn)上執(zhí)行(啟動(dòng)journalnode):
hadoop-daemon.sh start journalnode
使用jps查看服務(wù)是否啟動(dòng)

4.4 格式化hdfs

格式化namenode和journalnode目錄
hdfs namenode -format ns

4.5 啟動(dòng)namenode

1目派,在主namenode節(jié)點(diǎn)啟動(dòng)namenode進(jìn)程(hdp21坤候,只在一個(gè)NameNode上執(zhí)行即可)
hadoop-daemon.sh start namenode
2,復(fù)制主NameNode(在hdp22上企蹭,把備namenode節(jié)點(diǎn)的目錄格式化并把元數(shù)據(jù)從主namenode節(jié)點(diǎn)copy過來白筹,并且這個(gè)命令不會(huì)把journalnode目錄再格式化了):
hdfs namenode –bootstrapStandby
3智末,啟動(dòng)備namenode進(jìn)程(在hdp22上執(zhí)行)
hadoop-daemon.sh start namenode
4,在兩個(gè)NameNode上都執(zhí)行:
hadoop-daemon.sh start zkfc

4.6 啟動(dòng)DataNode

在所有的DataNode上執(zhí)行(啟動(dòng)datanode):
hadoop-daemon.sh start datanode

6 啟停

啟動(dòng)
start-dfs.sh
停止
stop-dfs.sh

7 監(jiān)控等

hdp21主NameNode

Hdfs瀏覽器訪問地址:
http://hdp21:50070

hdp22備NameNode

Hdfs瀏覽器訪問地址:
http://hdp22:50070

測(cè)試NameNode雙機(jī)

殺掉主NameNode徒河,即hdp21上的NameNode進(jìn)程系馆,瀏覽器查看hdp22的狀態(tài)

1.在hdp21上jps,找到NameNode進(jìn)程id并殺掉

圖片 1.png

2.瀏覽器查看備NameNode狀態(tài)

[圖片上傳中...(2.png-f1916-1516245036237-0)]

備用NameNode已經(jīng)啟動(dòng)了P榍唷K健!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棒厘,一起剝皮案震驚了整個(gè)濱河市纵穿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奢人,老刑警劉巖谓媒,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異何乎,居然都是意外死亡句惯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門支救,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抢野,“玉大人,你說我怎么就攤上這事各墨≈腹拢” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵贬堵,是天一觀的道長恃轩。 經(jīng)常有香客問我,道長黎做,這世上最難降的妖魔是什么叉跛? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蒸殿,結(jié)果婚禮上筷厘,老公的妹妹穿的比我還像新娘。我一直安慰自己宏所,他們只是感情好酥艳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楣铁,像睡著了一般玖雁。 火紅的嫁衣襯著肌膚如雪更扁。 梳的紋絲不亂的頭發(fā)上盖腕,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天赫冬,我揣著相機(jī)與錄音,去河邊找鬼溃列。 笑死劲厌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的听隐。 我是一名探鬼主播补鼻,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼雅任!你這毒婦竟也來了风范?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤沪么,失蹤者是張志新(化名)和其女友劉穎硼婿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體禽车,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寇漫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了殉摔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片州胳。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逸月,靈堂內(nèi)的尸體忽然破棺而出栓撞,到底是詐尸還是另有隱情,我是刑警寧澤彻采,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布腐缤,位于F島的核電站,受9級(jí)特大地震影響肛响,放射性物質(zhì)發(fā)生泄漏岭粤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一特笋、第九天 我趴在偏房一處隱蔽的房頂上張望剃浇。 院中可真熱鬧,春花似錦猎物、人聲如沸虎囚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淘讥。三九已至,卻和暖如春堤如,著一層夾襖步出監(jiān)牢的瞬間蒲列,已是汗流浹背窒朋。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝗岖,地道東北人侥猩。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像抵赢,于是被迫代替她去往敵國和親欺劳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Zookeeper介紹: 1.基本介紹: Zookeeper: 為分布式應(yīng)用提供分布式協(xié)作(協(xié)調(diào))服務(wù)铅鲤。使用...
    奉先閱讀 4,575評(píng)論 0 10
  • hadoop2集群搭建詳解------------------------天津九安醫(yī)療電子--吳偉 一划提、需要軟件 ...
    hogface閱讀 1,813評(píng)論 1 4
  • Spring的XML配置的bean配置屬性 1.id: 作用:Bean的唯一標(biāo)識(shí)名。它必須是合法的XML ID,在...
    GFHowe閱讀 185評(píng)論 0 0
  • 天氣真好邢享。 這段路腔剂,我就陪你走到這里吧。 你要過得好驼仪。
    蓉樹樹閱讀 116評(píng)論 0 0