1 準備乾淨的linux
linux沒有安裝任何的軟件並且沒有進行過任何的操作。
2 關閉防火牆
通過命令service iptables sopt 來關閉防火牆
通過 chkconfig iptables off 來關閉開機自動啓動防火牆
3 修改主機的hostname
進入 /etc/hosts 文件修改主機的hostname
4 設置靜態ip地址
修改靜態ip地址步驟:
- 先進入文件 /etc/sysconfig/network-scripts/ifcfg-eth0
- 然後修改裏面的內容如下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.112
GATEWAY=192.168.1.2
DNS1=114.114.114.114
DNS2=8.8.8.8
NATEWAK=255.255.255.0
- 修改完畢後重新啓動網絡服務 service network restart
5 編輯/etc/hosts文件添加集羣ip和hostname (腳本實現,一定要注意主機名和ip的映射關係)
自行編輯IP地址,一個IP地址對應一個主機名字,可以通過寫腳本來快速的注入文件中。
6 創建普通用戶,設置密碼,爲普通用戶添加sudo權限
- 通過命令:useradd 用戶名(添加用戶)
- 通過命令:password 用戶名(設置用戶密碼)
- 添加完用戶後,打開 /etc/sudoers 文件然後再90行的位置添加新用戶並且給新用戶賦予權限。
7 創建文件夾分別存放安裝包 和 解壓包
在根目錄/opt在分別創建兩個文件夾:mkdir -p module software
module用來存放應用程序,software用來存放解壓包。
8 爲創建的文件夾添加普通用戶的操作權限
更改創建好的文件夾的用戶所屬權,和所屬組的權:chown 用戶名:用戶名 (文件夾名字)module software
9 關機重啓,檢查以上配置是否最正確
10 確認無誤後,關機快照
注意:(從這裏開始切換到註冊好的用戶,不使用root用戶)
11 上傳jdk和hadoop包,解壓
- 通過xshell5中使用sftp連接方式遠程連接,然後進入到/opt/software文件夾中
- 然後把下載好的jdk解壓包和hadoop解壓包拉入到文件中。
- 當拉入進去之後切換成SSH遠程連接方式然後進行解壓文件:tar -zxvf 文件名 -C /opt/module (執行解壓文件。。。解壓到-C後的文件夾中)分別執行HADOOP解壓包和jdk解壓包
12 配置環境變量,檢查是否正確
- 執行命令:sudo vim /etc/profile
- 然後移動到最後一行
- 配置JDK環境變量如下:
export JAVA_HOME=(jdk安裝的絕對路徑)
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=(hadoop安裝的絕對路徑)
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
13 配置hadoop
- 配置hadoop-env.sh文件
修改JAVA_HOME 路徑:/opt/module/jdk1.8.0_144 - 配置:core-site.xml在其中添加並且修改其中的hostname爲自己的虛擬機的hostname。
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hostname:9000</value>
</property>
<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
- 配置:hdfs-site.xml(value的個數是這個集羣有幾臺服務器組成)
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 配置mapred-env.sh文件
修改其中的JAVA_HOME的絕對路徑爲自己JDK安裝的絕對路徑
5. 配置mapred-site.xml(hostname爲自己的哪臺虛擬機當作ResourceManager就寫誰)
- 當我們打開這個文件的時候沒有這個文件,但是有mapred-site.xml.template文件,所以需要先拷貝一份這個文件,cp mapred-site.xml.template mapred-site.xml(或者修改該文件的名字都是可以)
- 然後在其中添加內容(修改其中的hostname爲自己虛擬機的hostname)
<!-- 指定MR運行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hostname:10020</value>
</property>
<!-- 歷史服務器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hostname:19888</value>
</property>
- 配置yarn-env.sh
修改其中的JAVA_HOME的絕對路徑爲自己JDK安裝的絕對路徑 - 配置yarn-site.xml(配置hostname爲自己的那個主機當作ResourceManager,寫上其hostname)
<!-- Reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hostname</value>
</property>
14. 第一次啓動時格式話操作(只需要在第一次啓動namenode時執行一次)
在hadoop中執行命令進行格式化:bin/hdfs namenode -format(沒有報錯說明成功)
如果報錯了的話就查看自己的配置是不是有問題hostname是否配的正確,然後把hadoop目錄下的logs中的所有文件和data/tem/下的所有文件都刪除了然後重新執行上面的操作。
15. 啓動namenode
- 在hadoop文件夾下執行命令:sbin/hadoop-daemon.sh start namenode
- 然後jps查看服務是否已經啓動
16. 啓動datanode
- 在hadoop文件夾下執行命令:sbin/hadoop-daemon.sh start datanode
- 然後jps查看服務是否已經啓動
17. 啓動resourcemanager
- 在hadoop文件夾下執行命令:sbin/yarn-daemon.sh start resourcemanager
- 然後jps查看服務是否已經啓動
18. 啓動nodemanager
- 在hadoop文件夾下執行命令:sbin/yarn-daemon.sh start nodemanager
- 然後jps查看服務是否已經啓動
19. 啓動historyserver(歷史服務器)
- 在hadoop文件夾下執行命令:sbin/mr-jobhistory-daemon.sh start historyserver
- 然後jps查看服務是否已經啓動
20. 如何查看是否可以使用
查看datanode節點信息:http://主機名:50070
查看資源調度(任務):http://主機名:8088
採用hadoop官方樣例檢驗hadoop僞分佈式集羣是否能夠正常運行
21. 注意:如果不能查看
[跳轉這裏查看有什麼問題](http://www.cnblogs.com/zlslch/p/6604189.html)