jdk-7u79-linux-x64.tar.gz,hadoop-2.8.0.tar.gznode
1 配置免密登陸
執行命令ssh-keygen
一直按回車鍵便可。
主機執行命令ssh-copy-id root@192.168.132.129
從機執行命令ssh-copy-id root@192.168.132.128
按照要求輸入yes,和密碼linux
2 驗證免密登陸
主機執行命令 ssh 192.168.132.129
正常狀況是不須要輸入密碼就能夠登陸,驗證成功以後執行exit命令退出遠程登陸。
一樣的操做在從機執行一遍,從機執行命令 ssh 192.168.132.128
。web
3 在/etc/hosts這個文件下加入以下兩行:apache
192.168.132.128 master 192.168.132.129 slaver
4 解壓jdk和Hadoop,並將其添加到環境變量centos
tar zxvf jdk-7u79-linux-x64.tar.gz tar zxvf hadoop-2.8.0.tar.gz
在/etc/profile下寫入以下代碼(個人路徑放在/root/下,你要改爲本身的路徑):app
export JAVA_HOME=/root/jdk1.7.0_79 export HADOOP_HOME=/root/hadoop-2.8.0 export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
執行命令 source /etc/profile
使環境變量生效ssh
5 建立必要的目錄用來存放數據和一些臨時文件(這些目錄會在配置文件中用到)webapp
mkdir tmp dfs mkdir dfs/data dfs/name
6 對Hadoop的配置文件進行修改
執行命令cd /root/hadoop-2.8.0/etc/hadoop/
將hadoop-env.sh,yarn-env.sh,mapred-env.sh文件中的JAVA_HOME的值改爲
/root/jdk1.7.0_79
以爲手動修改麻煩的也能夠採用以下三個命令:oop
sed -i '/^export JAVA_HOME=${JAVA_HOME}/ s/JAVA_HOME=${JAVA_HOME}/JAVA_HOME=\/root\/jdk1.7.0_79/g' hadoop-env.sh sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' yarn-env.sh sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' mapred-env.sh
7 對Hadoop的core-site.xml這個配置文件進行修改,執行命令
sed -i '/<.*configuration>/d' core-site.xml
上述命令是將原先的配置文件進行清理,而後執行以下命令寫入新的配置文件(這個配置文件主機從機沒區別,所有用主機的IP):測試
cat >> core-site.xml << EOF <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/root/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> </configuration> EOF
8 對Hadoop的配置文件hdfs-site.xml,(這裏主機和從機的配置文件略有區別)執行命令:
sed -i '/<.*configuration>/d' hdfs-site.xml
上述命令是將原先的配置文件進行清理,而後在從機上!!(若是是主機,須要把下面配置文件中的slaver改爲master,由於這個配置文件主機和從機略有區別,這個配置文件主機和從機用本身的IP,)執行以下命令寫入新的配置文件:
cat >> hdfs-site.xml << EOF <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/root/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slaver:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration> EOF
9 對Hadoop的配置文件mapred-site.xml進行修改
執行命令mv mapred-site.xml.template mapred-site.xml
執行命令sed -i '/<.*configuration>/d' mapred-site.xml
在從機上執行以下一大段命令(若是是主機,把slaver改爲master,由於這個配置文件主機從機有區別,這個配置文件用本身的IP):
cat >> mapred-site.xml << EOF <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>slaver:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>slaver:19888</value> </property> </configuration> EOF
10 對Hadoop配置文件yarn-site.xml進行修改
執行命令:sed -i '/<.*configuration>/d' yarn-site.xml
執行以下一大段命令(這個配置文件主機從機沒區別,都用主機的):
cat >> yarn-site.xml << EOF <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> </configuration> EOF
11 對Hadoop配置文件slavers進行修改
將裏面的localhost
刪除
寫入 slaver