hadoop如何搭建僞分佈式

1 準備乾淨的linux

linux沒有安裝任何的軟件並且沒有進行過任何的操作。

2 關閉防火牆

通過命令service iptables sopt 來關閉防火牆
通過 chkconfig iptables off 來關閉開機自動啓動防火牆

3 修改主機的hostname

進入 /etc/hosts 文件修改主機的hostname

4 設置靜態ip地址

修改靜態ip地址步驟:
  1. 先進入文件 /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 然後修改裏面的內容如下:
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
  1. 修改完畢後重新啓動網絡服務 service network restart

5 編輯/etc/hosts文件添加集羣ip和hostname (腳本實現,一定要注意主機名和ip的映射關係)

自行編輯IP地址,一個IP地址對應一個主機名字,可以通過寫腳本來快速的注入文件中。

6 創建普通用戶,設置密碼,爲普通用戶添加sudo權限

  1. 通過命令:useradd 用戶名(添加用戶)
  2. 通過命令:password 用戶名(設置用戶密碼)
  3. 添加完用戶後,打開 /etc/sudoers 文件然後再90行的位置添加新用戶並且給新用戶賦予權限。

7 創建文件夾分別存放安裝包 和 解壓包

在根目錄/opt在分別創建兩個文件夾:mkdir -p module software
module用來存放應用程序,software用來存放解壓包。

8 爲創建的文件夾添加普通用戶的操作權限

更改創建好的文件夾的用戶所屬權,和所屬組的權:chown 用戶名:用戶名 (文件夾名字)module software

9 關機重啓,檢查以上配置是否最正確

10 確認無誤後,關機快照

注意:(從這裏開始切換到註冊好的用戶,不使用root用戶)

11 上傳jdk和hadoop包,解壓

  1. 通過xshell5中使用sftp連接方式遠程連接,然後進入到/opt/software文件夾中
  2. 然後把下載好的jdk解壓包和hadoop解壓包拉入到文件中。
  3. 當拉入進去之後切換成SSH遠程連接方式然後進行解壓文件:tar -zxvf 文件名 -C /opt/module (執行解壓文件。。。解壓到-C後的文件夾中)分別執行HADOOP解壓包和jdk解壓包

12 配置環境變量,檢查是否正確

  1. 執行命令:sudo vim /etc/profile
  2. 然後移動到最後一行
  3. 配置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

  1. 配置hadoop-env.sh文件
    修改JAVA_HOME 路徑:/opt/module/jdk1.8.0_144
  2. 配置: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>
  1. 配置:hdfs-site.xml(value的個數是這個集羣有幾臺服務器組成)
<!-- 指定HDFS副本的數量 -->
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>
  1. 配置mapred-env.sh文件
    修改其中的JAVA_HOME的絕對路徑爲自己JDK安裝的絕對路徑
5. 配置mapred-site.xml(hostname爲自己的哪臺虛擬機當作ResourceManager就寫誰)
  1. 當我們打開這個文件的時候沒有這個文件,但是有mapred-site.xml.template文件,所以需要先拷貝一份這個文件,cp mapred-site.xml.template mapred-site.xml(或者修改該文件的名字都是可以)
  2. 然後在其中添加內容(修改其中的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>
  1. 配置yarn-env.sh
    修改其中的JAVA_HOME的絕對路徑爲自己JDK安裝的絕對路徑
  2. 配置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

  1. 在hadoop文件夾下執行命令:sbin/hadoop-daemon.sh start namenode
  2. 然後jps查看服務是否已經啓動

16. 啓動datanode

  1. 在hadoop文件夾下執行命令:sbin/hadoop-daemon.sh start datanode
  2. 然後jps查看服務是否已經啓動

17. 啓動resourcemanager

  1. 在hadoop文件夾下執行命令:sbin/yarn-daemon.sh start resourcemanager
  2. 然後jps查看服務是否已經啓動

18. 啓動nodemanager

  1. 在hadoop文件夾下執行命令:sbin/yarn-daemon.sh start nodemanager
  2. 然後jps查看服務是否已經啓動

19. 啓動historyserver(歷史服務器)

  1. 在hadoop文件夾下執行命令:sbin/mr-jobhistory-daemon.sh start historyserver
  2. 然後jps查看服務是否已經啓動

20. 如何查看是否可以使用

查看datanode節點信息:http://主機名:50070
查看資源調度(任務):http://主機名:8088
採用hadoop官方樣例檢驗hadoop僞分佈式集羣是否能夠正常運行

21. 注意:如果不能查看

 [跳轉這裏查看有什麼問題](http://www.cnblogs.com/zlslch/p/6604189.html)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章