搭建Hadoop的环境

一、准备工作

    1、安装Linux、JDK、关闭防火墙、配置主机名

            这部分上面已经介绍过来,这里就不在赘述。

   2、安装Hadoop

        解压:tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/

        设置Hadoop的环境变量:vi ~/.bash_profile

                                                HADOOP_HOME=/root/training/hadoop-2.7.3

                                                export HADOOP_HOME

                                                PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

                                                export PATH

       生效环境变量:source ~/.bash_profile

  3.Hadoop的目录结构

        

三种安装模式:本地模式、伪分布模式、全分布模式(至少要三台机器)

二、本地模式:一台

        特点:没有HDFS、只能测试MapReduce程序

                 MapReduce处理的是本地Linux的文件数据

        配置Hadoop的Java环境

        vi hadoop-env.sh

        25 export JAVA_HOME=/root/training/jdk1.8.0_144

        测试MapReduce程序:

        1、创建目录 mkdir ~/input

        2、运行

例子:cd /root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar

         hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output

三、伪分布模式:一台机器

        特点:是在单机上,模拟一个分布式的环境, 具备Hadoop的功能

        HDFS:NameNode + DataNode + SecondaryNameNode

        Yarn : ResourceManager + NodeManager

        hadoop伪分布的配置文件配置:

            hdfs-site.xml

                    原则:一般数据块的冗余度跟数据节点(DataNode)的个数一致;最大不超过3

                    <!--表示数据块的冗余度,默认:3-->

                    <property>

                            <name>dfs.replication</name>

                            <value>1</value>

                    </property>

                   先不设置

                    <!--是否开启HDFS的权限检查,默认为true-->

                    <property>

                            <name>dfs.permissions</name>

                            <value>false</value>

                    </property>

        core-site.xml

                <!--配置NameNode地址,9000是RPC通信端口-->

                    <property>

                            <name>fs.defaultFS</name>

                            <value>hdfs://bigdata111:9000</value>

                    </property>

                    <!--HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录-->

                    <property>

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

                            <value>/root/training/hadoop-2.7.3/tmp</value>

                    </property>

      mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml

                    <!--MR运行的框架-->

                   <property>

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

                        <value>yarn</value>       

                 </property>

    yarn-site.xml      

                    <!--Yarn的主节点RM的位置-->

                   <property>

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

                        <value>bigdata111</value>       

                 </property>

                <!--MapReduce运行方式:shuffle洗牌-->

                 <property>

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

                        <value>mapreduce_shuffle</value>       

                 </property>

   配置完成后格式化HDFS:(NameNode)

                                         hdfs namenode -format

    格式化成功的日志:

 Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.

    启动停止Hadoop的环境

            start-all.sh

            stop-all.sh

  访问:通过web界面

            HDFS:http://192.168.160.111:50070

            Yarn:  http://192.168.160.111:8080

   运行例子:

/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar

hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/0407

四、全分布模式

        特点:正式的分布式环境,用于生产,做好规划

                 

        1、准备工作
(*)关闭防火墙
      systemctl stop firewalld.service
      systemctl disable firewalld.service 
(*)安装JDK
(*)配置主机名  vi /etc/hosts
192.168.157.112 bigdata112
192.168.157.113 bigdata113
192.168.157.114 bigdata114

(*)配置免密码登录:两两之间的免密码登录

                        原理:

                        

(1) 每台机器产生自己的公钥和私钥
ssh-keygen -t rsa

(2) 每台机器把自己的公钥给别人
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114

(*)保证每台机器的时间同步
如果时间不一样,执行MapReduce程序的时候可能存在问题

2、在主节点上(bigdata112)安装
(1)解压设置环境变量
    tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/

设置:112 113 114
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

(2) 修改配置文件
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
hdfs-site.xml
<!--表示数据块的冗余度,默认:3-->
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>

core-site.xml
<!--配置NameNode地址,9000是RPC通信端口-->
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://bigdata112:9000</value>
</property>


<!--HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录-->
<property>
   <name>hadoop.tmp.dir</name>
   <value>/root/training/hadoop-2.7.3/tmp</value>
</property>

mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml
<!--MR运行的框架-->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

        yarn-site.xml
<!--Yarn的主节点RM的位置-->
<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata112</value>
</property>


<!--MapReduce运行方式:shuffle洗牌-->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
        slaves
    bigdata113
    bigdata114

(3) 格式化NameNode: hdfs namenode -format
(4) 把主节点上配置好的hadoop复制到从节点上
scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training
(5) 在主节点上启动  start-all.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值