03 Hadoop大数据

一、Hadoop伪分布式环境部署

  • 实训目的

    1. 掌握Linux系统安装JDK和Hadoop以及配置环境变量
    2. 掌握Linux系统Hadoop为分布模式的部署配置
    3. 掌握Linux系统Hadoop的格式化、启动,停止,访问等操作
  • 实训步骤:

    1. 上传文件 jdk-8u261-linux-x64.tar.gzhadoop-2.7.3.tar.gz 到系统中的 /usr/local/src 目录下

    2. 解压缩上传的jdk安装包 和hadoop安装包

      #进入/usr/local/src目录
      [root@node01 ~]#cd /usr/local/src
      
      #解压jdk到当前目录下
      [root@node01 src]#tar -zxvf jdk-8u261-linux-x64.tar.gz
      
      #重命名解压出来的目录为jdk,方便后续的配置使用
      [root@node01 src]#mv jdk1.8.0_261/ jdk 
      
      #解压hadoop到当前目录下
      [root@node01 src]#tar -zxvf hadoop-2.7.3.tar.gz
      
      #重命名解压出来的目录为hadoop,方便后续的配置使用
      [root@node01 src]#mv hadoop-2.7.3/ hadoop
      
    3. 检查系统中是否有已经安装的jdk,如果有需要 先卸载旧的 jdk

      #查找是否已安装jdk
      rpm -qa | grep java
      #卸载已安装配置的jdk
      yum remove -y jdk*
      
    4. 配置环境变量:

      (1)使用notepad++ 或命令 vi /etc/profile,如果使用命令vi编辑,按键i或a或o 进入insert模式,按照以下内容编辑,完成后按键Esc , 输入:wq 保存退出。

    #打开环境变量配置文件 /etc/profile
    [root@node01 local]#vi /etc/profile

    
    ```shell
    #向打开的环境变量配置文件,追加以下内容
    export JAVA_HOME=/usr/local/src/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    
    #追加HADOOP_HOME
    export HADOOP_HOME=/usr/local/src/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    (2)重新加载环境变量配置文件,使得配置起作用

    [root@node01 local]#source /etc/profile
    
    1. 测试 jdk 和 hadoop 的环境变量配置是否正确

    #查看jdk的版本
    [root@node01 local]#java -version
    #查看hadoop的版本
    [root@node01 local]#hadoop version

    
    6. 配置本地ssh免密登录
    
    (1)生成秘钥
    
    ```shell
    #进入当前用户的家目录下,删除隐藏文件.ssh
    [root@node01 local]#cd  
    [root@node01 ~]#rm -rf .ssh 
    
    
    #执行命令生成秘钥对,连续四次回车即可
    [root@node01 ~]ssh-keygen -t rsa 
    #执行完毕后,在/root/.ssh/目录下会生成 id_rsa(私钥)、id_rsa.pub(公钥), 使用以下命令查看
    [root@node01 ~]cd /root/.ssh
    
    #将公钥复制到本地主机,会生成权限文件authorized_keys,执行命令会让输入登录密码。
    [root@node01 ~]# ssh-copy-id node01
    

    (2)测试本地免密登录

      #使用 ssh 登录到 node01
      [root@node01 ~]# ssh node01
      #退出 node01 访问
      [root@node01 ~]# exit       
    
  1. 配置hadoop伪分布式环境

    配置文件所在路径:/usr/local/src/hadoop/etc/hadoop/

    (1)建议使用 NotePad++ 工具进行 Hadoop 配置文件编辑

    • 修改文件**hadoop-env.sh**, 设置 Hadoop环境对应的JDK
     将语句 export JAVA_HOME=${JAVA_HOME} 修改为 export JAVA_HOME=/usr/local/jdk
    

    (2)修改 core-site.xml 配置文件

     <!--NameNode的访问URI,也可以写为IP,8020为默认端口, 主机名根据实际修改-->
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:8020</value>
      </property>
      
      <!--临时数据目录,用来存放数据,格式化时会自动生成-->
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/src/hadoop/tmpData</value>
      </property>
    

    (3)修改 **hdfs-site.xml **配置文件

     <!--Block的副本数,伪分布式要改为1-->
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      
      <!--NameNode 元数据存放地址-->
      <property>
        <name>dfs.name.dir</name>
        <value>/usr/local/src/hadoop/data/namenode</value>
      </property>
      
      <!--DataNode 副本存放地址-->
      <property>
        <name>dfs.data.dir</name>
        <value>/usr/local/src/hadoop/data/datanode</value>
      </property>
      
      <!--HDFS 临时存放地址-->
      <property>
        <name>dfs.tmp.dir</name>
        <value>/usr/local/src/hadoop/data/tmp</value>
      </property>
      
      <!--配置有secondarynamenode的主机, 主机名要根据实际修改-->
      <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>node01:50090</value>
      </property>
    

    (4)修改 slaves 配置文件

     #向slaves文件中添加当前系统的主机名(例如:node01)
      node01
    

    (5)格式化**namenode**

  # 格式化namenode ,由于已经配置过 Hadoop 的 bin 环境变量,则该命令可以在任意目录下运行
     [root@node01 ~]# hdfs namenode -format
  1. 启动HDFS,有两种启动方式,任选一种启动hdfs:

    (1)方式一:分步逐个启动

      # 启动 HDFS 分布式文件系统 - 启动 namenode 元数据节点,负责管理文件切片存储
      [root@node01 ~]hadoop-daemon.sh start namenode    
        
      # 启动 datanode 副本节点,负责存储文件切片,定时发送心跳和块状态报告
      [root@node01 ~]hadoop-daemon.sh start datanode
        
      # 启动 secondarynamenode 镜像备份节点,同步元数据和操作日志
      [root@node01 ~]hadoop-daemon.sh start secondarynamenode 
    

    (2)方式二:使用批处理脚本启动

      [root@node01 ~]start-dfs.sh
    
  2. 使用命令 **jps**查看启动的核心进程

      [root@node01 ~]jps
      
      #显示内容如下,表示HDFS启动成功
      12176 DataNode
      12085 NameNode
      12270 SecondaryNameNode
      12318 Jps
    
  3. 使用浏览器访问hdfs的相关信息

    (1)首先配置windows系统下的映射文件,使用编辑器(记事本)打开 c:\windows\system32\drivers\etc\hosts

    (2)添加虚拟机的映射,如下:

    192.168.149.21 node01

    (3)在浏览器中输入地址 node01:50070192.168.149.21:50070

  4. 关闭系统前,需要先关闭启动的hdfs

      #关闭hdfs,使用批处理脚本
      [root@node01 ~]stop-dfs.sh
    
  • 启动HDFS时,常见错误及解决办法

    通常出现的错误就是某个节点没有启动,例如namenode/datanode等。需要按照以下步骤处理:

    1. 先删除某些文件和目录
    2. 然后重新格式化,如果仍然出现错误, 请查看日志,日志所在目录 /usr/local/hadoop/logs/
    #首先停止所有hdfs进程
    [root@node01 ~]stop-dfs.sh
    #进入hadoop目录
    [root@node01 ~]cd /usr/local/src/hadoop
    #删除 $HADOOP_HOME/logs 目录
    [root@node01 hadoop]rm -fr logs/ tmpData/ data/
    
    #重新格式化 
    [root@node01 local]hdfs namenode -format
    

二、Hdfs Shell基础操作

格式一:前缀

hadoop fs <-命令> <操作对象>

格式二:前缀

hdfs dfs <-命令> <操作对象>

【注意事项】

​ hdfs shell命令中使用的所有路径都是绝对路径。

  • 新建目录
hadoop fs -mkdir /testdir   或者
hdfs dfs -mkdir -p /testdir/A/B
  • 新建空白文件
hadoop fs -touchz /testdir/data.txt
  • 查看目录和文件列表
hadoop fs -ls /testdir
  • 查看hdfs上文件的内容
hdfs dfs -cat /testdir/data.txt
  • 上传文件
hadoop fs <-put | -copyFromLocal>  <localpath>  <hdfspath>
#将本地的文件上传到hdfs目录testdir中
hadoop fs -put ./data.txt /testdir/   或者
hadoop fs -copyFromLocal ./data.txt /testdir/
  • 下载文件
hadoop fs <-get | copyToLocal>  <hdfspath> <Localpath>
#将hdfs上的文件yarn-site.xml下载到本地目录中
hadoop fs -get /testdir/yarn-site.xml  ./  或者
hadoop fs -copyToLocal /testdir/yarn-site.xml  ./
  • 删除目录或文件
#删除hdfs空目录 B
hadoop fs -rmdir /testdir/A/B

#删除非空目录和文件
hadoop fs -rm -r /testdir
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Hadoop大数据技术是一种开源的分布式计算框架,它能够处理大规模数据集并提供高性能、可伸缩和可靠性的数据处理能力。 Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和Hadoop分布式计算框架(MapReduce)。HDFS是一个分布式文件系统,可以将大数据集存储在多台计算机上,并提供高容错性和高可用性。MapReduce是一种分布式计算模型,可以将大规模数据集分割成小块,分发给集群中的多个计算节点进行并行处理,最后将结果合并返回。 除了核心组件之外,Hadoop还提供了一些其他工具和组件,如YARN(资源管理系统)、HBase(分布式数据库)、Hive(数据仓库和查询语言)、Pig(数据分析工具)等,这些工具和组件可以与Hadoop一起使用,提供更多丰富的功能和更灵活的数据处理方式。 Hadoop大数据技术的优势主要体现在以下几个方面: 1. 可扩展性:Hadoop能够通过增加计算节点来处理更大规模的数据集,从而实现高性能的数据处理能力。 2. 容错性:Hadoop将数据复制到不同的计算节点上,即使某个节点出现故障,数据依然可以恢复和访问。 3. 成本效益:Hadoop使用廉价的硬件来构建集群,相比传统的大型服务器,成本更低。 4. 处理速度快:由于使用分布式计算模型,Hadoop可以在短时间内处理大规模数据集,提供高速的数据处理能力。 5. 灵活性:Hadoop提供了各种工具和组件,使得开发人员可以根据自己的需求选择最合适的方式来处理数据。 总的来说,Hadoop大数据技术是一个非常强大的数据处理工具,可以帮助企业处理和分析大规模的数据,从而提供更准确、更全面的数据分析和决策支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红陌樱花vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值