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
hadoop伪分布模式的配置和一些常用命令的更多相关文章
- hadoop 伪分布模式的配置
转自 http://blog.csdn.net/zhaogezhuoyuezhao/article/details/7328313 centos系统自带ssh,版本为openssh4.3 免密码ssh ...
- Linux环境搭建Hadoop伪分布模式
Hadoop有三种分布模式:单机模式.伪分布.全分布模式,相比于其他两种,伪分布是最适合初学者开发学习使用的,可以了解Hadoop的运行原理,是最好的选择.接下来,就开始部署环境. 首先要安装好Lin ...
- Hadoop伪分布模式配置部署
.实验环境说明 注意:本实验需要按照上一节单机模式部署后继续进行操作 1. 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 2. 环境介绍 本实验环境采用带桌面的 ...
- Hadoop伪分布模式配置
本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 请先按照上一篇文章H ...
- 【原】Hadoop伪分布模式的安装
Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...
- Hadoop伪分布模式操作
http://blog.csdn.net/wangloveall/article/details/20195813 摘要:本文介绍Hadoop伪分布模式操作,适合于Hadoop学习.开发和调试. 关键 ...
- hadoop伪分布模式安装
软件环境 操作系统 : OracleLinux-R6-U6 主机名: hadoop java: jdk1.7.0_75 hadoop: hadoop-2.4.1 环境搭建 1.软件安装 由于所需的软 ...
- Hadoop 伪分布模式安装
( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...
- Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类 的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...
随机推荐
- 【2018寒假集训 Day2】【动态规划】又上锁妖塔
又上锁妖塔 (tower.in/tower.out) [题目描述] 小D在X星买完了想要的东西,在飞往下一个目的地的途中,正无聊的他转头看了看身边的小A,发现小A正在玩<仙剑>,可是小A很 ...
- nginx-(三)基本模块1
nginx常用模块介绍 ngx_http_access_module模块的配置(基于IP的访问控制) allow address | CIDR | unix: | all; deny address ...
- CentOS 7 Cobbler 安装
Cobbler介绍 Cobbler是一个Linux服务器快速网络安装的服务,而且在经过调整也可以支持网络安装windows. 使用python开发,小巧轻便(才15k行python代码),可以通过网络 ...
- 使用Python为中秋节绘制一块美味的月饼【华为云技术分享】
每逢佳节… 对于在外的游子,每逢佳节倍思亲.而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了.这几天各公司都陆续开始发中秋礼品了.朋友圈各种秀高颜值的月饼,所以 ...
- 使用python实现http服务器
主要使用python实现了一个http服务器.http服务器实现了用户的注册和登录的简单功能,当然还可以继续扩展. 数据的存储使用的是文件,有兴趣的话可以使用数据库进行存储.当然根据个人兴趣而定. 本 ...
- gitbook 入门教程之自定义不一样的多语言首页插件
自定义多语言主页 中文 | English
- MySQL必知必会(组合Where子句,Not和In操作符)
SELECT prod_id, prod_price, prod_name FROM products ; SELECT prod_id, prod_price, prod_name FROM pro ...
- java之扩展运算符
java中的扩展运算符为+=.-=./=.%=.*= 当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如: public class Test{ public stat ...
- MyBatis—resultMap 的关联方式实现多表查询(多 对一)
mapper 层 a)在 StudentMapper.xml 中定义多表连接查询 SQL 语句, 一次性查到需要的所有数据, 包括对应班级的信息. b)通过<resultMap>定义映射关 ...
- hdu-4638
There are n men ,every man has an ID(1..n).their ID is unique. Whose ID is i and i-1 are friends, Wh ...