Hadoop的安裝和僞分佈式集羣搭建

1.java安裝

2.配置免密碼登錄

創建公鑰和私鑰

ssh -keygen -t rsa

將要登錄者機器的公鑰id_rsa.pub內容添加到被登錄機器的authorized_keys中,修改authorized_keys權限

這裏模擬本機登錄本機

cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys

直接ssh 主機名免密碼登錄

ssh bigdata-test01.mykine.cn

3.Hadoop安裝

選擇需要的版本下載

解壓文件,將文件夾路徑配置到環境變量

vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8
JRE_HOME=/usr/local/java/jdk1.8/jre
GOROOT=/usr/local/go
GOPATH=/usr/local/goapps
HADOOP_HOME=/usr/local/hadoop-2.7.2
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$GOROOT/bin:$HADOOP_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH GOROOT GOPATH HADOOP_HOME

重啓環境變量

source /etc/profile 

4.修改配置文件搭建僞分佈式模式Hadoop集羣

2.7舊版本的配置文件目錄在etc/hadoop中

cd /usr/local/hadoop-2.7.2/etc/hadoop 

以下配置文件中的設置的文件夾不存在要手動創建,例如:

mkdir -p /usr/local/hadoop-2.7.2/current/tmp
core-site.xml
  1. 配置web訪問地址
  2. 臨時文件所在目錄
  3. 垃圾回收時長
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
    <name>fs.default.name</name>
    <value>hdfs://bigdata-test01.mykine.cn:9000</value>
  </property>

 <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop-2.7.2/current/tmp</value>
  </property>
 <property>
    <name>fs.trash.interval</name>
    <value>4320</value>
  </property>
</configuration>
分佈式文件系統配置 hdfs-site.xml
  1. NameNode進程負責記錄各數據塊的存儲空間位置
  2. DataNode進程負責的數據真實物理存儲目錄
  3. 副本的數量(一般等於數據塊節點個數)
  4. 是否啓用web管理頁面
  5. 用戶組
  6. 權限是否開啓
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>/usr/local/hadoop-2.7.2/current/dfs/name</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/usr/local/hadoop-2.7.2/current/data</value>
 </property>
 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>
 </configuration>
yarn-site.xml
  1. 運行resourcemanager服務進程(資源調度服務)的機器的主機名或IP地址
  2. NodeManager上運行的附屬服務,需配置成mapreduce_shuffle,纔可運行MapReduce程序
  3. mapreduce_shuffle相關類名
  4. resourcemanager的主機端口
  5. resourcemanager的調度器的端口
  6. resourcemanager的tracker的端口
  7. resourcemanager的admin的端口
  8. resourcemanager的weapp的端口
  9. yarn日誌是否開啓
  10. yarn日誌聚合保留時長
  11. HDFS上的remote-app-log日誌目錄
  12. HDFS上的remote-app-log日誌前綴
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata-test01.mykine.cn</value>
 </property>
 <property>
   <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>
   <name>yarn.resourcemanager.address</name>
   <value>bigdata-test01.mykine.cn:18040</value>
 </property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>bigdata-test01.mykine.cn:18030</value>
 </property>
 <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>bigdata-test01.mykine.cn:18025</value>
 </property> <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>bigdata-test01.mykine.cn:18141</value>
 </property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>bigdata-test01.mykine.cn:18088</value>
 </property>
<property>
   <name>yarn.log-aggregation-enable</name>
   <value>true</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-check-interval-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir</name>
   <value>/tmp/logs</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
   <value>logs</value>
 </property>
 </configuration>
mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

  1. mapreduce基於的框架yarn
  2. mapreduce通信端口
  3. mapreduce歷史作業服務address端口
  4. mapreduce歷史作業服務webapp端口
  5. mapreduce已完成的在HDFS上的日誌目錄
  6. mapreduce中間完成的在HDFS上的日誌目錄
  7. 啓用mapreduce作業任務
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property>
  <name>mapreduce.jobtracker.http.address</name>
  <value>bigdata-test01.mykine.cn:50030</value>
</property>
<property>
  <name>mapreduce.jobhisotry.address</name>
  <value>bigdata-test01.mykine.cn:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>bigdata-test01.mykine.cn:19888</value>
</property>
<property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>/jobhistory/done</value>
</property>
<property>
  <name>mapreduce.intermediate-done-dir</name>
  <value>/jobhisotry/done_intermediate</value>
</property>
<property>
  <name>mapreduce.job.ubertask.enable</name>
  <value>true</value>
</property>
</configuration>
slaves

配置datanode的nodemanager在bigdata-test01.mykine.cn這臺機器運行

bigdata-test01.mykine.cn
hadoop-env.sh

配置jdk目錄

export JAVA_HOME=/usr/local/java/jdk1.8
格式化HDFS
hdfs namenode -format

當顯示類似INFO common.Storage: Storage directory /usr/local/hadoop-2.7.2/current/dfs/name has been successfully formatted ,表示格式化成功

在這裏插入圖片描述

啓動Hadoop集羣
/usr/local/hadoop-2.7.2/sbin/start-all.sh

期間會提示是否啓動Secondary NameNode服務,輸入yes回車即可
(Secondary NameNode詳解參考)
在這裏插入圖片描述

查看運行狀態
  • 通過jps查看java進程
    在這裏插入圖片描述

  • 開放防火牆50070、18088端口

  • 通過http://ip:50070 查看hdfs
    在這裏插入圖片描述

在這裏插入圖片描述

  • 通過http://ip:18088 查看yarn
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章