zoukankan      html  css  js  c++  java
  • hadoop伪分布模式的配置和一些常用命令

    大数据的发展历史

    3V:volume、velocity、variety(结构化和非结构化数据)、value(价值密度低)

    大数据带来的技术挑战

    • 存储容量不断增加
    • 获取有价值的信息的难度:搜索、广告、推荐
    • 大容量、多类型、高时效的数据处理场景,使得从数据中获取有价值的信息变得非常困难

    hadoop理论概述

    hadoop发展简史

    • apache nutch项目,是一个开源网络搜索引擎
    • 谷歌发表GFS,是HDFS的前身
    • 谷歌发表了mapreduce分布式编程思想
    • nutch开源实现了mapreduce

    hadoop简介

    • 是apache软件基金会下的一个开源分布式计算平台
    • java语言,跨平台性
    • 在分布式环境下提供了海量数据的处理能力
    • 几乎所有厂商都围绕hadoop提供开发工具

    hadoop核心

    • 分布式文件系统HDFS
    • 分布式计算MapReduce

    hadoop特性

    • 高可靠性
    • 高效性
    • 高可扩展性
    • 高容错性
    • 成本低
    • linux
    • 支持多种编程语言

    hadoop生态系统

    • HDFS:分布式文件系统
    • mapreduce:分布式并行编程模型
    • yarn:资源管理和调度器
    • tez运行在yarn之上的下一代hadoop查询处理框架,他会将很多的mr任务分析优化后构建一个邮箱无环图,保证最高的工作效率
    • hive:hadoop上的数据仓库
    • hbase:非关系型分布式数据库
    • pig:基于hadoop的大规模数据分析平台
    • sqoop:用于在hadoop与传统数据库之间进行数据传递
    • oozie:工作流管理系统
    • zookeeper:提供分布式协调一致性服务
    • storm:流计算框架
    • flume:分布式海量日志采集、聚合和传输的系统
    • ambari:快速部署工具
    • kafka:分布式发布订阅消息系统,可以处理消费者规模的网站中所有动作流数据
    • spark:类似于hadoop mapreduce的通用并行框架

    hadoop伪分布模式安装

    主要流程

    • 创建用户及用户组
    sudo useradd -d /home/zhangyu -m zhangyu  
    sudo passwd zhangyu
    sudo usermod -G sudo zhangyu
    su zhangyu
    ssh-keygen -t rsa
    cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
    ssh localhost
    
    • 创建apps和data目录并修改权限
    sudo mkdir /apps
    sudo mkdir /data
    sudo chown -R zhangyu:zhangyu /apps
    sudo chown -R zhangyu:zhangyu /data
    
    • 下载hadoop和java
    mkdir -p /data/hadoop1
    cd /data/hadoop1
    wget java
    wget hadoop
    tar -xzvf jdk.tar.gz -C /apps
    tar -xzvf hadoop.tar.gz -C /apps
    cd /apps
    mv jdk java
    mv hadoop hadoop
    
    • 添加上面两个到环境变量
    sudo vim ~/.bashrc
    export JAVA_HOME=/apps/java
    export PATH=JAVA_HOME/bin:$PATH
    export HADOOP_HOME=/apps/hadoop
    export PATH=HADOOP_HOME/bin:$PATH
    source ~/.bashrc
    java
    hadoop
    
    • 修改hadoop配置文件
    cd /apps/hadoop/etc/hadoop
    
    vim hadoop-env.sh
    export JAVA_HOME=/apps/java
    
    vim core-site.xml
    //追加
    <property>  
        <name>hadoop.tmp.dir</name>  //临时文件存储位置
        <value>/data/tmp/hadoop/tmp</value>  
    </property>  
    <property>  
        <name>fs.defaultFS</name>  //hdfs文件系统的地址
        <value>hdfs://localhost:9000</value>  
    </property>  
    mkdir -p /data/tmp/hadoop/tmp  
    
    vim hdfs-site.xml
    <property>  
        <name>dfs.namenode.name.dir</name>  //配置元数据信息存储位置
        <value>/data/tmp/hadoop/hdfs/name</value>  
    </property>  
     <property>  
         <name>dfs.datanode.data.dir</name>  //具体数据存储位置
         <value>/data/tmp/hadoop/hdfs/data</value>  
     </property>  
     <property>  
         <name>dfs.replication</name>  //配置每个数据库备份数,要根据节点数决定
         <value>1</value>  
     </property>  
     <property>  
         <name>dfs.permissions.enabled</name>  //配置hdfs是否启用权限认证
         <value>false</value>  
     </property>  
    
    • 将集群中slave角色的节点的主机名添加进slaves文件中
    vim slaves  //将集群中的slave角色的节点的主机名添加经slaves文件中
    //目前只有一台节点,所以slaves文件内容只有localhost
    
    • 格式化hdfs文件系统
    hadoop namenode -format
    
    • 输入jps查看hdfs相关进程是否启动
    cd /apps/hadoop/sbin/
    ./start-dfs.sh
    jps
    hadoop fs -mkdir /myhadoop1
    hadoop fs -ls -R /
    
    • 配置mapreduce
    cd /apps/hadoop/etc/hadoop/
    mv mapred-site.xml.template mapred-site.xml
    vim mapred-site.xml
    <property>  
        <name>mapreduce.framework.name</name>  //配置mapreduce任务所使用的框架
        <value>yarn</value>  
    </property>  
    
    • 配置yarn并且测试
     vim yarn-site.xml
    <property>  
        <name>yarn.nodemanager.aux-services</name>  //指定所用服务器
        <value>mapreduce_shuffle</value>  
    </property>  
    ./start-yarn.sh
    
    • 执行测试
    cd /apps/hadoop/share/hadoop/mapreduce
    hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar pi 3 3 
    

    hadoop开发插件安装

    mkdir -p /data/hadoop3
    cd /data/hadoop3  
    wget http://192.168.1.100:60000/allfiles/hadoop3/hadoop-eclipse-plugin-2.6.0.jar  
    cp /data/hadoop3/hadoop-eclipse-plugin-2.6.0.jar /apps/eclipse/plugins/  
    
    • 进入图形界面
    window->open perspective->other
    选择map/reduce
    点击condole右上角蓝色的大象添加相关配置
    
    • 终端命令行
    cd /apps/hadoop/sbin
    ./start-all.sh
    

    hadoop常用命令

    开启、关闭hadoop

    cd /apps/hadoop/sbin
    ./start-all.sh
    cd /apps/hadoop/sbin
    ./stop-all.sh
    

    命令格式

    hadoop fs -命令 目标
    hadoop fs -ls /user
    

    查看版本

    hdfs version
    hdfs dfsadmin -report  //查看系统状态
    

    目录操作

    hadoop fs -ls -R /  
    hadoop fs -mkdir /input
    hadoop fs -mkdir -p /test/test1/test2
    hadoop fs -rm -rf /input
    

    文件操作

    hadoop fs -touchz test.txt
    hadoop fs -put test.txt /input  //把本地文件上传到input文件加下
    hadoop fs -get /input/test.txt /data //把hadoop集群中的test文件下载到data目录下
    hadoop fs -cat /input/test.txt
    hadoop fs -tail data.txt //同cat
    hadoop fs -du -s /data.txt  //查看文件大小
    hadoop fs -text /test1/data.txt  //将源文件输出为文本格式
    hadoop fs -stat data.txt  //返回指定路径的统计信息
    hadoop fs -chown root /data.txt  //改变文件所有者
    hadoop fs -chmod 777 data.txt  //赋予文件777权限
    hadoop fs -expunge  //清空回收站
    

    模式切换

    hdfs dfsadmin -safemode enter
    hdfs dfsadmin -safemode leave
    
  • 相关阅读:
    golang 操作json
    CloudFoundry应用部署记录
    Stream流
    学做8位计算机
    无废话技术选型之--消息中间件选型(rabbitMQ、rocketMQ、kafka)
    无废话设计模式(22)行为型模式--解释器模式
    无废话设计模式(21)行为模式--迭代器模式
    无废话设计模式(20)行为型模式--职责链模式
    无废话设计模式(19)行为模式--访问者模式
    无废话设计模式(18)行为型模式--命令模式
  • 原文地址:https://www.cnblogs.com/hannahzhao/p/11755364.html
Copyright © 2011-2022 走看看