Linux下配置集群


Linux下配置集群

(集群的機子必須都關閉防火牆,否則互相不能順暢訪問!!以致諸多錯誤!!)

首先需有jdk,且可運行,即有jdk環境變量
建議用我的目錄/opt/app/hadoop-2.7.2
-----------------------------------------------------------------------------------------------------------------------

安裝hadoop:

一、將hadoop包解壓到/opt/app:tar 包名 -C /opt/app
二、添加hadoop的全局變量: vim /etc/profile
添加: export HADOOP_HOME=/opt/app/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
三、刷新變量配置:source /etc/profile

-------------------------------------到此已配好hadoop----------------------------------------------------------------------

配置集群:(初始的本地模式、偽分布模式、完全分布模式)

偽分布模式(偽分布是一台機子承擔全部角色):
1、hdfs
  ①配置文件(etc/hadoop):
  Ⅰ、hadoop-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131

  Ⅱ、core-site.xml 在<configuration>下面添加:
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop11:9000</value>
    </property>
    <!-- 指定hadoop運行時產生文件的存儲目錄 -->
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/opt/app/hadoop-2.7.2/data/tmp</value>
    </property>

  Ⅲ、hdfs-site.xml 在<configuration>下面添加:
    <!-- 指定HDFS副本的數量 -->
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>

  ②啟動集群:(a)格式化namenode(第一次啟動時格式化,以后就不要總格式化):
            bin/hdfs namenode -format
    (b)啟動namenode:sbin/hadoop-daemon.sh start namenode
    (c)啟動datanode:sbin/hadoop-daemon.sh start datanode
2、yarn
 ①配置文件:
  Ⅳ、yarn-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
  Ⅴ、yarn-site.xml 在<configuration>下面添加:
    <!-- reducer獲取數據的方式 -->
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>hadoop11</value>
    </property>

  Ⅵ、mapred-env.sh 在<configuration>下面添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
  Ⅶ、mapred-site.xml(對mapred-site.xml.template重新命名) 在<configuration>下面添加:
    <!-- 指定mr運行在yarn上 -->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    <property>
      <name>mapreduce.jobhistory.address</name>
      <value>hadoop11:10020</value>
    </property>
    <property>
      <name>mapreduce.jobhistory.webapp.address</name>
      <value>hadoop11:19888</value>
    </property>

   ②啟動yarn: (a)啟動ResourceManager:sbin/yarn-daemon.sh start resourcemanager
      (b)啟動NodeManager:sbin/yarn-daemon.sh start nodemanager

------------------------------------------------------------------------------------------------------------------------------------

完全分布模式(偽分布集群,分配角色)
准備至少三台配好jdk的機子
將配置文件修改,分配角色 :

  hadoop11 hadoop12 hadoop13 hadoop14
 hdfs  

NameNode

DataNode

 

DataNode

SecondaryNameNode

DataNode

 

DataNode

 yarn 

 

NodeManager

ResourceManager

NodeManager

 

NodeManager

 

NodeManager

 

配置文件(etc/hadoop):
Ⅰ、hadoop-env.sh    添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅱ、core-site.xml     在<configuration>下面添加:
  <!-- 指定HDFS中NameNode的地址 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop11:9000</value>
  </property>
  <!-- 指定hadoop運行時產生文件的存儲目錄 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.7.2/data/tmp</value>
  </property>

Ⅲ、hdfs-site.xml    在<configuration>下面添加:
  <!-- 指定HDFS副本的數量 -->
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop13:50090</value>
  </property>

Ⅳ、yarn-env.sh   添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅴ、yarn-site.xml   在<configuration>下面添加:
  <!-- reducer獲取數據的方式 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <!-- 指定YARN的ResourceManager的地址 -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop12</value>
  </property>
Ⅵ、mapred-env.sh   在<configuration>下面添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅶ、mapred-site.xml(對mapred-site.xml.template重新命名)    在<configuration>下面添加:
  <!-- 指定mr運行在yarn上 -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop11:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop11:19888</value>
  </property>
Ⅷ、slaves   將local刪掉,添加:
  hadoop11
  hadoop12
  hadoop13
  hadoop14

分發hadoop:無密碼通訊下
  scp /opt/app/hadoop-2.7.2 root@hadoop12

  scp /opt/app/hadoop-2.7.2 root@hadoop13

  scp /opt/app/hadoop-2.7.2 root@hadoop14
啟動集群:(a)在主節點hadoop11上格式化NameNode(集群成功后無需再格式化):

          bin/hdfs namenode -format
      (b)在主節點hadoop11上啟動dfs:sbin/start-dfs.sh
      (c)在resourcemanager機子上啟動yarn():sbin/start-yarn.sh

        說明NamenodeResourceManger如果不是同一台機器,不能在NameNode上啟

           動 yarn,應該在ResouceManager所在的機器上啟動yarn


  查看進程: jps
  停止進程:(a)停止dfs:sbin/stop-dfs.sh
       (b)停止yarn:sbin/stop-yarn.sh

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM