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