(二)hadoop偽分佈模式安裝
阿新 • • 發佈:2018-12-18
本文以偽分散式模式搭建hadoop
1、三種安裝模式:
- 單機模式:無法使用HDFS,只能使用MapReduce,主要目的是在本機測試mapreduce程式碼
- 偽分散式模式:使用一臺機器,使用多個執行緒模擬多臺真實機器,模擬真實的分散式環境
- 完全分散式模式:用多臺機器(虛擬機器)來完成部署叢集
2、修改主機名
使用主機名代替ip,更易配置。
- vim /etc/hosts
127.0.0.1 localhost
::1 localhost
192.168.101.100 hadoop01
- vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop01
-
判斷/etc/hostname檔案是否存在,若存在則修改主機名 vim /etc/hostname
hadoop01
-
重啟:reboot
3、配置免密登入
不配置免密登入,啟動hadoop時,需要輸入密碼,很繁瑣。配置步驟如下:
- 生成祕鑰:ssh-keygen,一直回車即可。
- 把祕鑰傳送給自己:ssh-copy-id [email protected]
4、關閉防火牆
此處使用的centeros7版本,關閉防火牆使用命令為:systemctl stop firewalld
詳情見文章:https://blog.csdn.net/song_csdn1550/article/details/51768671
5、下載並解壓hadoop壓縮包
- 下載:連結 :https://pan.baidu.com/s/1r5SgRD4Bi2VdaldI-wxwcw 提取碼:8mg1
- 解壓:tar -ixf hadoop-2.7.1_64bit.tar.gz
解壓後hadoop目錄如下:
6、修改etc/hadoop/ 目錄下的配置檔案
- vim hadoop-env.sh
修改JAVA_HOME,HADOOP_CONF_DIR,
#指定jdk的安裝路徑,儘管環境變數PATH配置了JAVA_HOME,但hadoop也需要配置
export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
#hadoop配置檔案存放路徑
export HADOOP_CONF_DIR=/opt/hadoop-2.7.1/etc/hadoop
- vim core-site.xml
<configuration>
<property>
<!--用來指定hdfs的老大,namenode的地址-->
<name>fs.default.name</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--用來指定hadoop執行時產生檔案的存放目錄。注意目錄是要真實存在的,若沒有則自己建立-->
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.1/tmp</value>
</property>
<!--value的時間單位是分鐘,如果配置成0,表示不開啟HDFS的回收站
1440=24*60,表示的一天的回收間隔,即檔案在回收站存在一天後,被清空-->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
- vim hdfs-site.xml
<configuration>
<!--指定hdfs儲存資料副本的數量,包括自己,預設值是3-->
<!--如果是偽分佈模式,此值是1,因為只有一臺伺服器-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--設定hdfs的操作許可權,false表示任何使用者都可以在hdfs上操作檔案-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- vim mapred-site.xml
先檢視當前目錄下是否存在檔案 mapred-site.xml,若沒有則把模板複製一份,複製命令如下:cp mapred-site.xml.template mapred-site.xml
<configuration>
<!--指定mapreduce執行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- vim yarn-site.xml
<configuration>
<!--指定yarn的老大 resoucemanager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<!--NodeManager獲取資料的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- vim slaves
從分散式的角度來看,datanode是從,namenode是主。若有多個datanode則往下寫多個即可。
對於偽分散式配置,只能配置為自己。
hadoop01
- vim /etc/profile
啟動hadoop的命令在bin和sbin目錄裡,為了方便啟動,則把bin和sbin目錄配置到環境變數。
在檔案末尾新增如下內容:jkd和hadoop的配置。
最後執行命令執 source /etc/profile 讓配置立即生效。
#JDK安裝目錄
JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
#hadoop的安裝目錄
HADOOP_HOME=/opt/hadoop-2.7.1
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH HADOOP_HOME
7、格式化
第一次啟動hadoop需要先格式化,格式化命令:hadoop namenode -format
若不成功可以重啟linux再執行命令,注意檢查自己的ip,jdk,配置檔案是否正確。
若列印資訊如下,則表示格式化成功。
8、啟動以及關閉
進入hadoop的sbin目錄,可以看到很多可以使用的命令
- 啟動:sh start-dfs.sh 啟動後輸入命令 jps 檢視是否有如下三個程序,若有則表示成功。
- 通過web頁面訪問:http://192.168.101.100:50070
- 關閉:sh stop-dfs.sh