Hadoop2.2.0單節點安裝和配置環境圖文詳解
摘要:最近也是剛剛入門hadoop,配置環境就折騰了很久,在網上也查看了給位大神的帖子,從中也學到 了很多東西,但是很多都是比較雜,在這里我就貼出我配置的一些心得,望各位指教。
一、簡介
二、在Ubuntu下創建hadoop用戶組和用戶
三、在Ubuntu下安裝JDK
四、安裝ssh服務
五、建立ssh無密碼登錄本機
六、安裝hadoop
七、在單機上運行hadoop。
一:簡介(這里簡單用圖片展示下):
二、在Ubuntu下創建hadoop用戶組和用戶 ,這里考慮的是以后涉及到hadoop應用時,專門用該用戶操作。用戶組名和用戶名都設為:hadoop。可以理解為該hadoop用戶是屬于一個名為hadoop的用戶組。
1、創建hadoop用戶組,如圖
2、創建hadoop用戶,
3、給hadoop用戶添加權限,打開/etc/sudoers文件,如圖
按回車鍵后就會打開/etc/sudoers文件了,給hadoop用戶賦予root用戶同樣的權限。在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,如圖
三、在Ubuntu下安裝JDK(http://blog.csdn.net/u011067360/article/details/21396209)
每當Ubuntu安裝成功時,我們的機器名都默認為:ubuntu ,但為了以后集群中能夠容易分辨各臺服務器,需要給每臺機器取個不同的名字。機器名由 /etc/hostname文件決定。
1、打開/etc/hostname文件,如圖
打開/etc/hostname文件,將/etc/hostname文件中的ubuntu改為你想取的機器名,重啟系統后才會生效。
四:安裝ssh服務
這里的ssh和三大框架:spring,struts,hibernate沒有什么關系,ssh可以實現遠程登錄和管理,具體可以參考其他相關資料。
1、安裝openssh-server,
自動安裝openssh-server時,可能會進行不下去,可以先進行如下操作:
執行如下命令升級部分軟件udo apt-get update,如圖:
操作完成后繼續執行第1步。
這時您已經安裝好了ssh,您就可以進行第五步了;
五、 建立ssh無密碼登錄本機
ssh生成密鑰有rsa和dsa兩種生成方式,默認情況下采用rsa方式。
1、創建ssh-key,,這里我們采用rsa方式,如圖
回車后會在~/.ssh/下生成兩個文件:id_rsa和id_rsa.pub這兩個文件是成對出現的,
2、進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權文件中,開始是沒有authorized_keys文件的,如圖
完成后就可以無密碼登錄本機了。
3、登錄localhost,在命令行中輸入:ssh localhost,結果如圖,
至此,hadoop的ssh環境就搭好了,接下來就是配置hadoop的環境了。
六、安裝Hadoop2.2,搭建集群
1、在hadoopMaster上安裝hadoop
首先到Apache官網上下載hadoop2.2的壓縮文件,將其解壓到當前用戶的根文件夾中(home/fyzwjd/),將解壓出的文件夾改名為hadoop。
$ sudo mv hadoop-2.2.0 hadoop
配置之前,先在本地文件系統創建以下文件夾:~/hadoop/tmp、~/dfs/data、~/dfs/name。 主要涉及的配置文件有7個:都在/hadoop/etc/hadoop文件夾下,可以用gedit命令對其進行編輯。
~/hadoop/etc/hadoop/hadoop-env.sh ~/hadoop/etc/hadoop/yarn-env.sh ~/hadoop/etc/hadoop/slaves ~/hadoop/etc/hadoop/core-site.xml ~/hadoop/etc/hadoop/hdfs-site.xml ~/hadoop/etc/hadoop/mapred-site.xml ~/hadoop/etc/hadoop/yarn-site.xml
(1) 配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(2) 配置文件2:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(3) 配置文件3:slaves ( hadoopSalve1 、hadoopSlave2 )
(4) 配置文件4:core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoopMaster:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/fyzwjd/hadoop/tmp</value> <description>Abasefor other temporary directories.</description> </property> <property> <name>hadoop.proxyuser.fyzwjd.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.fyzwjd.groups</name> <value>*</value> </property> </configuration>
(5) 配置文件5:hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoopMaster:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/fyzwjd/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/fyzwjd/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
(6) 配置文件6:mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoopMaster:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoopMaster:19888</value> </property> </configuration>
(7) 配置文件7:yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>hadoopMaster:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoopMaster:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoopMaster:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoopMaster:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoopMaster:8088</value> </property> </configuration>
2、如果是真機分布式,則將hadoop文件夾拷貝到hadoopSlave1和hadoopSlave2上。
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave1:~/ scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave2:~/
七、驗證與運行
所有的組件啟動和停止服務都在/hadoop/sbin目錄下,一般啟動hadoop前會格式化namenode。具體命令參考如下:
1、進入安裝目錄: cd ~/hadoop/
格式化namenode:./bin/hdfs namenode –format
啟動hdfs: ./sbin/start-dfs.sh
此時在hadoopMaster上面運行的進程有:namenodesecondarynamenode
hadoopSlave1和hadoopSlave2上面運行的進程有:datanode
2、啟動yarn: ./sbin/start-yarn.sh
此時在hadoopMaster上面運行的進程有:namenodesecondarynamenoderesourcemanager
hadoopSlave1和hadoopSlave2上面運行的進程有:datanode nodemanaget
3、查看集群狀態:./bin/hdfs dfsadmin –report
查看文件塊組成: ./bin/hdfsfsck/ -files -blocks
查看HDFS: http://hadoopMaster:50070
查看RM: http:// hadoopMaster:8088
來自: http://blog.csdn.net//u011067360/article/details/21561061