高可用Hadoop集群搭建

配置

1. 配置hosts

在/etc/hosts中配置ip與機(jī)器名關(guān)系

192.168.0.1   lc2
192.168.0.2   lc3
192.168.0.3   lc4

2. 配置無秘鑰登錄

  • 生成秘鑰
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  • 拷貝
    ssh-copy-id -i ~/.ssh/id_rsa.pub user@st1

3. 配置java環(huán)境

省略

4. Zookeeper集群搭建

集群搭建

5. Hadoop配置

  • core.xml
<configuration>
        <!--nameservices-->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://ns</value>
        </property>
    
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/data/hadoop/tmp</value>
        </property>
        
        <!--zookeeper集群-->
        <property>
            <name>ha.zookeeper.quorum</name>
            <value>lc2:2181,lc3:2181,lc4:2181</value>
        </property>
</configuration>
  • hdfs-site.xml
<configuration>
    <!--指定hdfs的nameservice為ns,需要和core-site.xml中的保持一致 -->
    <property>
        <name>dfs.nameservices</name>
        <value>ns</value>
    </property>
    <!-- ns下面有兩個NameNode秉溉,分別是nn1力惯,nn2 -->
    <property>
        <name>dfs.ha.namenodes.ns</name>
        <value>nn1,nn2</value>
    </property>
    <!-- nn1的RPC通信地址 -->
    <property>
        <name>dfs.namenode.rpc-address.ns.nn1</name>
        <value>lc2:9000</value>
    </property>
    <!-- nn1的http通信地址 -->
    <property>
        <name>dfs.namenode.http-address.ns.nn1</name>
        <value>lc2:50070</value>
    </property>
    <!-- nn2的RPC通信地址 -->
    <property>
        <name>dfs.namenode.rpc-address.ns.nn2</name>
        <value>lc3:9000</value>
    </property>
    <!-- nn2的http通信地址 -->
    <property>
        <name>dfs.namenode.http-address.ns.nn2</name>
        <value>lc3:50070</value>
    </property>
    <!-- 指定NameNode的元數(shù)據(jù)在JournalNode上的存放位置 -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://lc2:8485;lc3:8485;lc4:8485/ns</value>
    </property>
    <!-- 指定JournalNode在本地磁盤存放數(shù)據(jù)的位置 -->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/data/hadoop/journal</value>
    </property>
    <!-- 開啟NameNode故障時自動切換 -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <!-- 配置失敗自動切換實(shí)現(xiàn)方式 -->
    <property>
        <name>dfs.client.failover.proxy.provider.ns</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <!-- 配置隔離機(jī)制 -->
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>
    <!-- 使用隔離機(jī)制時需要ssh免登陸 -->
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/magneto/.ssh/id_rsa</value>
    </property>

    <!-- 在NN和DN上開啟WebHDFS (REST API)功能,不是必須 -->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/data</value>
    </property>
</configuration>
  • yarn-site.xml
<configuration>
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>rs</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>lc3</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>lc4</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>lc3:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>lc4:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>lc2:2181,lc3:2181,lc4:2181</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>1.5</value>
    </property>

    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>50000</value>
    </property>

    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>80</value>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>

    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>32768</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>24</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-vcores</name>
        <value>1</value>
    </property>
    <property>
        <name>yarn.acl.enable</name>
        <value>true</value>
        <description>使用使用ACL,默認(rèn)是false</description>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.cluster.acls.enabled</name>
        <value>true</value>
    </property>
</configuration>
  • slaves
lc2
lc3
lc4

6. 配置Hadoop環(huán)境變量

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

接下來拷貝hadoop目錄到所有機(jī)器上召嘶。

啟動

1.啟動zookeeper集群

在所有配置了zookeeper機(jī)器上執(zhí)行sh zkServer.sh start

2.啟動journalno

在所有journalnode上執(zhí)行sbin/hadoop-daemons.sh start journalnode

4.格式化zkfc,讓在zookeeper中生成ha節(jié)點(diǎn)

在lc2上執(zhí)行如下命令父晶,完成格式化
hdfs zkfc –formatZK
格式化hdfs,執(zhí)行hadoop namenode –format

5.啟動namenode

首先在lc2上啟動active節(jié)點(diǎn)弄跌,在lc2上執(zhí)行如下命令sbin/hadoop-daemon.sh start namenode
在lc3上同步namenode的數(shù)據(jù)甲喝,執(zhí)行hdfs namenode –bootstrapStandby
啟動lc3上的namenode作為standby,執(zhí)行sbin/hadoop-daemon.sh start namenode

6.啟動datanode

執(zhí)行sbin/hadoop-daemons.sh start datanode

7.啟動ZKFC

在lc2上執(zhí)行如下命令铛只,完成ZKFC的啟動
執(zhí)行sbin/hadoop-daemons.sh start zkfc

8.啟動yarn

執(zhí)行start-yarn.sh
yarn-daemons.sh start resourcemanager

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末埠胖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子淳玩,更是在濱河造成了極大的恐慌直撤,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜕着,死亡現(xiàn)場離奇詭異谋竖,居然都是意外死亡红柱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蓖乘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锤悄,“玉大人,你說我怎么就攤上這事嘉抒×憔郏” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵些侍,是天一觀的道長隶症。 經(jīng)常有香客問我,道長娩梨,這世上最難降的妖魔是什么沿腰? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮狈定,結(jié)果婚禮上颂龙,老公的妹妹穿的比我還像新娘。我一直安慰自己纽什,他們只是感情好措嵌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芦缰,像睡著了一般企巢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上让蕾,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天浪规,我揣著相機(jī)與錄音,去河邊找鬼探孝。 笑死笋婿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顿颅。 我是一名探鬼主播缸濒,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼粱腻!你這毒婦竟也來了庇配?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤绍些,失蹤者是張志新(化名)和其女友劉穎捞慌,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遇革,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卿闹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年揭糕,在試婚紗的時候發(fā)現(xiàn)自己被綠了萝快。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锻霎。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖揪漩,靈堂內(nèi)的尸體忽然破棺而出旋恼,到底是詐尸還是另有隱情,我是刑警寧澤奄容,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布冰更,位于F島的核電站,受9級特大地震影響昂勒,放射性物質(zhì)發(fā)生泄漏蜀细。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一戈盈、第九天 我趴在偏房一處隱蔽的房頂上張望奠衔。 院中可真熱鬧,春花似錦塘娶、人聲如沸归斤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脏里。三九已至,卻和暖如春虹曙,著一層夾襖步出監(jiān)牢的瞬間迫横,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工酝碳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矾踱,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓击敌,卻偏偏與公主長得像介返,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子沃斤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

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