首先,要說明的一點的是,我不想重復發明輪子。如果想要搭建Hadoop環境,網上有很多詳細的步驟和命令代碼,我不想再重復記錄。
其次,我要說的是我也是新手,對于Hadoop也不是很熟悉。但是就是想實際搭建好環境,看看他的廬山真面目,還好,還好,最好看到了。當運行wordcount詞頻統計的時候,實在是感嘆hadoop已經把分布式做的如此之好,即使沒有分布式相關經驗的人,也只需要做一些配置即可運行分布式集群環境。
好了,言歸真傳。
在搭建Hadoop環境中你要知道的一些事兒:
1.hadoop運行于Linux系統之上,你要安裝Linux操作系統
2.你需要搭建一個運行hadoop的集群,例如局域網內能互相訪問的linux系統
3.為了實現集群之間的相互訪問,你需要做到ssh無密鑰登錄
4.hadoop的運行在JVM上的,也就是說你需要安裝Java的JDK,并配置好JAVA_HOME
5.hadoop的各個組件是通過XML來配置的。在官網上下載好hadoop之后解壓縮,修改/etc/hadoop目錄中相應的配置文件
工欲善其事,必先利其器。這里也要說一下,在搭建hadoop環境中使用到的相關軟件和工具:
1.VirtualBox――畢竟要模擬幾臺linux,條件有限,就在VirtualBox中創建幾臺虛擬機樓
2.CentOS――下載的CentOS7的iso鏡像,加載到VirtualBox中,安裝運行
3.secureCRT――可以SSH遠程訪問linux的軟件
4.WinSCP――實現windows和Linux的通信
5.JDK for linux――Oracle官網上下載,解壓縮之后配置一下即可
6.hadoop2.7.1――可在Apache官網上下載
好了,下面分三個步驟來講解
Linux環境準備
配置IP
為了實現本機和虛擬機以及虛擬機和虛擬機之間的通信,VirtualBox中設置CentOS的連接模式為Host-Only模式,并且手動設置IP,注意虛擬機的網關和本機中host-only network 的IP地址相同。配置IP完成后還要重啟網絡服務以使得配置有效。這里搭建了三臺Linux,如下圖所示




配置主機名字
對于192.168.56.101設置主機名字hadoop01。并在hosts文件中配置集群的IP和主機名。其余兩個主機的操作與此類似
[root@hadoop01 ~]# cat /etc/sysconfig/network # Created by anaconda NETWORKING = yes HOSTNAME = hadoop01 [root@hadoop01 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.101 hadoop01 192.168.56.102 hadoop02 192.168.56.103 hadoop03
永久關閉防火墻
service iptables stop(1.下次重啟機器后,防火墻又會啟動,故需要永久關閉防火墻的命令;2由于用的是CentOS 7,關閉防火墻的命令如下)
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall開機啟動
關閉SeLinux防護系統
改為disabled 。reboot重啟機器,使配置生效
[root@hadoop02 ~]# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced # permissive - SELinux prints warnings instead of enforcing # disabled - No SELinux policy is loaded SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy Only selected processes are protected # mls - Multi Level Security protection SELINUXTYPE=targeted
新聞熱點
疑難解答