Hadoop完全安裝


1.下載和配置JDK

本文的Java環境是jdk-1.8.0
下載包:jdk-8u144-linux-x64.tar.gz

tar -xzvf jdk-8u144-linux-x64.tar.gz

設置環境變量(/etc/profile:系統環境變量,~/.bashrc:用戶環境變量 命令source 更新環境變量設置)

export JAVA_HOME=/opt/download/jdk1.8.0_144(填寫自己的jdk安裝路徑)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export PATH=${JAVA_HOME}/bin:$PATH

分別輸入命令,java 、 javac 、 java -version,查看jdk環境變量是否配置成功


2.計劃集羣的三臺主機,一臺master,兩臺salver

修改主機名

1.修改/etc/hostname
2.修改/etc/hosts

將虛擬機的網絡連接改爲only-host模式,查詢IP地址如下
master 192.168.145.128
salve1 192.168.145.129
salve1 192.168.145.130

3.配置三臺機器之間的免密登陸

Ubuntu免密登陸設置 中有詳細的步驟。

4.配置Hadoop環境變量

需要配置的文件有:/etc/profile、HADOOP_HOME/etc/hadoop-env.sh、HADOOP_HOME/etc/yarn-env.sh。
(1)配置HADOOP_HOME,編輯/etc/profile

export HADOOP_HOME=/home/hadoop/hadoop (Hadoop的安裝路徑)
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
(以下兩行最好加上,若沒有啓動Hadoop、hbase時都會有沒加載lib成功的警告)
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

(2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安裝目錄下
編輯 vim etc/hadoop/hadoop-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安裝路徑)
編輯 vim etc/hadoop/yarn-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安裝路徑)

5.配置相關的基本xml

需要配置的文件core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml
(1)配置core-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/core-site.xml

<configuration>

      <property> 
        <name>fs.defaultFS</name> <!--NameNode 的URI-->
        <value>hdfs://mater:9000</value> 
      </property> 
      <property> 
        <name>hadoop.tmp.dir</name> <!--hadoop臨時文件的存放目錄-->
        <value>/opt/hbase/hadoop-2.7.3/temp</value> 
      </property> 
    </configuration>

(2)配置hdfs-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/hdfs-site.xml

  <configuration>
      <property> <!--namenode持久存儲名字空間及事務日誌的本地文件系統路徑--> 
        <name>dfs.namenode.name.dir</name> 
        <value>/opt/hbase/hadoop-2.7.3/dfs/name</value> 

          <!--目錄無需預先創建,會自動創建-->
      </property> 
      <property>  <!--DataNode存放塊數據的本地文件系統路徑--> 
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hbase/hadoop-2.7.3/dfs/data</value> 
       </property> 
      <property>  <!--數據需要備份的數量,不能大於集羣的機器數量,默認爲3-->
        <name>dfs.replication</name>
        <value>2</value> 
      </property>

      <property> 
        <name>dfs.namenode.secondary.http-address</name> 
        <value>master:9001</value> 
      </property>  
      <property>  <!--設置爲true,可以在瀏覽器中IP+port查看--> 
        <name>dfs.webhdfs.enabled</name>
        <value>true</value> 
      </property> 
    </configuration>

(3)配置mapred-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/mapred-site.xml

 <configuration>
    <property> <!--mapreduce運用了yarn框架,設置name爲yarn--> 
      <name>mapreduce.framework.name</name> 
      <value>yarn</value> 
    </property> 
    <property> <!--歷史服務器,查看Mapreduce作業記錄--> 
      <name>mapreduce.jobhistory.address</name> 
      <value>master:10020</value> 
    </property> 
    <property> 
      <name>mapreduce.jobhistory.webapp.address</name> 
      <value>master:19888</value> 
    </property> 
  </configuration>

(4)配置yarn-site.xml,在Hadoop安裝目錄下 編輯 vim etc/hadoop/yarn-site.xml

 <configuration>
    <property> <!--NodeManager上運行的附屬服務,用於運行mapreduce--> 
      <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> <!--ResourceManager 對客戶端暴露的地址--> 
      <name>yarn.resourcemanager.address</name> 
      <value>master:8032</value> 
    </property> 
    <property> <!--ResourceManager 對ApplicationMaster暴露的地址-->  
      <name>yarn.resourcemanager.scheduler.address</name> 
      <value>master:8030</value> 
    </property> 
    <property> <!--ResourceManager 對NodeManager暴露的地址--> 
      <name>yarn.resourcemanager.resource-tracker.address</name>  
      <value>master:8031</value> 
    </property> 
    <property> <!--ResourceManager 對管理員暴露的地址--> 
      <name>yarn.resourcemanager.admin.address</name>   
      <value>master:8033</value> 
    </property> 
    <property> <!--ResourceManager 對外web暴露的地址,可在瀏覽器查看-->   
      <name>yarn.resourcemanager.webapp.address</name> 
      <value>master:8088</value> 
    </property> 
  </configuration>

7、配置slaves文件

在Hadoop安裝目錄下,編輯vim etc/hadoop/slaves,去除默認的localhost,加入slave1、slave2,保存退出。

8、通過遠程複製命令scp,將配置好的Hadoop複製到各個節點對應位置

 scp -r /opt/hadoop-2.7.4 192.168.145.129:/opt/hadoop-2.7.4 
 scp -r /opt/hadoop-2.7.4 192.168.145.130:/opt/hadoop-2.7.4 

9、Hadoop的啓動與停止

(1)接下來配置本地hosts,編輯./etc/hosts文件,加入
192.168.145.128 master
192.168.145.129 salve1
192.168.145.130 salve1 在Master服務器啓動hadoop,從節點會自動啓動,進入Hadoop目錄下,
(2)輸入命令,bin/hdfs namenode -format進行hdfs格式化
輸入命令,sbin/start-all.sh,進行啓動(目前不推薦這樣)
也可以分開啓動,sbin/start-dfs.sh、sbin/start-yarn.sh
在master 上輸入命令:jps, 看到ResourceManager、
NameNode、SecondaryNameNode進程
在slave 上輸入命令:jps, 看到DataNode、NodeManager進程
出現這5個進程就表示Hadoop啓動成功。
(3)在瀏覽器中輸入http://master:50070查看master狀態,
輸入http://192.168.172.72:8088查看集羣狀態
(4)停止hadoop,進入Hadoop目錄下,輸入命令:sbin/stop-all.sh,
即可停止master和slave的Hadoop進程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章