hadoop初識 - 搭建偽分散式叢集(CentOS6.5)
關於hadoop模式三種的瞭解,請自行百度瞭解,此文只說明偽分散式的搭建
前提:jdk(hadoop是有java語言完成的,必須有jdk支援)
可以參考我的經驗 --- > Linux-CentOS-6.5下配置JDK
一、準備工作
1、下載hadoop
地址:http://hadoop.apache.org/releases.html
2、關閉防火牆 - 為了方便之後操作
以下操作重啟後會失效,說明,CentOS 7命令不一樣
# 檢視防火牆當前狀態 service iptables status # 開啟防火牆 service iptables start # 關閉防火牆 service iptables stop
以下操作重啟後生效(即不需要每次開機都必須去關閉防火牆)
# 檢視防火牆當前狀態
chkconfig | grep iptables
# 開啟防火牆
chkconfig iptables on
# 關閉防火牆
chkconfig iptables off
3、配置主機名
注意主機名不要有下劃線
vim /etc/sysconfig/network
使上面命令生效
source /etc/sysconfig/network
說明:此處可以重啟(reboot重啟後,進入該檔案檢視是否修改成功)
4、配置hosts
vim /etc/hosts
填寫ip地址與主機名,例如 192.168.91.134 hadoop01
5、配置之間免密互通
生成公鑰、私鑰
ssh-keygen
將公鑰copy到本主機
# ssh-copy-id [登入名]@[host/ip地址]
ssh-copy-id [email protected]
測試,若沒有提示輸入密碼。則說明免密互通設定成功
# ssh [host/ip地址]
ssh 192.168.91.134
二、hadoop解壓
# tar -zxvf [hadoop安裝包位置] -C [指定目錄]
tar -zxvf /home/software/hadoop-2.7.1_64bit.tar.gz -C /home/software/
二、hadoop相關配置 - 以下檔案都位於hadoop/etc/hadoop/*
1、修改hadoop-env.sh
# vim [hadoop]/etc/hadoop/hadoop-env.sh
vim hadoop-env.sh
在hadoop-env.sh中,第27行,修改到安裝目錄
# 安裝目錄
export JAVA_HOME=/usr/java/jdk1.8.0_131
2、修改core-site.xml - 注意目錄為自己本機安裝目錄
# vim [hadoop]/etc/hadoop/core-site.xml
vim core-site.xml
<configuration>
<property>
<!--用來指定hdfs的老大,namenode的地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--用來指定hadoop執行時產生檔案的存放目錄-->
<name>hadoop.tmp.dir</name>
<value>/home/software/hadoop-2.7.1/tmp</value>
</property>
</configuration>
3、修改 hdfs-site.xml
# vim [hadoop]/etc/hadoop/hdfs-site.xml
vim hdfs-site.xml
<configuration>
<property>
<!--指定hdfs儲存資料副本的數量,包括自己,預設為3-->
<!--偽分散式模式,此值必須為1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4、修改 mapred-site.xml
說明:在/etc/hadoop的目錄下,只有一個mapred-site.xml.template檔案,複製一個 cp mapred-site.xml.template mapred-site.xml
# vim [hadoop]/etc/hadoop/mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<!--指定mapreduce執行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5、修改 yarn-site.xml
# vim [hadoop]/etc/hadoop/yarn-site.xml
vim yarn-site.xml
<configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<!--NodeManager獲取資料的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6、修改 slaves
# vim [hadoop]/etc/hadoop/slaves
vim slaves
這裡只需將主機名填寫進去即可
7、配置hadoop的環境變數
vim /etc/profile
# hadoop安裝位置
export HADOOP_HOME=/home/software/hadoop-2.7.1/
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
重新載入profile使配置生效 source /etc/profile
環境變數配置完成,測試環境變數是否生效 echo $HADOOP_HOME
8、重啟linux - reboot
不是必須的,但建議執行
9、格式化namenode
進入 hadoop/bin 輸入命令格式化
# 以前命令 hdfs namenode -format
hadoop namenode -format
若是成功的話,可以再輸出的日誌倒數第七行看到
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted
10、啟動hadoop
在/home/app/hadoop-2.6.0/sbin目錄下
start-all.sh
啟動成功後,輸入 jps 命令(jdk自帶的,這裡由於配置了環境變數所以任何地方可以使用)會看到如下五個輸出
1825 SecondaryNameNode
1988 ResourceManager
2087 NodeManager
2408 Jps(忽略)
1532 NameNode
1630 DataNode
到此偽分散式叢集搭建成功
小擴充套件:
1. 在外部輸入http://[ip地址]:50070 可以看到如下
2. 在外部輸入http://[ip地址]:8088 可以看到如下