Hadoop基础知识点——填空

  1. 大数据系统对数据的处理仅限于查询、分析、转换,而不会改变,因为数据都是其他系统产生的,不如日志,修改他们没有什么意思。
  2. Hadoop由HDFS、Yarn、MapReduce组成:HDFS是分布式文件系统,解决了大量存储的问题;Yarn是分布式计算系统的节点资源管理和调度工具:MapReduce是数据计算框架,分为Map和Reduce两个阶段,其中Reduce又隐含了一个Shuffle过程。MapReduce与其他两个不是一个层面的,MapReduce是帮助我们编写运行Hadoop系统中的数据处理程序的库。
  3. DataNode用于存放文件 ,NameNode用于管理整个文件目录树
  4. NameNode处理管理整个文件目录树,还要管理各DataNode主机,协调它们之间的配合,监视DataNode的生存情况,对长时间无反应的DataNode不再访问。
  5. 数据冗余,每个文件都会有多个副本分散在不同的DataNode上,NameNode时刻监视文件的副本量,如果小于设定的值,就找一台DataNode增加副本数。一般至少有三份副本才能保证数据安全,保证某个DataNode在死掉的情况下依然能供客户端及时获取文件数据。
  6. 分布式环境下的各种操作相当繁琐,所以请记住HDFS的一个特点(也可以说是一个缺点):不支持随机写(指定文件位置去写入内容的操作),但支持追加内容(明显这个操作的成本要比随机写低),总之它适合的访问方式是"一次写入,多次读取"。
  7. Hadoop系统的运行方式有三种:独立模式、伪分布模式、分布式模式。
  8. "容器"其实就是一台虚拟机,所以容器技术就是创建和管理虚拟机的技术。当前最流行的容器技术软件就是Docker。
  9. 其实Docker是一种更轻量的虚拟化技术,随着需求和业务模式的发展也一直在演进。
  10. 为什么人们喜欢用容器化技术呢?因为容器内的系统与宿主机无关,容器内配置好的软件环境不会随宿主机变化,这使得我们平时遇到的很多烦恼不复存在。
  11. 注意最后一行"[root@2b7fe07f4401]#",看到它就表示已经入容器内部。root表示Linux的当前账户,2b7fe07f4401是容器的id,/表示当前所在路径为根路径。
  12. Vi有三种模式,默认是命令模式,此时按下字符键,表示命令而不是输入字符。有很多命令可以将模式变为编辑模式,比如a、i、o。先按ESC键再按冒号键,进入另一种命令模式,此模式下可以退出vi,如果没有任何改动,输入"q"即可,输入"wq"会保存修改再退出,输入"q!"表示丢弃修改并退出。
  13. 在HDFS的根目录下创建user目录:dfs -mkdir /user

在/user目录下创建与操作Hadoop账户名相同的目录:dfs -mkdir /user/root

在/user/root目录下创建input目录:dfs -mkdir input

  1. 执行命令 sbin/start-all.sh。 注意观察日志输出是否报告异常,也可以通过jps命令产看程序是否运行。
  2. HDFS高可用涉及到的组件有NameNode、DataNode和edits共享组件。
  3. Zookeeper再每个节点上都有运行。注意,Zookeeper应配置为奇数个节点,因为n(n为奇数)个和n+1个节点对风险的抵抗能力相同,而且奇数个更容易选出Leader。所以。Zookeeper节点至少要有三个,用5个是没有问题的。
  4. Pom.xml是工程描述文件,Maven脚本根据它来构建目标结果(比如编译、打包)。

Src下是组件工程的文件夹。

Src/main下放的是用于构建目标结构的文件。

Src/test下放的是用于测试的文件

Src/main/java下放的是Java源码文件,src/test/java也是源码文件,不过用于测试;其下的com/niu/edu是一个Java包。

Src/main/resources下放的是资源文件(只要不是Java源码文件,都叫资源文件),这个目录看不到,当需要手动创建即可。Src/test/resources下放的也是资源文件,用于测试

  1. 必须放在<dependencies>元素中,每一个依赖项是一个<dependency>,每个<dependency>至少要包含三项内容:groupId、artifactId、version。
  2. 打jar包只需一条Maven命令,在VSCode的控制台(TERMINAL)窗口执行命令mvn package,打包成功后,在项目根目录下的target目录下出现一个jar文件。Hive被称为数据仓库工具,因为它适合做的事与关系型数据库是有差别的,它基于HDFS和MapReduce,适合做一些对数据进行抽取、转换、加载(ETL)的工作,而不适合做事务性的工作(修改这些数据)。
  3. HiveServer2的主要功能是接收客户端的连接,接收客户端发出的SQL语句,处理语句,转成MR作业,返回结果。
  4. 初始化HiveServer2。第一次运行HiveServer2也需要先执行初始化操作(主要是初始化Meta数据库),创建供Meta管理使用的表,命令为:/app/hive/chematool -dbType postgres -initSchema。 其中, dbType指明数据库的类型,对应PostgreSQL的必须是pstgres。
  5. 启动HiveServer2.执行/app/hive/bin/hiveServer2 & 命令,其中"&"表示在后台运行。启动后,如果没有错误,就会输出类似下面内容。
  6. 使用beeline连接HiveServer2,命令为/app/hive/bin/beeline -u jdbc:hive2://localhost:10000 -n hive 。 其中 -u 后面是URL, -n后面是账户名。
  7. OLTP要求数据处理必须满足原子性、一致性、隔离性、持久性四要素,否则无法保持稳定的业务状态。
  8. Hive适合OLAP,普通DBMS适合OLTP。
  9. Hive的组件包括HiveServer2、MetaStore、Meta database、beeline,可以任意组合,实现独立或嵌入式运行模式。
  10. HBase也是一主多从的主从架构。主组件叫做HMaster,从组件叫做HRegionServer。
  11. HBase对HMaster和HRegionServer的分工非常科学,HMaster不参与表的管理,不参与客户端对表的访问,其主要工作是故障恢复和负载平衡。
相关推荐
mizuhokaga9 小时前
Hive parquet表通过csv文件导入数据
数据仓库·hive·hadoop
全栈弟弟10 小时前
高级大数据开发协会
大数据·数据仓库·hadoop·flink·spark
lzhlizihang12 小时前
Hadoop的一些高频面试题 --- hdfs、mapreduce以及yarn的面试题
大数据·hadoop·hdfs·mapreduce·面试题·yarn
楠奕12 小时前
linux hadoop-3.3.6 hbase-2.5.7
linux·hadoop·hbase
学习3人组12 小时前
Hadoop分布式集群配置
大数据·hadoop·分布式
赵渝强老师14 小时前
【赵渝强老师】基于ZooKeeper实现Hadoop HA
大数据·hadoop·分布式·zookeeper
我的K84091 天前
解决Hive乱码问题
数据仓库·hive·hadoop
盼兮*2 天前
Centos7环境下Hive的安装
大数据·数据仓库·hive·hadoop
阳爱铭2 天前
指标服务平台:全面解析
java·服务器·网络·hadoop·sql·hbase·数据库架构