大数据的发展历史

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

hadoop伪分布模式的配置和一些常用命令的更多相关文章

  1. hadoop 伪分布模式的配置

    转自 http://blog.csdn.net/zhaogezhuoyuezhao/article/details/7328313 centos系统自带ssh,版本为openssh4.3 免密码ssh ...

  2. Linux环境搭建Hadoop伪分布模式

    Hadoop有三种分布模式:单机模式.伪分布.全分布模式,相比于其他两种,伪分布是最适合初学者开发学习使用的,可以了解Hadoop的运行原理,是最好的选择.接下来,就开始部署环境. 首先要安装好Lin ...

  3. Hadoop伪分布模式配置部署

    .实验环境说明 注意:本实验需要按照上一节单机模式部署后继续进行操作 1. 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 2. 环境介绍 本实验环境采用带桌面的 ...

  4. Hadoop伪分布模式配置

    本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 请先按照上一篇文章H ...

  5. 【原】Hadoop伪分布模式的安装

    Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...

  6. Hadoop伪分布模式操作

    http://blog.csdn.net/wangloveall/article/details/20195813 摘要:本文介绍Hadoop伪分布模式操作,适合于Hadoop学习.开发和调试. 关键 ...

  7. hadoop伪分布模式安装

    软件环境 操作系统 :  OracleLinux-R6-U6 主机名: hadoop java: jdk1.7.0_75 hadoop: hadoop-2.4.1 环境搭建 1.软件安装 由于所需的软 ...

  8. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...

  9. Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

    Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...

随机推荐

  1. 打算写一个《重学Node.js》系列,希望大家多多支持

    先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js ...

  2. NTP服务搭建详解一条龙

    说在前面:ntp和ntpdate区别 ①两个服务都是centos自带的(centos7中不自带ntp).ntp的安装包名是ntp,ntpdate的安装包是ntpdate.他们并非由一个安装包提供. ② ...

  3. Java8 Stream终端操作使用详解

    话不多说,自己挖的坑自己要填完,今天就给大家讲完Java8中Stream的终端操作使用详解.Stream流的终端操作主要有以下几种,我们来一一讲解. forEach() forEachOrdered( ...

  4. easywechat微信开发SDK之小微商户进件(二)

    正式开始进件之前需要准备几个东西 1.服务商商户号 2.API密钥 微信服务商后台中设置 3.APIv3密钥 微信服务商后台中设置 4.API证书路径  登录服务商后台下载  生成证书官方又文档的 很 ...

  5. 【Android - 自定义View】之不同事件的处理

    在Android的自定义View中,往往需要处理一系列的事件,如触摸事件.双击事件.缩放事件等.本文将这些事件及其处理进行总结.本文将持续更新,将我在自定义View的实践中用到的事件及其处理进行总结. ...

  6. 【Android - 自定义View】之自定义可滚动的流式布局

    首先来介绍一下这个自定义View: (1)这个自定义View的名称叫做 FlowLayout ,继承自ViewGroup类: (2)在这个自定义View中,用户可以放入所有继承自View类的视图,这个 ...

  7. php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理

    6月13日任务 12.21 php-fpm的pool12.22 php-fpm慢执行日志12.23 open_basedir12.24 php-fpm进程管理 12.21 php-fpm的pool p ...

  8. 【JZOJ】3490. 旅游题解报告

    题目 思路 这道题看上去就像一个动态规划!但是还是要把矩阵压成一行. 然后按 \(A\)数组 将结构体从小到大排个序. 随后我们开始了动规标准步骤: 确定状态 很显然, \(f_i\) 表示游览完第\ ...

  9. 【华为云网络技术分享】HTTP重定向HTTPS配置指南

    [摘要] 本文介绍使用华为云弹性负载均衡配置Http重定向到Https的方法. 1. HTTP.HTTPS 头部标识 ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了  ...

  10. Kafka 安装配置 及 简单实验记录

    1. 下载二进制文件并解压,并修改 broker.id 的值 wget http://apache.fayea.com/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz - ...