Hadoop入门
Hadoop大数据平台架构与实践
- 大数据技术的相关概念
- Hadoop的架构和运行机制
- 实践:Hadoop的安装和配置
- Hadoop的开发
Hadoop是什么?
开源的, 分布式存储 + 分布式计算平台
Hadoop的组成?
HDFS:分布式文件系统,存储海量的数据
MapReduce:并行处理框架,实现任务分解和调度
Hadoop可以用来做什么?
搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务
Hadoop的优势?
- 高扩展
- 低成本
- 成熟的生态圈 e.g.HIVE、Hbase、zookeper等等
- HIVE:小蜜蜂,代表着一种牵引,利用hive这个工具,你可以不用去编写复杂的Hadoop任务程序,只需要写一个SQL语句, Hive就可以把这个SQL转换成Hadoop任务去执行,降低了使用Hadoop的使用门槛
- HBASE:是一个存储结构化数据库的分布式数据库。
- 它与传统的关系型数据库的区别是:放弃事物特性,追求更高的扩展。
- 它与HDFS的区别是:hbase提供数据的读写和实时访问,实现对表数据的读写功能
Hadoop版本的选择?
ver1.x稳定 ver2.x 不稳定 差别很大,课程用ver1.2
Hadoop的安装
- 准备Linux环境
- 安装JDK(hadoop是用java开发的)
- 配置hadoop
- hadoop-env.sh 配置JAVA_HOME
- core-site.xml 配置Common组件的属性
<property> <name>hadoop.tmp.dir</name> //hadoop临时目录用来存放nn临时文件 <value>/usr/local/hadoop/tmp</value> //该目录必须预先手工创建不能删除 </property> <property> <name>hadoop.name.dir</name> <value>/usr/local/hadoop/name</value> </property> <property> <name>fs.default.name</name> //配置NN节点地址和端口号 <value>hdfs://hadoop.master:9000</value> //注意格式必须是host:port的形式 </property>
- hdfs-site.xml
<property> <name>dfs.data.dir</name> <value>/usr/local/hadoop/data</value> </property>
- mapred-site.xml
<property> <name>mapred.job.tracker</name> <value>hadoop.master:9000</value> </property>
- 4个配置文件完成后:
- vim /etc/profile 配置JAVA_HOME、JRE_HOME、HADOOP_HOME、CLASSPATH、PATH
- source /etc/profile 让配置生效
- hadoop 使用该命令测试hadoop配置是否成功
- cd ..
- cd bin/
- ls
- hadoop namenode -format 格式化namenode
- start -all .sh
- jps 使用jps查看hadoop是否正常运行
- hadoop fs -ls / 查看hadoop有哪些文件