hadoop2.5.1集群部署(完全分布式)
hadoop2.5完全分布式
環境介紹:
環境介紹:3臺虛擬機安裝centos6.464位、jdk1.7 64位、hadoop2.5.1 64位
?
主機配置規劃
1. 修改主機名和/etc/hosts文件
1)修改主機名(非必要)
vi /etc/sysconfig/network HOSTNAME=m1重啟后生效。
2)/etc/hosts是ip地址和其對應主機名文件,使機器知道ip和主機名對應關系,格式如下:
修改/etc/hosts文件,增加如下地址映射:
192.168.0.108 m1 192.168.0.109 s1 192.168.0.110 s2
2.配置免密碼登陸SSH
1)生成密鑰:
ssh-keygen?-t?dsa?-P?''?-f?~/.ssh/id_dsa??
以上是兩個單引號。
2)將id_dsa.pub(公鑰)追加到授權的key中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys3)將認證文件復制到其它節點上:
scp ~/.ssh/authorized_keys 192.168.0.109:~/.ssh/ scp ~/.ssh/authorized_keys 192.168.0.110:~/.ssh/3)測試:
ssh s13.各節點上安裝jdk
1 )選擇的版本是 jdk-7u71-linux-x64.tar.gz ,2 )上傳到 usr/local/download 用戶目錄下,添加執行權限 chmod u+x jdk-7u71-linux-x64.tar.gz
4) 安裝
?
tar –zvxf jdk-7u71-linux-x64.tar.gz–C /usr/local/program/?
重命名jdk為jdk1.7 (用mv命令)
?
5) 配置環境變量:vi /etc/profile加入以下三行
?
#JAVA_HOME export JAVA_HOME=/usr/local/program/jdk1.7 export PATH=$JAVA_HOME/bin:$PATH5)執行source /etc/profile使環境變量的配置生效
6)執行java –version查看jdk版本,驗證是否成功。
?
4. Hadoop安裝
每臺節點都要安裝hadoop。上傳hadoop-2.5.1.tar.gz到用戶usr/local/download目錄下。
1) 解壓
?
tar -zvxf hadoop-2.5.1.tar.gz -C/usr/local/program/?
2) 添加環境變量:vi ?/etc/profile,尾部添加如下
?
export JAVA_HOME=/usr/local/program/jdk1.7 exportHADOOP_HOME=/usr/local/program/hadoop-2.5.1 export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportCLASSPATH=.:$JAVA_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH exportPATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH設置立即生效:
?
source /etc/profile?
3) 修改Hadoop配置文件
(1) core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://m1:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/program/hadoop_tmp</value></property></configuration>(2)??? hdfs-site.xml?
?
<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.secondary.http-address</name><value>m1:9001</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/program/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/program/dfs/data</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property></configuration>
?
注:訪問namenode的hdfs使用50070端口,訪問datanode的webhdfs使用50075端口。要想不區分端口,直接使用namenode的IP和端口進行所有的webhdfs操作,就需要在所有的datanode上都設置hdfs-site.xml中的dfs.webhdfs.enabled為true。
(3)?mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>m1:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>m1:19888</value></property></configuration>jobhistory是Hadoop自帶了一個歷史服務器,記錄Mapreduce歷史作業。默認情況下,jobhistory沒有啟動,可用以下命令啟動:
sbin/mr-jobhistory-daemon.sh start historyserver(4)???yarn-site.xml <configuration><!-- Site specific YARN configurationproperties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.address</name><value>m1:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>m1:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>m1:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>m1:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>m1:8088</value></property></configuration>
(5)?slaves
?
S1 S2?
(6)?分別在hadoop-env.sh和yarn-env.sh中添加JAVA_HOME
?
export JAVA_HOME=/usr/local/program/jdk1.7?
5.運行Hadoop
1)格式化
hdfs namenode –format?
2) 啟動Hadoop
?
start-dfs.sh start-yarn.sh?
也可以用一條命令:
?
start-all.sh?
3) 停止Hadoop
?
stop-all.sh?
4)jps查看進程
1. 7692 ResourceManager 2. 8428 JobHistoryServer 3. 7348 NameNode 4. 14874 Jps 5. 7539 SecondaryNameNode5)通過瀏覽器查看集群運行狀態
(1)http://192.168.0.108:50070
(2)http://192.168.0.108:8088/
(3)192.168.0.108:19888
?
?
6. 運行Hadoop自帶的wordcount示例
1)建立輸入文件:
1. vi wordcount.txt 2. 輸入內容為:3. hello you 4. hello me5. hello everyone
2)建立目錄
?
hadoop fs -mkdir /data/wordcounthadoop fs –mkdir /output/目錄/data/wordcount用來存放Hadoop自帶的WordCount例子的數據文件,運行這個MapReduce任務的結果輸出到/output/wordcount目錄中。
3)上傳文件
?
hadoop fs -put wordcount.txt/data/wordcount/?
4)執行wordcount程序
?
hadoop jar usr/local/program/Hadoop-2.5.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar wordcount /data/wordcount /output/wordcount/?
5)查看結果
?
hadoop fs -text /output/wordcount/part-r-00000? 1. [root@m1mydata]# hadoop fs -text /output/wordcount/part-r-000002. everyone 13. hello 34. me 15. you 1
總結
以上是生活随笔為你收集整理的hadoop2.5.1集群部署(完全分布式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51模拟器怎么玩刺激战场
- 下一篇: HBase集群安装部署(完全分布式)