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
(0)

相关推荐

  • Hadoop 入门

    Hadoop 入门

  • 新手必看 路由和交换机常用命令配置大合集

    华为路由器交换机配置命令大合集,熟练掌握下面的华为路由器交换机配置知识点,你只需花几分钟的时间就能明白华为路由器交换机配置.交换机的配置命令等等. 华为路由器交换机配置命令:计算机命令 PCAlogi ...

  • 交换机的基本配置方法及VLAN常用命令详解

    前面我们系统介绍我们安防行业需要用到的网络知识里,讲到VLAN的概念和划分,很多朋友要求写一写交换机VLAN划分的命令.交换机的配置过程还是比较复杂的,品牌和产品不同也会有差异,我们今天一起学习一下通 ...

  • 交换机的基本配置方法及VLAN常用命令详解!爱学习的你必须掌握!

    前面我们系统介绍我们安防行业需要用到的网络知识里,讲到VLAN的概念和划分,很多朋友要求写一写交换机VLAN划分的命令.交换机的配置过程还是比较复杂的,品牌和产品不同也会有差异,我们今天一起学习一下通 ...

  • 植物配置 | 各城市常用植物配置清单

    每日推送园林养护相关资讯,更有园林行业动态等优质内容. 南京及周边地区植物群落示例 1.水杉+黄连+乌桕+连香树--卫矛+石楠+十大功劳+粉花绣线菊+棣棠--鸢尾 2.马尾松+栓皮栎+麻栎--山茶+垂 ...

  • Linux常用命令大全(非常全!!!)

    日常使用命令 开关机命令 1.shutdown –h now:立刻进行关机 2.shutdown –r now:现在重新启动计算机 3.reboot:现在重新启动计算机 4.su -:切换用户:pas ...

  • ffmpeg 常用命令汇总

    part 1: 经常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下,参考了网上部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试一下,有问题欢迎在下面回帖交流,谢 ...

  • php-fpm常用命令

    查看php-fpm端口是否在被php-fpm使用 sudo lsof -i:90001 一般修改 php.ini 文件后经常需要重启php-fpm sudo killall php-fpm 关闭1 再 ...

  • windows Telnet 客户端常用命令介绍

    Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序,用它连 ...

  • ipython快捷键操作及常用命令

    Ipython shell命令 - Ctrl-P 或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-N 或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-R ...