1. 程式人生 > >centos7下Hadoop2.8.4全分佈搭建之HDFS叢集搭建(一)

centos7下Hadoop2.8.4全分佈搭建之HDFS叢集搭建(一)

1)搭建前的準備

		注意:(以下操作可以先配置一臺,然後通過scp命令傳送到其他兩臺虛擬機器上
					傳送到其他機器
					scp -r       主機名:       
					注意:載入環境變數 source /etc/profile
					免密登陸
				-》ssh-keygen 生成金鑰對(回車)
				-》 ssh-copy-id 自己
				   	ssh-copy-id 其它
					ssh-copy-id 其它
			  )
			  虛擬機器可以通過安裝一臺,克隆兩臺快速完成三臺虛擬機器
			  
		1.準備三臺虛擬機器,一臺作為namenode,兩臺datanode
			  我的虛擬機器:192.168.232.132 master
						192.168.232.133 slave1
						192.168.232.134 slave2
		2.修改為靜態ip
				cd /etc/sysconfig/network-scripts/目錄下
				ls檢視檔案
				vi ifcfg-ens33   //其他電腦可能不一樣
				將BOOTPROTO="dhcp" 修改為 BOOTPROTO=static

				namenode為例:
				在最後面加入
				IPADDR=192.168.232.132
				NETMASK=255.255.255.0
				GATEWAY=192.168.232.2		
				DNS1=8.8.8.8
				DNS2=4.4.4.4
				然後儲存
				以上分別為IP地址,子網掩碼,閘道器,DNS!
[效果圖](https://img-blog.csdn.net/20181013115540354?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTk4MzQz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
	
		可以通過上圖的方式來檢視自己的閘道器,子網掩碼
		DNS可以通過windows下win+R輸入ipconfig -all檢視

	3.vi /etc/resolv.conf 指定DNS伺服器位置
	在後面加入
	nameservers 		8.8.8.8
	nameservers 		4.4.4.4
	然後儲存
	service network restart重啟網路服務
	ping www.baidu.com檢測下

    4.關掉防火牆
    systemctl stop firewalld 			停止防火牆服務
	systemctl  disable firewalld     關閉防火牆服務開機啟動

	5.設定主機名
	修改三臺主機名
	vi /etc/hostname
	(需要重啟生效 reboot!!!)
	
	例:我要改第一臺
	那就在配置檔案中輸入你要改的主機名然後儲存
	
	我的三臺虛擬機器
	192.168.232.132 master
	192.168.232.133 slave1
	192.168.232.134 slave2
	
	6.配置對映檔案(三臺都得有才有效果哦)
	vi /etc/hosts
	前兩行註釋掉
	然後輸入對映
	ip1 主機名1
	ip2 主機名2
	ip3 主機名3
	
	ping下其他兩臺虛擬機器看看對映是否成功!!

2)安裝jdk(我是通過SecureCRT進行操作的)

1)上傳tar包
alt+p (進入傳輸協議)

2)解壓tar包
tar -zxvf jdk 1.8.0_141  -C /usr/java

3)配置環境變數
vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin
儲存
注意:載入環境變數 source /etc/profile		!!!!!!!!!!!!!!!!!!!!!

4)傳送到其它機器
例傳送到slave1上去:
scp -r usr/java/jdk1.8.0_141/ slave1:usr/java/
scp -r /etc/profile slave1:/etc

注意:載入環境變數 source /etc/profile

檢查下   java -version,看環境變數是否配置成功

(這裡可能會有些小問題,有些人的虛擬機器原本就安裝的有java1.8 rpm -qa | grep java 顯示安裝位置

java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64 tzdata-java-2016f-1.el7.noarch java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64 python-javapackages-3.4.1-11.el7.noarch

開始刪除,不用刪除完,留python開頭的和tz開頭的 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64

然後你再按上面步驟安裝就可以了

3)安裝HDFS叢集

1.傳到虛擬機器上,解壓到/opt/hadoop,步驟和上面JAVA差不多,這裡話不多說
		
2.進入/opt/hadoop/hadoop2.8.4/etc/hadoop下修改hadoop-env.sh
	export JAVA_HOME=/usr/java/jdk1.8.0_141 (這裡注意下,直接修改他本來的JAVA_HOME就可以了)
	
3.修改core-site.xml(在configuration標籤下配置)
 hadoop官方給的配置檔案:
 
 ![core-default.xml](https://img-blog.csdn.net/20181013124111199?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTk4MzQz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
 
 我插入的配置:
 
 <property>
	<name>fs.defaultFS</name>
	<value>hdfs://master:9000</value>
</property>

4.修改hdfs-site.xml
<property>
	<name>dfs.namenode.name.dir</name>
	<value>/opt/hadoop/dfs/name</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>/opt/hadoop/dfs/data</value>
</property>

5.格式化namenode
hadoop namemode -format

6.配置hadoop環境變數(/etc/profile)
export JAVA_HOME=/usrt/java/jdk1.8.0_141
export HADOOP_HOME=/opt/hadoop/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

7.
分發hadoop到其它機器
scp -r ~/opt/hadoop/hadoop-2.8.4/ slave1:/opt/hadoop/
scp -r ~/opt/hadoop/hadoop-2.8.4/ slave2:/opt/hadoop/

分發hadoop環境變數
scp -r /etc/profile  主機名:/etc

8.啟動namenode
hadoop-daemon.sh start namenode

9.啟動datanode
hadoop-daemon.sh start datanode

10.訪問namenode提供的web埠:50070

11.批量啟動指令碼
1)修改配置檔案slaves
hd09-02
hd09-03

2)執行啟動命令
start-dfs.sh
start-dfs.sh

通過jps可以看啟動的節點.

3)總結

三臺虛擬機器-》靜態Ip主機名對映免密-》JDK》HADOOP
常見問題:
1.環境變數:注意符號和字母
2.每次修改環境變數就要載入環境變數: source /etc/profile
3.注意配置資訊不要直接複製,你的安裝路徑可能和我不同,先看一看再進行
暫時這麼多,畢竟我沒出多少問題,可惜,總結下HDFS叢集搭建。