环境:
centos6 32位 hadoop2.8.4 jdk1.8(此版本运行hadoop时会警告可无视)hadoop用户(非root普通用户) 主机ip:10.10.10.10 slave主机ip:20.20.20.20
请务牢记上述环境!!! 另外除非表明使用root用户外,皆用hadoop用户执行命令
hadoop2.x与1.x结构上发生了一些变化
搭建共6步
1.配置java环境
2.配置master主机与各slave主机的ssh通信
3.下载、解压hadoop压缩包,并配置hadoop环境变量
4.配置hadoop中7大配置文件
5.格式化 namenode
6. 启动
3.下载、解压hadoop压缩包,并配置hadoop环境变量
从hadoo官网下载压缩包 hadoop2.8.4.tar.gz
①切换至root用户或使用sudo命令执行以下3条命令:
mkdir /usr/hadoop 新建hadoop上层目录
tar -zxvf hadoop2.8.4.tar.gz -C /usr/hadoop/ 解压至新建目录
chown -R hadoop:hadoop /usr/hadoop 将/usr/hadoop用户权限转移给hadoop组的hadoop用户
②继续以root用户或使用sudo命令执行:
vi /etc/profile 配置hadoop环境变量
③在profile文件的末尾添加2行:
export HADOOP_HOME=/usr/hadoop/hadoop2.8.4 export PATH=$PATH:$HADOOP_HOME/bin
如果你第①步执行没有问题的话,此时在 /usr/hadoop/ 目录下存在一个 hadoop2.8.4 文件夹
④检查环境变量
source /etc/profile
reboot 重启(可选),博主搭建时环境变量始终未刷新,无奈重启...
echo $HADOOP_HOME 这句命令会在终端输出hadoop的解压目录 /usr/hadoop/hadoop2.8.4
4.配置hadoop中7大配置文件
这一步参考了以下2个网址:
① 修改 /usr/hadoop/hadoop2.8.4/etc/hadoop-env.sh 与 yarn-env.sh 2个文件中的JAVA路径
如果改行前面有注释#,去掉后修改保存
export JAVA_HOME=本机java安装(解压)目录
②修改 /usr/hadoop/hadoop2.8.4/etc/hadoop/slave 文件
20.20.20.20
一行一个slave主机ip,可以用主机名代替,但是前提是 /etc/hosts 文件中有相应的映射信息,这里是新版本hadoop,配置文件中没有master文件
③ /usr/hadoop/hadoop2.8.4/etc/hadoop/core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/hadoop2.8.4/tmp</value> <!-- 需要自己在hadoop2.8.4目录中新建tmp文件夹 --> <final>true</final> </property> <property> <name>fs.default.name</name> <value>hdfs://10.10.10.10:9000</value> <!-- 这里填的是master主机的ip(或主机名) --> <final>true</final> </property> </configuration>
④ /usr/hadoop/hadoop2.8.4/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.http.address</name> <value>10.10.10.10:50070</value> <!--依旧是master主机ip --> </property> <property> <name>dfs.replication</name> <value>1</value> <!-- slave主机数量,我这里只有1台,就填1 --> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>10.10.10.10:50090</value> </property> </configuration>
⑤ /usr/hadoop/hadoop2.8.4/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>10.10.10.10:9001</value> </property> <property> <name>mapred.map.tasks</name> <value>20</value> </property> <property> <name>mapred.reduce.tasks</name> <value>4</value> </property> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>10.10.10.10:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>10.10.10.10:19888</value> </property> </configuraion>
⑥ /usr/hadoop/hadoop2.8.4/etc/hadoop/yarn-site.xml
<property> <name>yarn.resourcemanager.address</name> <value>10.10.10.10:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>10.10.10.10:18030</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>10.10.10.10:18088</value> <!-- 记住这个ip,用于浏览器访问:10.10.10.10:18080/cluster/ --> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>10.10.10.10:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>10.10.10.10:18141</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration>
5.格式化 namenode
如果hadoop的环境变量已经配好了,那么就可以在任意地方执行以下命令
hadoop namenode -format
6.启动
执行命令
cd sbin/ 进入hadoop安装(解压)目录的sbin目录下
./start-all.sh 启动hadoop
slave主机的配置与master主机是一样的,可以直接将以上配置过的文件复制粘贴过去,就可以启动了
就到这里吧......世界杯开始了开始了!!!