Hadoop學習——Hadoop集羣搭建筆記

生而有涯而學無涯


最近使用VMWare搭建了一個虛擬的Hadoop集羣環境,搭建的過程中參考了很多網上大神的資料,在這裏記錄下本人實踐的全過程,用於以後的查詢參考使用,參考的資料會在文末貼出對應的鏈接。


集羣配置詳情

hostname ip address os(Centos7mini)
master 192.168.224.100 Centos7(mini)
slave1 192.168.224.201 Centos7(mini)
slave2 192.168.224.202 Centos7(mini)

其中,master爲name node和job tracker結點,slaveN爲data node和task tracker

集羣機器安裝步驟

1.配置虛擬網絡
在這裏主要是配置虛擬集羣的網段及網關。

這裏寫圖片描述
2.創建虛擬機
網上關於安裝虛擬機的教程有很多,按照教程安裝即可。我在安裝的過程中選擇內存1G,1個處理器,20G磁盤,NAT網絡方式,使用root登錄,沒有創建其他用戶。
3.配置網絡
3.1關閉SELINUX:

vi /etc/selinux/config
SELINUX=disabled
:wq

3.2關閉防火牆:CentOS默認使用firewall作爲防火牆。

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state #查看默認防火牆狀態

3.3修改IP地址爲靜態地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33(ens33--是虛擬機上的網卡名稱)

我的master機器上的配置如下,需要注意的是,HWADDR是網卡的MAC地址,DEVICE是網卡的名字,可以使用命令ip addr查看具體信息。
這裏寫圖片描述
3.4修改主機名稱
vi /etc/sysconfig/network
這裏寫圖片描述
3.5修改master機器上hosts映射
vi /etc/hosts
這裏寫圖片描述
最後最重要的:service network restart
4.安裝Xshell訪問虛擬機
注意:目前已經把虛擬機的網絡設置成了靜態ip,除非再配置實現靜態IP上網,否則是不能使用該配置的開發機訪問網絡的,因爲後續還要在虛擬機上安裝java,hadoop。不能訪問網絡也不能安裝vim(Centos上默認安裝的是Vi) ,也不能安裝linux和windows互傳文件的命令lrzsz。
在安裝完Xshell後配置虛擬機的IP和用戶名以及密碼,就可以通過Xshell連接虛擬機。如果要實現windows和linux傳輸文件,Xshell中需要安裝軟件xftp。
這裏寫圖片描述
傳輸文件的時候點擊圖片中的按鈕,就可以拖動文件實現文件在windows和linux之間的傳輸了。

集羣開發環境安裝步驟

1.JDK環境安裝
具體安裝參考網絡上的教程。
修改環境變量:

vi ~/.bash_profile 最後添加
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
:wq

保存退出後,執行source ~/.bash_profile使配置生效
2.HADOOP環境安裝
本人選擇安裝的Hadoop版本爲hadoop-2.6.5.tar.gz。
2.1 添加環境變量
vi /usr/hadoop-2.6.5/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_144

然後添加環境變量vi ~/.bash_profile

export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP_HOME=/usr/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

執行source ~/.bash_profile使配置生效
2.2 Hadoop配置,配置文件目錄:/usr/hadoop-2.6.5/etc/hadoop
core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>Hadoop.tmp.dir</name>
    <value>/tmp/hadoop-root</value>
  </property>
</configuration>

hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>

mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>master:9001</value>
  </property>
</configuration>

slaves

slave1
slave2

3.複製虛擬機
使用VMWare中clone功能,複製出另外兩臺虛擬機,分別命名爲slave1和slave2。因爲clone出的虛擬機的網卡MAC地址已經改變,所以要分別在複製出的兩臺虛擬機中執行以下操作:

rm -f /etc/udev/rules.d/70-presistent-net.rules
reboot
vi /etc/sysconfig/network-scripts/ifcfg-ens33,將其中的HWADDR修改爲新虛擬機的MAC地址,將靜態IP改爲設置的IP地址
:wq

4.設置SSH
開啓三臺虛擬機,登錄到master中,執行如下的命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh slave1 "mkdir ~/.ssh"
scp ~/.ssh/id_dsa.pub slave1:~/.ssh/authorized_keys
ssh slave2 "mkdir ~/.ssh"
scp ~/.ssh/id_dsa.pub slave2:~/.ssh/authorized_keys

中間需要輸入用戶的密碼
然後分別執行下列命令,不用輸入密碼就表示成功了。

ssh localhost
ssh slave1
ssh slave2

5.啓動Hadoop
執行HDFS格式化命令:hadoop namenode-format
在master虛擬機中:/usr/hadoop-2.6.5/sbin目錄,執行./start-all.sh
然後在宿主機中打開瀏覽器,指向192.168.224.100:50070,就可以查看HDFS的信息。
6.在HDFS中建文件夾
(我搭建的Hadoop集羣上HDFS默認的文件更目錄是 /)
新建文件夾:hdfs dfs -mkdir /hdfs_in(“/”後邊的文件目錄名稱根據自己需要定義)
查看HDFS的文件目錄:hdfs dfs -ls /
拷貝本地文件到HDFS文件系統:hdfs dfs -copyFromLocal 本地文件目錄 HDFS文件目錄
eg:hdfs dfs -copyFromLocal /usr/local/hadoop/data /hdfs_in
7.在Hadoop上運行使用python實現的mapreduce任務
bin/hadoop jar ./share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar -mapper /usr/local/hadoop/mapper.py -reducer /usr/local/hadoop/reducer.py -input /hdfs_in/data -output /hdfs_out

參考:http://blog.csdn.net/dyllove98/article/details/9228673

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章