hadoop运行模式(一)

一.Hadoop的组成:

  1)HDFS 分布式文件系统
  2)MapReduce 分布式的离线并行计算框架
  3)Hadoop YARN:作业调度与集群资源管理的框架
  4)支持其他模块的工具模块
  

二:Hadoop运行环境的搭建:完成以下8步即可

1.虚拟机网络模式设置为NAT
2.克隆虚拟机
3.修改为静态ip
[root@hadoop101 /]#vim /etc/udev/rules.d/70-persistent-net.rules 删除 eth0 该行; eth1 修改 eth0 同时复制 物理 ip 地址  

2 修改 IP 地址
[root@hadoop101 /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
需要 修改的内容有 5
IP ADDR=192.168.1.101
GATEWAY=192.168.1.2
ONBOOT= yes
BOOTPROTO= static
DNS1=192.168.1.2
修改   wq   保存 退出


3 )执行 service network restart  
4 如果报错, reboot ,重启虚拟机





4.修改主机名
1. hostname    查看主机名
2. vim /etc/sysconfig/network 更改主机名
3. vim /etc/hosts
添加如下 内容
192.168.83.102 hadoop01
4.reboot重启



5.关闭防火墙
查看防火墙状态  service iptables status
关闭防火墙(永久关闭防火墙) chkconfig iptables off



6.在opt目录下创建文件
1.添加新用户
                 adduser chenyao
                 passwd chenyao  密码 回文

2.将新用户设置成和root权限相同

      vim /etc/ sudoers
           在里面添加 chenyao     ALL=(ALL)     ALL
     保存退出

即使设置成和root权限相同也无法创建文件夹,在root权限下创建文件夹,然后再修改文件的所有者
[root@hadoop01 ~]# su chenyao
[chenyao@hadoop01 root]$ mkdir model
mkdir: 无法创建目录"model": 权限不够
[chenyao@hadoop01 root]$




3.在opt目录下创建文件夹model software
mkdir model
mkdir software

4.修改文件夹的所有者
chown chenyao model
chown chenyao software



7.安装jdk
1 卸载现有 jdk
1 查询 是否安装 java 软件:
rpm -qa|grep java
2 如果 安装 版本低于 1.7 卸载 jdk
rpm -e 软件
2 filezilla 工具 jdk Hadoop-2.7.2.tar.gz 导入到 opt 目录下面的 software 文件 夹下面
 
3 linux 系统下的 opt 目录中查看软件包 是否 导入成功。
[root@hadoop101opt]# cd software/
[root@hadoop101software]# ls
jdk-7u79-linux-x64.gz  hadoop-2.7.2.tar.gz    
4 解压 jdk /opt/module 目录
tar -zxf jdk-7u79-linux-x64.gz -C /opt/module/
5 配置 jdk 环境变量
1 )先 获取 jdk 路径:
[root@hadoop101 jdk1.7.0_79]# pwd
/opt/module/jdk1.7.0_79     
2 )打开 /etc/profile 文件
[root@hadoop101 jdk1.7.0_79]# vi /etc/profile
profie 文件末尾添加 jdk 路径:
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
3 )保存 后退出:
: wq
4 )让 修改后的文件生效:
[root@hadoop101 jdk1.7.0_79]# source  /etc/profile
5 )重启(如果 java –version 可以 用就不用重启):
[root@hadoop101 jdk1.7.0_79]# sync
                [root@hadoop101 jdk1.7.0_79]# reboot
6 测试 jdk 安装成功
[root@hadoop101 jdk1.7.0_79]# java -version
java version "1.7.0_79"







8安装hadoop
1.先安装
2.解压
3.将hadoop添加到环境变量中
cd /etc/profile

##HADOOP_HOME
export HADOOP_HOME=/opt/model/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
                 export PATH=$PATH:$HADOOP_HOME/sbin

4.执行    source /etc/profile




Hadoop的运行模式

1.本地模式(默认模式):不需要启用单独进程,直接可以运行, 测试和开发的时使用
案例1.:统计单词出现的次数

1.[root@hadoop01 hadoop-2.7.2]# mkdir input
 将用户的权限改成 chenyao
2.进入etc目录下的hadoop在,将所有.xml文件拷贝到input
      cp *.xml /opt/model/hadoop-2.7.2/input
3.进行查询 在hadoop-2.7.2中
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output01 'dfs[a-z.]+'
4.查看输出结果
cat output

案例2:wordcount案例---》统计某些文件中,某些单词组成的个数
1.在/etc/hadoop下创建一个新的文件夹winput
[chenyao@hadoop01 hadoop-2.7.2]$ mkdir winput


2.在wordcount中创建文件夹 wc.input(文件名和后缀名可以随便起)
[chenyao@hadoop01 winput]$ touch wc.input

3.在wc.input文件中 vim wc.input   在里面写单词,有重复的

4.在hadoop-2.7.2中执行
  hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
其中 wordcount是计算单词出现的次数
5.cd woutput/
[chenyao@hadoop01 woutput]$ ll
总用量 4
-rw-r--r--. 1 chenyao chenyao 37 1月  28 15:30 part-r-00000
-rw-r--r--. 1 chenyao chenyao  0 1月  28 15:30 _SUCCESS
[chenyao@hadoop01 woutput]$ cat part-r-00000
chenwenyi    3
chenyao    2
zhangyongtai    2





2.伪分布式模式(等同于完全分布式,只有一个节点)
伪分布式有两种:
1.HDFS上运行MapReduce程序
2.YARN上运行MapReduce程序

一:HDFS上运行MapReduce程序
分析需要准备的:
                安装jdk,配置环境变量,安装hadoop,配置环境变量,配置集群,启动、测试集群增、删、查,在HDFS上执行wordcount案例
执行步骤: 配置集群之前上面已经发过步骤,以下从配置集群开始

      配置集群

       1.     配置 hadoop-env.sh             在etc/hadoop下 vim hadoop-env.sh 配置JAVA_HOME
  1.   配置 core-site.xml    
                    [chenyao@hadoop01 root]$ cd /opt/model/hadoop-2.7.2/etc/hadoop/
                    [chenyao@hadoop01 hadoop]$ ll
                   [chenyao@hadoop01 hadoop]$ vim core-site.xml
              在里面添加配置 ---》 <!-- 指定HDFS中NameNode的地址 -->
               <configuration>
              <property>
              <name>fs.defaultFS</name>
              <value>hdfs://hadoop01:9000</value>
              </property>
              </configuration>
《增加namenode保存的地址》
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>


      3.配置hdfs-site.xml--->指定hdfs副本的数量
            <property>
                     <name> dfs.replication </name>
                     <value> 1 </value>
          </property>
     启动集群
     
    1.格式化namenode(第一次启动格式化)           bin/hdfs namenode -format
    2.启动namenode                                           sbin/ hadoop-daemon.sh start namenode
    3.启动datanode                                           sbin/hadoop-daemon.sh start datanode

     

     最后输入网址:  http://192.168.83.101:50070    如果出现了如下界面说明成功了


   操作集群
   
      1.在hdfs文件系统上创建一个input文件夹

       [chenyao@hadoop01 hadoop-2.7.2]$ hadoop fs -mkdir -p /user/atguigu/wcinput

其中-p意思是可以创建多级目录

      2.将测试文件内容上传到文件系统上

   [chenyao@hadoop01 hadoop-2.7.2]$ hadoop fs -put winput/wc.input /user/atguigu/wcinput   将文件

winput/wc.input放到 /user/atguigu/wcinput中

      3.查看上传的文件是否正确(可以直接下载下来,但是如果文件过大的时候可以直接看)
    [chenyao@hadoop01 /]$ hadoop fs -cat /user/atguigu/wcinput/wc.input

      4.运行mapreduce程序

[chenyao@hadoop01 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/atguigu/wcinput /user/atguigu/wcoutput
输入文件  /user/atguigu/wcinput
输出文件  /user/atguigu/wcoutput
      5.查看输出结果

[chenyao@hadoop01 hadoop-2.7.2]$ hadoop fs -cat /user/atguigu/wcoutput

      6.将测试文件内容下载到本地

 hadoop fs -get /user/atguigu/wcoutput/p*  ./   将文件下载到当前目录

      7.删除输出结果

hadoop fs -rm -r  /user/atguigu/wcoutput


二:YARN上运行MapReduce程序

待续。。
    









3.完全分布式(多个节点一起运行)

待续。。












注1:如果哪里错了,查看日志文件可以分析错误!!




注2:用jps发现没有namenode。
因为文件保存路径的问题,注意路径是mkdir tmp 不是 touch tmp




注3:需要格式化的时候,关掉namenode和datanode后要删掉tmp,logs里面的东西。否则下次datanode会连不上新的namenode




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值