背景:三台机器,一个主机名为master,另外两个是slave1和slave2。
将master作为jobtracker和namenode
1,在所有机器上新建用户
useradd hh -g hadoop
2,配置ssh(免密码登陆)
// 在master端生成秘钥
ssh-keygen
//查看秘钥
cd .ssh/
cat id-rsa.pub
//将公钥内容copy到每台机器.ssh/下的autho……
3,通过scp(远程拷贝hadoop.tar.gz到所有salves机器,以slave1为例)
scp ./hadoop.tar.gz slave1:/home/hh/
ssh slave1"tar ......"(解压缩命令)
4,修改hadoop-env文件,修改环境变量
export JAVA_HOME=你的Java安装路径
5,修改core-site.xml(与NameNode相关)
//本实验中,namenode也在master机器中
属性:fs.default.name
值:hdfs://master:54310
6,修改hdfs-site.xml(与HDFS相关)
(1)属性:dfs.name.dir(namenode所用到的数据)
(2)属性:dfs.data.dir(datanode所用到的数据)
(3)属性:dfs.replication(冗余个数,默认是3)
7,修改mapred-site.xml(与MapReduce相关)
属性:mapred.job.tracker
值 :master:54310
8,修改用户的.bashrc文件(home目录下)
添加
export HADOOP_HOME=hadoop安装目录
//如果Hadoop新版本,需要再加上
export HADOOP_PREFIX=${HADOOP_HOME}
export PATH=${HADOOP_HOME}/bin......
9,配置slaves、masters文件:内容为secondaryNode
10,通过scp,将所有修改过的文件,传送到其他所有机器上
11,至此,Hadoop基本配置已经完成。但是在启动之前,需要将NameNode格式化。
hadoop namenode -format
12,启动dfs
./start-dfs.sh
13,启动MR
./start-mapred.sh