hadoop伪分布安装
解压
将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压
#将hadoop解压到/home/haozhulin/install路径下,定位目录到/home/haozhulin/install
tar –zxvf hadoop-2.2.0.tar.gz –C /home/haozhulin/install/
或者先让其有执行权限,然后直接./就可以解压
chmod
+x hadoop-2.2.0.tar.gz./hadoop-2.2.0.tar.gz
修改解压后的目录中的文件夹etc/hadoop下的xml配置文件(如果文件不存在,则自己创建),后面开始修改配置文件6个:
在/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/下的
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
修改hadoop-env.sh
配置hadoop的jdk版本环境
cd /home/haozhulin/install/hadoop-2.2.0/etc/hadoop/
vim hadoop-env.sh
hadoop-env.sh为hadoop环境变量,依赖JDK,进行如下修改
#第27行
export JAVA_HOME=/home/haozhulin/install/java/jdk1.7.0_65

修改core-site.xml
在其<configuration></ configuration >中插入:
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.default.name</name>
<!--<name>fs.defaultFS</name>-->
<value>hdfs://whaozl001:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/haozhulin/install/hadoop-2.2.0/tmp</value>
</property>
上面写的whaozl001是主机名,也可以更改为地址入10.30.30.1,端口号9000也可以是其他的。需要注意的是whaozl001是在/etc/hosts/中设置的host,如果未设置,需要更换为localhost,最好设置,见1.2.7。
/home/haozhulin/install/hadoop-2.2.0/tmp为手动创建的haozhulin文件夹下的tmp目录下。
修改hdfs-site.xml
在其<configuration></ configuration >中插入:
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
由于这里是伪分布,只有一台机器,只保存一份。
问题:当采用虚拟机搭建hadoop环境时,每次虚拟机重启后,hadoop无法启动成功?
解决方案:在hdfs-site.xml中增加以下两个配置项:
<!--配置NameNode元信息存放的路径-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/haozhulin/install/hadoop-2.2.0/dfs/name</value>
</property>
<!--配置DataNode数据信息存放的路径,可配置多个,逗号隔开-->
<property>
<name> dfs.datanode.data.dir </name>
<value>/home/haozhulin/install/hadoop-2.2.0/dfs/data</value>
</property>
其中,各个目录一定要是非/tmp下的目录,dfs.namenode.name.dir属性可以配置多个目录,如/data1/dfs/name,/data2/dfs/name, /data3/dfs/name,….。各个目录存储的文件结构和内容都完全一样,相当于备份,这样做的好处是当其中一个目录损坏了,也不会影响到 Hadoop的元数据,特别是当其中一个目录是NFS(网络文件系统Network File System,NFS)之上,即使你这台机器损坏了,元数据也得到保存。
修改mapred-site.xml
在里面没有mapred-site.xml文件,但是提供了mapred-site.xml.template模板文件,将其重命名为mapred-site.xml文件,然后进行配置(后续不再重述)。
#cp命令也可以,mv为重命名命令
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
再在其<configuration></ configuration >中插入:
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
mr为mapReduce,将mapReduce配置到yarn上运行
修改yarn-site.xml
在其<configuration></ configuration >中插入:
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>whaozl001</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
修改slaves
#定位到/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/slaves文件
vim etc/hadoop/slaves
#由于是单机伪分布,所以DataNode就只有localhost
#不需要修改,也可以改为127.0.0.1,都是指本机
将hadoop添加到环境变量
将hadoop添加到环境变量之后,可直接在命令窗口中使用hadoop命令(替换了其对应hadoop所在的路径)。
#指定到环境变量文件
vim /etc/profile
做如下修改:
#java environment
export JAVA_HOME=/home/haozhulin/install/java/jdk1.7.0_09
export HADOOP_HOME=/home/haozhulin/install/hadoop-2.2.0
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后刷新环境变量配置
source /etc/profile
【注意】最好是安装JDK同时,把HADOOP_HOME也配置好,后续方便(各DataNode机就不用麻烦)。
格式化namenode
这里所有配置当前路径应该是/home/haozhulin/install/hadoop-2.2.0/bin下
这里是对HDFS的namenode进行格式化。
#hadoop namenode –format 该命令过时了,但是依然可用
#进入hadoop位置/home/haozhulin/install/hadoop-2.2.0/bin/hadoop
which hadoop
#hdfs位置#/home/haozhulin/install/hadoop-2.2.0/bin/hdfs
which hdfs
之前配置core-site.xml时配置了一个tmp目录(非临时文件目录)
#新命令格式化namenode,产生tmp目录
hdfs namenode -format
【注意】如果没有配置hadoop环境变量,则格式化须使用:
#该命令过时
bin/hadoop namenode –format
#采用如下命令(同上)
bin/hdfs namenode -format
启动hadoop
这里可以一次用./sbin/start-all.sh启动所有,但是一般是先启动HDFS,然后启动yan(因为启动all会多次要求输入root密码),而且start-all.sh命令已经过时。
#先启动HDFS
sbin/start-dfs.sh
#再启动yarn
sbin/start-yarn.sh
单独启动HDFS:
#跳转到hadoop-2.2.0目录下
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
单独启动yarn:
sbin/yarn-daemon.sh start nodemanager
sbin/yarn-daemon.sh start resourcemanager
验证hadoop启动成功
使用jps命令验证
jps
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
jps为Java命令(which jps)
http://10.30.30.1:50070 (HDFS管理界面)
http://10.30.30.1:8088 (MapReduce管理界面)
表 2.1 hadoop各进程关系
进程
关系
含义
ResourceManager
yarn的老大
负责资源调度分配给
mapreduce/spark/storm
NodeManager
yarn的小弟
负责干活
NameNode
hdfs的老大
负责接收用户请求,数据映射关系
DataNode
hdfs的小弟
负责存储数据
SecondaryNameNode
NameNode的助理
不是NameNode的热备
协助NameNode
NameNode一般是多个,一般配置一个主一个备。
hdfs测试(下载和上传)
#将/root/jdk-7u9-linux-i586.gz文件上传到hdfs/下并重命名为jdk
hadoop fs –put /root/jdk-7u9-linux-i586.gz hdfs://whaozl001:9000/jdk
然后通过http://10.30.30.1:50070(HDFS管理界面)里面的点击Browse the filesystem NameNode logs查看,也可以在里面下载。
可以将hadoop的系统理解为一个网盘。
#命令方式下载jdk并重命名为jdk1.7
hadoop fs –get hdfs://whaozl001:9000/jdk /home/jdk1.7
#解压这个文件
tar –zxvf jdk1.7
测试MapReduce和YARN
/home/haozhulin/install/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar下就是多个mapreduce的例子,里面有一个wordcount例子
#查看后面还需要跟哪些参数,wordcount需要一个输入一个输出
hadoop jar hadoop-mapreduce-expamples-2.2.0.jar
#弄一个words文件,里面有很多单词,将其上传到hdfs
hadoop fs –put /words hdfs://whaozl001:9000/words
#显示hdfs下的所有文件
hadoop fs –ls hdfs://whaozl001:9000
#测试examples中的wordcount例子
hadoop jar hadoop-mapreduce-expamples-2.2.0.jar wordcount hdfs://whaozl001:9000/words hdfs://whaozl001:9000/wcount
#查看结果
hadoop fs –ls hdfs://whaozl001:9000
检验错误
错误都保存在/home/haozhulin/install/hadoop-2.2.0/logs目录下
cd /home/haozhulin/install/hadoop-2.2.0/
ls
cd logs
hadoop伪分布安装的更多相关文章
- Hadoop伪分布安装详解(五)
目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...
- Hadoop伪分布安装详解(三)
目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...
- 转载 hadoop 伪分布安装
一. 概要 经过几天的调试,终于在Linux Cent OS 5.5下成功搭建Hadoop测试环境.本次测试在一台服务器上进行伪分布式搭建.Hadoop 伪分布式模式是在单机上模拟 Ha ...
- Hadoop伪分布安装详解(二)
目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...
- Hadoop伪分布安装配置
安装环境: 系统:Ubuntu 14.10 64bit hadoop:2.5.1 jdk:1.8.0_11 安装步骤: 一.安装JDK 安装 jdk,并且配置环境以及设置成默认 sudo gedi ...
- Hadoop伪分布安装详解(四)
目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...
- Hadoop伪分布安装详解(一)
注:以下截图针对Ubuntu操作系统,对Centos步骤类似.请读者选择不同镜像即可. 第一部分:VMware WorkStation10 安装 1.安装好VMware10虚拟机软件并下载好Ubunt ...
- linux配置Hadoop伪分布安装模式
1)关闭禁用防火墙: /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着. /etc/rc.d/init.d/iptables stop 关闭防火墙 2)禁用SE ...
- Hadoop学习记录(1)|伪分布安装
本文转载自向着梦想奋斗博客 Hadoop是什么? 适合大数据的分布式存储于计算平台 不适用小规模数据 作者:Doug Cutting 受Google三篇论文的启发 Hadoop核心项目 HDFS(Ha ...
随机推荐
- C# 自定义排序
/// <summary> /// 实体 /// </summary> public class Product { public int ID { get; set; } p ...
- WinEdit7 破解方法
最近遇到了winEdit7 超过试用期的问题,找了下解决方案. 这个靠谱,通过在每次退出时自动删除注册表信息,达到无限试用的目的: https://lttt.blog.ustc.edu.cn/2012 ...
- HTML解析引擎:Jumony
Jumony Core首先提供了一个近乎完美的HTML解析引擎,其解析结果无限逼近浏览器的解析结果.不论是无结束标签的元素,可选结束标签的元素,或是标记属性,或是CSS选择器和样式,一切合法的,不合法 ...
- spring线程池配置
源自:http://zjriso.iteye.com/blog/771706 1.了解 TaskExecutor接口 Spring的TaskExecutor接口等同于java.util.concurr ...
- 控制器的跳转-modal与push
一.modal与pushmodal从下面往上盖住原来的控制器,一般上一个控制器和下一个控制器没有什么关联时用modal,比如联系人的加号跳转页面,任何控制器都可以用modal push一般是上下文有关 ...
- bzoj2653:middle
思路:首先容易想到二分答案,但如何去check呢,对于一段区间[l,r],把所有小于答案的都赋值为-1,大于等于它的都赋值为1,然后求左端点在[a,b],右端点在[c,d]的最大子串和即可(也就是区间 ...
- VS2010配置目录,解决:error MSB6006: “CL.exe”已退出,代码为 5问题
配置属性->VC++目录 可执行文件目录:$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;$ ...
- ubuntu thinkphp pathinfo 404等问题
这个问题 困扰了我一天,由于对nginx的配置文件中的各种变量不懂.配置起来很麻烦,从网上搜索的,感觉合适自己的不多!!! 找啊找啊..终于找一篇!!!! 我的环境: php ubuntu 12.04 ...
- 《sed的流艺术之三》-linux命令五分钟系列之二十三
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 关于Hyper-V虚拟机中的vEthernet虚拟网卡不能联网的问题
Hyper-V虚拟机在我电脑里面已经有一年了,当初是因为windows8系统里面需要装Hyper-V,这样才能不让win8死机,就折腾了一整子,结果碰到vEthernet网卡不能联网,网上相关的资料少 ...