在了解了Hadoop的相關知識后,接下來就是Hadoop環境的搭建,搭建Hadoop環境是正式學習大數據的開始,接下來就開始搭建環境!我們用到環境為:VMware 12+CentOS6.4
hadoop安裝步驟大綱:
1、准備硬件(一台虛擬主機)
2、虛擬機裝linux系統(這里我們裝的是CentOS)
3、准備網絡連接
4、配置linux系統
5、安裝jdk和hadoop
下面詳細介紹環境的搭建:
1)准備linux環境
運行 Vm ware安裝目錄的 vmnetcfg.exe 程序 , 打開虛擬網絡編輯器,
選擇 VMnet1 僅主機模式,子網 IP 設為 192.168.1.0 ,子網掩碼設為 255.255.255.0
說明: VMnet0 橋接模式, VMnet1 僅主機模式, VMnet8 NAT 模式。
回到windows --> 打開網絡和共享中心 -> 更改適配器設置 -> 右鍵VMnet1 -> 屬性 -> 雙擊IPv4 -> 設置windows的IP:192.168.1.88 子網掩碼:255.255.255.0 -> 點擊確定
在虛擬軟件上 --My Computer -> 選中虛擬機 -> 右鍵 -> settings -> network adapter -> host only -> ok
即:在 VMware 中,設置具體 Linux 實例的網絡適配器為僅主機模式
2)修改linux相關配置
2.1修改linux的IP地址
點擊右上角網絡連接小電腦圖標,選擇 vpn 連接 — > 配置 vpn — > 有線 — >Auto eth1 — >編輯
— > I p v4設置 — >手動 — > 192.168.1.101 ,255.255.255.0,192.168.1.1 — >應用
使用shell指令: service network restart重啟網絡使之生效
2.2修改主機名
使用su root 切換到root用戶,使用shell指令:vi /etc/shsconfig/network打開文件把主機名修改為一下的形式:
NETWORKING=yes
HOSTNAME= BigData
這里補充一下:對linux不太熟悉的,打開文件后不知道怎么去修改,修改完,怎么去保存,具體方法是:打開文件后按i進行插入操作,完畢后按ESC退出插入操作然后使用:":wq!"進行保存退出(注意指令時沒有雙引號的),加“!”的作用的強制保存退出。
注意:主機名中不能含有下划線,主機名生效需要重啟系統,查了一些資料目前好像沒有別的方法,是用reboot重啟系統
2.3 配置主機名與本地映射關系
使用:vi /etc/hosts打開本地文件,配置成以下形式
2.4 關閉防火牆
linux系統由於防火牆的存在,不便於進行遠程訪問,為了方便其他計算機對linux進行遠程訪問,所以要將防火牆關閉。
使用指令:service iptables stop把防火牆關閉,另外補充以下指令:
#查看防火牆狀態
service iptables status
#關閉防火牆
service iptables stop
#查看防火牆開機啟動狀態
chkconfig iptables --list
#關閉防火牆開機啟動
chkconfig iptables off
注意: 關閉防火牆后,重啟linux系統才能生效。
2.5 在 windows 配置主機名和本地映射關系
找到hosts 所在文件路徑:C:\Windows\System32\drivers\etc \hosts用EditPlus或者其他工具打開,添加如下形式:
保存並退出,接下來再linux和window環境下測試是否正確。下面是測試指令:
ping BigData
ping 192.168.1.101
linux測試結果如下:
按ctrl+c停止傳輸
window環境下測試結果:
能夠相互ping的通,證明網絡連接正確。
2.6 生成並配置生成ssh免登陸密鑰
由於hadoop在集群中的時候需要多個機器進行訪問操作,一個集群存在成千上萬的個節點,如果每次啟動節點都需要輸入密碼,勢必會很麻煩。linux機器之間使用ssh不需要用戶名和密碼。采用了數字簽名RSA或者DSA來完成這個操作
#進入到我的home目錄
cd ~/.ssh
ssh-keygen -t rsa (四個回車)
執行完這個命令后,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免登陸的機器上
ssh-copy-id BigData
3)安裝jdk和 hadoop-2.4.1.tar.gz
3.1安裝jdk
這里介紹常用的兩個工具:SecureFXPortable和SecureCRTPortable,第一個用來將window下的相關文件上傳到linux環境中,第二個用用來對linux進行操作,有了它就可以把linux虛擬機的桌面關閉了,這樣可以節省資源。這兩個工具通過域名和linux建立連接,從而達到遠程操作linux的目的。
點擊左上角第二個按鈕,出現如圖所示的窗口,輸入主機名,用戶名進行連接
然后將安裝包拖到linux系統,下面一欄有進度顯示,這樣就把安裝包傳到了linux系統上。
最后使用:mkdir /software創建文件夾software,將jdk解壓至software文件夾
解壓指令:tar -xzvf / software /jdk-7u55-linux-i586.tar.gz -C / software
3.2 將java添加至環境變量
在root用戶下,使用指令:vi /etc/profile 在文件結尾添加:
export JAVA_HOME=/ software /jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin
然后使用:使用 source /etc/profile 命令 , 使環境變量生效
測試java環境:java 和java -version 出現以下信息說明安裝成功。
3.3安裝hadoop
這里選用的是比較穩定的2.4.1版本,其他版本只能裝大同小異,hadoop的安裝和jdk的安裝步驟幾乎一樣,先上傳壓縮包,然后進行解壓,同理安裝在software目錄下。
指令:tar -xzvf / software /hadoop-2.4.1.tar.gz -C / software
3.4 hadoop偽分布式環境配置
hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
偽分布式需要修改5個配置文件
1、配置hadoop環境變量
使用指令:vi / software/hadoop-2.4.1/etc/hadoop/hadoop-env.sh打開文件添加:
export JAVA_HOME= / software /jdk1.7.0_55
2、 修改 core-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/core-site.xml,打開后輸入以下信息:
解釋如下:
<!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://BigData:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop-2.4.1/tmp</value>
</property>
3、修改 hdfs-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/hdfs-site.xml打開文件,添加以下信息:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
這個文件的目的是指定文件副本的數量,由於現在只有一台機器,所以value值為1,將來如果有多台機器,那么value的值就不是1了。
4、修改 mapred-site.xml文件 ,
首先需要去掉 .template 后綴,指令:mv mapred-site.xml.template mapred-site.xml,然后使用指令:
vi / software/hadoop-2.4.1/etc/hadoop/mapred-site.xml打開文件添加以下信息:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
目的是指定mr運行在yarn上
5、修改yarn-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value> BigData </value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
解釋
第一個property的作用是:指定YARN的老大(ResourceManager)的地址,第二個property的作用是:reducer獲取數據的方式。
6、將hadoop添加至環境變量
使用指令:vi /etc/profile打開文件,添加以下信息:
export JAVA_HOME=/ software /jdk1.6.0_24
export HADOOP_HOME=/ software /hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使用 source /etc/profile 命令 , 使環境變量生效
7、格式化 HDFS 文件系統
指令:hdfs namenode -format,目的是對namenode進行初始化
3.5 環境測試
找到start-all.sh,具體在/home/hadoop/software/hadoop-2.4.1/sbin這個目錄下,進去里面有很多指令,如圖所示:
執行指令:sh start-all.sh,出現以下信息
啟動的過程中,沒有讓輸入密碼,說明我們的ssh免密鑰登陸也是正確的。
驗證是否啟動成功,執行指令jps,出現以下信息:
可以看到啟動成功。
最后用網址進行驗證:分別輸入
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
至此,CentOS下搭建Hadoop服務已經完成,系統部署的過程中,與順序無關,先那一步都可以,在搭建環境之前,需要學會在虛擬機上安裝CentOS,這是前提工作,第一步完成后,再來搭建本文的環境就變得容易了。