Hadoop伪分布式环境搭建

 

对于初学者而言,自己搭建一个大数据集群环境是一个必要步骤,也算是开始学习的第一步。即使对于已经工作的小伙伴们,有时不方便使用公司的测试/正式集群环境时,这时候自己搭建的集群也能派上用场 (重点是可以随便玩,玩坏了铲掉重新搭建即可)。

现在分享一个自己搭建Hadoop伪分布式环境的步骤(伪分布式表示使用一台机器模拟n台机器组成的集群,简单方便代价小),按以下步骤我已经装了N遍,所以基本上不会有什么问题。

假设你已经准备好了一台虚拟机 (本文使用VMware),装好了linux系统 (本文使用centOS6.4),准备好了所需软件包:

hadoop-2.5.0-cdh5.3.6.tar.gz:我这里用的是这个版本,CNDS上传资源必须小于220M,本文使用的hadoop包大于这个限制了,没办法上传分享,这个有谁知道怎么搞的可以留言告诉我一下,我上传后也省的大家自己去找这个软件包了。

jdk1.7:网上随便搜一下就有

 

那么,我们开始吧:

1.设置 hostname --------------------------------------------------------------------------------------------------

  执行: vi /etc/sysconfig/network

  如下图:

 

2. 配置 hosts 文件 ----------------------------------------------------------------------------------------------------------

  虚拟机linux执行: vi /etc/hosts

  如下图,最后一行,前面是ip,后面是主机名

  本机windows修改: C:\Windows\System32\drivers\etc\hosts (为了能够在本机直接使用主机名访问虚拟机hadoop集群的HDFS和yarn网页监控页面) ,该hosts文件中同样添加上图最后一行,该步骤不配置也可以,访问的时候在本机用ip地址访问即可;或者直接在虚拟机上访问(主机名/ip都可以)。

 

3. 安装 jdk  ----------------------------------------------------------------------------------------------------------------

网上下载jdk压缩包,解压即可,推荐1.7

 

4. 关闭 防火墙 和 selinux ----------------------------------------------------------------------------------------------

依次执行:

chkconfig iptables off

service iptables stop

vi /etc/sysconfig/selinux ,然后将 SELINUX = disabled

如下图

 

5.安装 hadoop  ------------------------------------------------------------------------------------------------------

选择你喜欢的路径,解压hadoop压缩包即可。

然后环境变量设置 JAVA_HOME&HADOOP_HOME,执行:vi /etc/profile

将jdk安装路径和hadoop安装路径(注意一直到bin目录) 配置到该文件最后,如下图红框部分

 

6. 修改 hadoop 配置文件 ----------------------------------------------------------------------------------------------

切换到hadoop配置文件目录下:

执行:cd /opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop  ( 该路径按自己的安装路径进行调整 )

1. 修改以下3个配置文件:hadoop-env.sh , yarn-env.sh , mapred-env.sh

     配置 $JAVA_HOME 

     如下图:将你的jdk安装目录配置到JAVA_HOME后面,3个配置文件一样的进行配置。

2. 修改 core-site.xml (该配置文件所在路径同上)

    按如下配置即可,注意按照你自己之前设置的主机名和hadoop安装目录进行调整

<!-- 配置NameNode所在的主机和端口 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop.com.cn01:8020</value>

</property>

<!-- hadoop在运行过程中产生的临时文件放置的目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/modules/hadoop-2.5.0/tmp</value>

</property>

如下图:

3. 修改 hdfs-site.xml (该配置文件所在路径同上)

     按如下配置即可,注意按照你自己之前设置的主机名进行调整

<!-- 伪分布式的副本数量设置 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop.com.cn01:50090</value> </property> <property> <name>dfs.namenode.http-address</name> <value>hadoop.com.cn01:50070</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>

4. 修改  mapred-site.xml  (该配置文件所在路径同上)

     按如下配置即可:

<!-- 告诉hadoop,MR运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

5. 修改 yarn-site.xml (该配置文件所在路径同上)

     按如下配置即可,注意按照你自己之前设置的主机名进行调整

<!-- NodeManager获取数据的方式是shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的管理者resourcemanager在哪里 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop.com.cn01</value>

</property>

<property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

    </property>

<property>

        <name>yarn.log-aggregation.retain-seconds</name>

        <value>86400</value>

    </property>

6. 修改 slaves (该配置文件所在路径同上)

    添加:hadoop.com.cn01   ( 即你自己之前设置的主机名)

7. 配置 historyserver 

  将 mapred-site.xml.template 复制为 mapred-site.xml

  按如下配置即可,注意按照你自己之前设置的主机名进行调整

<property>

<name>mapreduce.jobhistory.address</name>

<!--配置实际的主机名和端口-->

<value>hadoop.com.cn01:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop.com.cn01:19888</value>

</property>

 

7. 格式化 -------------------------------------------------------------------------------------------------------------------------

在 /opt/modules/hadoop-2.5.0/(Hadoop安装目录) 目录下mkdir 创建tmp文件夹

cd /opt/modules/hadoop-2.5.0/bin 目录下

执行 ./hdfs namenode -format(如果第一次执行不成功,第二次执行时一定要把之前创建的 tmp下的东西全删掉再操作 )

 

8. 启动 ------------------------------------------------------------------------------------------------------------------

cd /opt/modules/hadoop-2.5.0/sbin 目录下,依次执行

./hadoop-daemon.sh start namenode   (启动 namenode)

./hadoop-daemon.sh start datanode   (启动 datanode)

./hadoop-daemon.sh start secondarynamenode     (启动 secondarynamenode)

./yarn-daemon.sh start resourcemanager   (启动 resourcemanager)

./yarn-daemon.sh start nodemanager    (启动 nodemanager)

./mr-jobhistory-daemon.sh start historyserver  (开启 historyserver)

如果嫌上述步骤麻烦,也可以只执行如下两条命令:

./start-dfs.sh

./start-yarn.sh

如何关闭集群: 将上述 start 改成 stop 即可,或者直接重启虚拟机 。。。。

 

9. 查看是否成功启动集群:---------------------------------------------------------------------------------------------------------

打开网页访问:(如果在本机配置了虚拟机的主机名,直接在本机打开网页访问即可;否则只能在虚拟机上访问了)

hadoop.com.cn01:50070  -- 查看HDFS,按照你自己之前设置的主机名进行调整

hadoop.com.cn01:8088  -- 查看YARN,按照你自己之前设置的主机名进行调整

当然也可以运行一下hadoop自带的一个wordcount,来查看是否启动成功,操作如下:

将数据文件上传HDFS:

执行wordcouont命令,传入两个参数,1.数据文件所在的HDFS目录 2.wordcount结果文件所在的HDFS目录:

结果如下: 

 

如有问题请留言,尽量抽时间回复。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值