Hadoop2.X 环境搭建
准备工作
一Linux 环境
1.查看主机名,[不能数字开头.不能特殊字符]
2.查看主机映射
Windows 下主机映射 C:\Windows\System32\drivers\etc\hosts
3.查看网卡开机自动连接,静态IP
二,jdk
(推荐)用户只有一个(不要是root),user01
创建两个目录
# mkdir /opt/software /opt/modules
/opt/software 存放*.tag.gz
/opt/modules 放置安装文件
# chown -R user01:user01 /opt/modules//opt/software/
$ ll
drwxr-xr-x. 3 user01 user01 4096Mar 7 07:34 modules
drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh
drwxr-xr-x. 2 user01 user01 4096Mar 7 07:28 software
安装jdk
$ tar -zxf jdk-7u67-linux-x64.tar.gz -C ../modules/
配置环境变量
# vim /etc/profile
#JAVA_HOME
exportJAVA_HOME=/opt/modules/jdk1.7.0_67
exportPATH=$PATH:$JAVA_HOME/bin
使配置生效
# source /etc/profile
卸载openJDK
# rpm -qa | grep jdk
# rpm -e --nodeps XXX.rpm //不验证依赖进行卸载
Linux 防火墙
# service iptables status ##查看防火墙状态
iptables: Firewall is not running.
# service iptables stop ##关闭防火墙
关闭开机启动防火墙
# chkconfig iptables off ##不随机启动
关闭安全子系统
# vi /etc/sysconfig/selinux
SELINUX=disabled
三.配置Hadoop
解压安装hadoop
Tar –zxf hadoop-2.5.0.tar.gz-C /opt/modules/
1. 配置hadoop的java环境支持,${HADOOP_HOME}/etc/hadoop目录下
hadoop-env.sh
mapred-env.sh
yarn-env.sh
2. 与hdfs相关的配置
1) 添加修改配置文件
core-site.xml
<!--NameNode地址,8020是指定进程8020,访问入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://com.james:8020</value>
</property>
<!--hadoop在运行时产生的文件,元数据在本地的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data</value>
</property>
hdfs-site.xml
<!--存放到hdfs上的文件的副本数,伪分布式配置为1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
2) 格式化namenode
${HADOOP_HOME}目录下:
$ bin/hdfs namenode-format
3) 启动hdfs守护进程
4) 浏览器输入 主机名:50070
5) 查看HDFS命令 ,新建HDFS 文件夹
[taojiamin@comhadoop-2.5.0]$ bin/hdfs dfs
系统常用命令
$ bin/hdfs dfs //可以查看所有的dfs相关的操作指令
$ bin/hdfs dfs -ls /
$ bin/hdfs dfs -mkdir -p /input/test
$ bin/hdfs dfs -rmdir /input/test
$ bin/hdfs dfs -put /opt/software/jdk-7u67-linux-x64.tar.gz/input/test
可以用bin/hadoopfs 代替bin/hdfs dfs
3.配置YARN 任务调度 (Mapreduce) 资源管理(resourcemanagernodemanager)
${HADOOP_HOME}/etc/hadoop目录下配置yarn-site.xml
=======yarn-site.xml=====
<!-- 指定ResorceManager所在服务器的主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>com.james</value>
</property>
<!-- 指明在执行MapReduce的时候使用shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>====================================
复制并重名模板文件
$ cpetc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
=======mapred-site.xml=====
${HADOOP_HOME}/etc/hadoop目录下配置mapred-site.xml
<!-- 指定MapReduce基于Yarn来运行-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
=====================================
4.启动hdfs yarn进程
$sbin/hadoop-daemon.sh start namenode
$sbin/hadoop-daemon.sh start datanode
$sbin/yarn-daemon.sh start resourcemanager
$sbin/yarn-daemon.sh start nodemanager
5.检查hdfs yarn启动状态,即查看守护进程
6.向yarn提交mapreducer任务
1)计算圆周率
$bin/yarn
jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar pi 5 3
2)wordcount词频统计
a.在用户主目录创建一个2.log
$ vi /home/taojiamin/2.log
this is a sunny day
today is monday
this is a sunny day
today is Monday
b.上传到hdfs的input目录下
bin/hadoop fs -put/home/taojiamin/2.log /input
c.提交wordcount任务
执行方式
浏览器输入如下地址:
点击Browse the filesystem
选择output
选择part-r-0000查看结果
7.配置日志聚合
=======mapred-site.xml=========
**追加到原来配置和后面
<!--指定jobhistory服务的主机及RPC端口号-->
<property>
<name>mapreduce.jobhistory.address</name>
<!--配置实际的主机名和端口-->
<value>[hostname]:10020</value>
</property>
<!--指定jobhistory服务的web访问的主机及RPC端口号-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>[hostname]:19888</value>
</property>
==============yarn-site.xml=======
<!--启用日志聚合功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志保存时间-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
8.修改配置文件后需要停止所有进程重新启动,以便配置文件生效
1)停止进程
$sbin/hadoop-daemon.sh stop namenode
$sbin/hadoop-daemon.sh stop datanode
$sbin/yarn-daemon.sh stop resourcemanager
$sbin/yarn-daemon.sh stop nodemanager
2)启动进程
$sbin/hadoop-daemon.sh start namenode
$sbin/hadoop-daemon.sh start datanode
$sbin/yarn-daemon.sh start resourcemanager
$sbin/yarn-daemon.sh start nodemanager
3)启动历史
启动历史服务
sbin/mr-jobhistory-daemon.shstart historyserver
4)查看守护进程
28904ResourceManager
28724NameNode
28808DataNode
29152NodeManager
29304JobHistoryServer
30561 Jps