第一次將筆記部署在簡書上,因?yàn)檫@次的部署心得體會比較深刻.僅作為自己的參考
一.基本配置:
1.jdk安裝
安裝依賴 yum -y install gcc openssl-devel pcre-devel zlib-devel
tar -zxvf jdk-8u60-linux-x64.tar.gz
vim etc/profile
一定要加在文件的末尾
export JAVA_HOME="/opt/jdk1.7.0_80"
export PATH="$JAVA_HOME/bin:$PATH"
刷新配置,讓配置生效
source /etc/profile
驗(yàn)證是否成功# java -version

2.匹配host文件
vim /etc/host
3.配置秘鑰
node 1
生成秘鑰
? $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
生成的路徑在: cd ~/.ssh/?

解決原理:? 必須要把秘鑰追加到認(rèn)證文件中去
~/.ssh/authorized_keys
將自己的公鑰追加到自己的認(rèn)證文件中去
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
如果要相互免密 ,必須相互放公鑰到別人的認(rèn)證文件中區(qū)
目的: node1 可以免密登錄node3
將node1 下的公鑰拷貝到node3下的認(rèn)證文件中去
在node1 下面的.ssh 下面
scp~/.ssh/id_dsa.pub root@node3:/tmp/
然后再追加到認(rèn)證文件中去
cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys
4.搭建環(huán)境主從環(huán)境
創(chuàng)建目錄
mkdir -p /data/hdfs/name /data/hdfs/data /data/hdfs/tmp
將 data#hadoop-2.7.1.tar.gz 放到data下面
然后解壓
data#tar -zxvf hadoop-2.7.1.tar.gz
配置環(huán)境變量
export HADOOP_HOME="/data/hadoop-2.7.5"
export PATH="$HADOOP_HOME/bin:$PATH"
#? source /etc/profile
# hadoop
檢測是否生效

5.更改相關(guān)的配置信息

1.core-site.xml
hadoop.tmp.dirfile:/data/hdfs/tmp A base for other temporary directories. io.file.buffer.size 131072 fs.default.namehdfs://node1:9000hadoop.proxyuser.root.hosts*hadoop.proxyuser.root.groups*
修改vim hdfs-site.xmldfs.replication2 dfs.namenode.name.dirfile:/data/hdfs/nametruedfs.datanode.data.dir file:/data/hdfs/data truedfs.namenode.secondary.http-address master:9001 dfs.webhdfs.enabled true dfs.permissionsfalse
修改vim mapred-site.xml
復(fù)制template,生成xml,命令如下:
#? cp mapred-site.xml.template mapred-site.xml
# vim? mapred-site.xml
mapreduce.framework.nameyarn
?修改vim?yarn-site.xml
# vim? yarn-site.xml
yarn.resourcemanager.address? node1:18040 yarn.resourcemanager.scheduler.address node1:18030 ? yarn.resourcemanager.webapp.address? node1:18088 yarn.resourcemanager.resource-tracker.address? node1:18025? yarn.resourcemanager.admin.address? node1:18141 yarn.nodemanager.aux-services? mapreduce.shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
修改hadoop-env.sh與yarn-env.sh的JAVA_HOME的路徑配置
將語句 ? ?? export?JAVA_HOME=$JAVA_HOME?????
修改為????? export?JAVA_HOME="/opt/jdk1.7.0_80"
和一開始配置的PATH路徑一樣就行
6.修改data/hadoop-2.7.1/etc/hadoop/slaves
將原來的localhost刪除,改成如下內(nèi)容
vim?/ data/hadoop-2.7.1/etc/hadoop/slaves

7.遞歸復(fù)制整個目錄在node2 和node3上面
scp?-r /data/hadoop-2.7.5?root@node2:/data/
scp?-r /data/hadoop-2.7.5?root@node3:/data/
二.設(shè)置其他問題
格式化NameNode
#? hadoop?namenode?-format

啟動NameNode
# /data/hadoop-2.7.5/sbin/hadoop-daemon.sh start namenode
查看進(jìn)程 ps -ef |grep hadoop

啟動服務(wù)器
# /data/hadoop-2.7.5/sbin/start-all.sh 啟動各服務(wù)期(注意關(guān)閉是stop-all.sh)
在Master上執(zhí)行jps命令,得到如下結(jié)果:
#jps

在slave上的版本

啟動DataNode
執(zhí)行命令如下:
#? /data/hadoop-2.7.5/sbin/hadoop-daemons.sh start datanode

最后測試下親手搭建的Hadoop集群是否執(zhí)行正常,測試的命令如下圖所示:
sbin/start-dfs.sh
查看集群狀態(tài)
# /data/hadoop-2.7.5/bin/hdfs dfsadmin -report

最終檢測
http://192.168.122.131:18088/cluster

測試mapreduce
不想編寫mapreduce代碼。幸好Hadoop安裝包里提供了現(xiàn)成的例子,在Hadoop的share/hadoop/mapreduce目錄下。運(yùn)行例子:
#? /data/hadoop-2.7.5/bin/hadoop jar /data/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 5 10

need-to-insert-img