【大数据02】Hadoop伪分布安装及测试

一、Hadoop的安装模式

Hadoop支持的运行模式有3种:

  • 本地/独立模式:无须运行任何守护进程,所有程序都在同一个JVM上执行。由于在本机模式下测试和调试MapReduce程序较为方便,因此,这种模式适用于开发阶段。
  • 伪分布模式:Hadoop对应Java守护进程都运行在一个物理机器上,模拟一个小规模集群的运行模式
  • 全分布模式:Hadoop对应的Java守护进程运行在一个集群上。

二、版本选择

由于大数据今年来的兴起,Hadoop生态系统的产品不断升级改进,造成版本配合上的差异,故在着手搭建之前,选择正确的版本尤为重要。如果应用产品版本见不兼容,需要进行jar包覆盖,参数配置,有些改动较大的功能甚至不能使用。

  • Hbase1.2.6(稳定版本)与JDK版本对应表如下图:
    在这里插入图片描述
  • Hbase1.2.6(稳定版本)与Hadoop版本对应表如下图:
    注:“S”表示支持,“X”表示不支持,“NT”表示未测试
    注:“S”表示支持,“X”表示不支持,“NT”表示未测试
  • Hive2.1.1(稳定版)与JDK版本关系:Hive1.2以上需要Java1.7及以上的JDK版本。
  • Hive2.1.1(稳定版)与Hadoop版本关系:首选Hadoop 2.x。(Hadoop 1.x不支持Hive 2.0.0以上版本)。

综上:选择Hbase1.2.6、Hive2.1.1、Hadoop2.6.1来进行Hadoop环境的搭建

三、Hadoop安装先决条件

  1. JDK安装。在我之前的文章里有提到

  2. Apache安装。Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Sercure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候采取不需要输入密码的形式,故需要配置SSH运用无密码公钥认证的形式,这样NameNode才能使用SSH无密码登录并启动DataNode进程。反之亦然。所以必须安装SSH,并且sshd必须正在运行,这样才能使用管理远程Hadoop守护进程的Hadoop脚本。

    如果Hadoop需要安装在集群中,即把整个集群当作一个整体来运行Hadoop平台,还需要如下配置:

  3. 网络配置:保证集群中机器间的网络通信。

  4. 时间同步:保证集群中机器间的时间一致。

  5. 配置机器IP与机器名映射关系。参考这里

四、伪分布安装Hadoop

伪分布安装Hadoop的前置条件在之前的博文里有提到,接下来只需要做如下修改:
1. 安装HDFS:

#下载hadoop
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.1/hadoop-2.6.1.tar.gz

tar -zxvf hadoop-2.6.1.tar.gz

echo $JAVA_HOME		#查找JAVA_HOME路径,并复制
1.修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
-------------------------------------------------------------------------------
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_191 #修改为JAVA_HOME的路径
--------------------------------------------------------------------------------

2.修改core-site.xml
cd /usr/local/hadoop/
mkdir data
cd data
mkdir tmp 
---------------------------------------------------------------------------------
<configuration>
  <property>
    <name>fs.defaultFS</name> #指定namenode的通信地址 
    <value>hdfs://zoo-1:8020</value> 
  </property>
  <property> 
    <name>hadoop.tmp.dir</name> #指定运行中产生数据的存放目录
    <value>/usr/local/hadoop/data/tmp/</value> 
  </property>
</configuration>
---------------------------------------------------------------------------------

3.修改hdfs-site.xml
--------------------------------------------------------------------------------
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>    <!-- 伪分布式备份数量为1 -->
  </property>
</configuration>
---------------------------------------------------------------------------------

2. 执行下列命令

格式化namenode: bin/hdfs namenode -format

启动文件系统:两个进程namenode(存储元数据)datanode(存储数据): sbin/start-dfs.sh

查看进程: jps

进程启动成功如图:
在这里插入图片描述
如果遇到进程启动失败的情况,则进入/usr/local/hadoop/logs/进行查看

此时可通过web界面,监控文件系统。在浏览器输入:
http:10.1.2.74:50070(修改为自己的IP)
如图:
在这里插入图片描述
目录/usr/local/hadoop/data/tmp/dfs/data/current/存储的是HDFS中插入的数据 。

3. 安装YARN

修改/usr/local/hadoop/etc/hadoop/mapred-site.xml.template文件名为mapred-site.xml

1.修改mapred-site.xml
--------------------------------------------------------------------------------
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>    <!-- 指定MapReduce作业在YARN模式下运行 -->
  </property>
  <property>
    <name>mapred.job.tracker</name>
    <value>hdfs://zoo-1:8021</value>  
  </property>
</configuration>
--------------------------------------------------------------------------------

2.修改yarn-site.xml
--------------------------------------------------------------------------------
<configuration>
<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>
--------------------------------------------------------------------------------

4. 执行下列命令

启动yarn: sbin/start-yarn.sh

查看进程: jps

启动成功如图所示:
在这里插入图片描述
进入web界面查看yarn的监控界面,输入:http:10.1.2.74:8088(换成自己的IP),如图:
在这里插入图片描述

五、测试Hadoop环境

1.创建测试数据

mkdir /usr/home/data
vim words		#创建words文件
#添加如下内容
-----------------
hello a
hello b
-----------------

2.要做词频统计,hadoop中已经写好了方法,我们需要把测试数据传入HDFS。

#“/usr/home/data/words”为输入文件,“/words”为HDFS中文件的路径
bin/hadoop fs -put /usr/home/data/words /words

此时可以在HDFS的监控页面查看该文件的信息。在这里插入图片描述
点击该文件可进行下载,但此时下载失败,因为无法识别主机名zoo-1。所以需要配置windows的hosts。
修改C:\Windows\System32\drivers\etc\hosts
添加内容:10.1.2.74 zoo-1
此时即可成功下载。

3.运行demo

#/words是文件源路径,/out是输出文件路径
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.1.jar wordcount /words /out 
#查看文件
bin/hadoop fs -ls /
#查看out文件
bin/hadoop fs -ls /out
#查看计算结果
bin/hadoop fs -cat /out/part-r-00000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、简单分析MapReduce的计算过程

在这里插入图片描述
在这里插入图片描述

参考视频:https://www.jikexueyuan.com/course/2475_3.html?ss=1

参考书籍:Hadoop集群程序设计与开发:王宏志

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值