附录 Hadoop运维技能要求
1. 操作系统
Linux操作系统(检查操作系统版本号)
Linux操作系统概述
安装Linux操作系统
CentOS、Ubuntu
Linux Shell相关工具的使用
Xshell、Xftp
Linux图形界面、字符界面
Linux基本命令
查看主机名:hostname
硬件配置:df、free、ethtool
文件/文件夹操作:cd、mkdir、rm、cp、mv、touch、du、lsof
查看文本:cat、less、tail、vim、vi
查找类:grep、find
压缩解压缩:tar、gzip、zip、unzip
软件安装类:rpm、yum、apt-get
帮助类:man
时间类:date
IO类:lostat
权限类:sudo、chown、chmod、chgrp
端口连接类:netstat、ping、telnet
启停服务类:etc/init.d/mysqld [start|stop|restart]
网页类:elinks http://192.168.1.210:60010
挂载类:mount、umount
用户、组群和权限管理
文件系统管理
软件包管理与系统备份
Linux网络配置
Linux基本服务配置
DNS服务、DHCP服务、HTTP服务、FTP服务、SMTP服务、POP3服务
Linux Shell命令
文件及文本常用命令:tar、find、cut、wc、split、grep、head、tail、sed、awk
系统运行状况命令:top、watch、free、mpstat、vmstat、lostat、pidstat、df、du
系统运行进程命令:ps、nice、renice、lsof、pgrep、pkill
追踪命令:strace
排序命令:sort
删除重复行:uniq
正则表达式
Linux Shell脚本编写
定时备份系统日志
自动监控其它主机硬盘及内存使用状况
自动化安装JDK、Tomcat
2. 数据库
关系型数据库原理
在Linux上安装Mysql、SQL-Server、DB2、Oracle数据库
DDL、DML、DCL语法
Mysql、SQL-Server、Oracle、DB2
SQL基础
基本语句:insert、select、where、update、delete、join、group by、having、desc、asc、limit、isnull、等
函数:日期函数、嵌套函数、字符串函数、数字函数、聚集函数
SQL高级
- PL/SQL、if、case、loop、while、for、游标、视图、索引、存储过程、事务、SQL编程
数据库管理
容量规划
安全
性能
对象
存储管理
变化管理
任务调度
网络管理
故障排查
管理工具
- Mysql:Workbench、Navicat
- SQL-Server:SSMSE
- Oracle:OEM、PL/SQL developer、Toad
- DB2:DB2top、Toad for db2
备份与恢复
文件:参数文件、控制文件、数据文件、转储文件、重做日志
备份:冷备份、热备份
还原和恢复:备份控制文件、归档日志文件
数据库优化
表:建立分区表、重建索引
I/O:将数据、日志、索引放在不同I/O设备
切分:横/纵向分割表
硬件:升级CPU、内存、网络带宽等
业务分离:OLTP与OLAP分离
字段选取:where后的查询字段避免冗余
3. 大数据
一、原生Hadoop
Hadoop框架
大数据概念及应用场景
Hadoop介绍
Hadoop组件
HDFS组件
HDFS读取过程
HDFS基本命令:cat、chgrp、chmod、chown、cp、df、du、find、get、ls、lsr、mkdir、mv、put、rm、rmdir、rmr、tail、stat等
Hive组件
Hive表结构与数据存储
Hive与RDBMS区别
Hive数据库与表
基本HiveQL语法
向Hive装载数据
Sqoop组件
Sqoop工作原理
Sqoop数据流转
Flume组件
Flume工作原理
Flume参数配置
实时将系统日志文件导入HDFS
HBase组件
HBase概念及应用场景
HBase与RDBMS联系与区别
HBase表结构与数据存储
二、TDH发行版本
安装前准备
操作系统版本 CentOS 6.3-6.5/REHL 6.3-6.5/ Suse SP2-SP3/操作系统是否干净?
是否需要配置sudo用户安装TDH?
机器硬件配置 CPU/MEM是否满足要求?/ 系统根分区大于300G?/千兆以上网络?
是否配置了SSD?
是否操作系统双盘RAID1,数据盘RAID0?
配置是否对称同构
(1)磁盘同构: 数据盘对应的每块磁盘是否一样大?(严禁大小磁盘混合做数据盘,例如300G /mnt/ disk1, 2.7T /mnt/disk2)
(2)网络同构: 每台机器网卡配置是否相同?
(3)CPU/内存大小是否同构:
系统时间是否正确。 > date -s ‘2015-11-11 09:45:00’
确认网络解析是用/etc/hosts文件还是DNS server。
(1)推荐使用hosts文件解析。
(2)若用hosts文件解析,确保/etc/resolv.conf 为空或隐掉。并保证/etc/nsswitch.conf 中 files 解析在DNS解析之前
(3)各节点尽可能的在一个网段
hostname只能是以字母和数字的组合(中间允许’-’),不能有“,” / ”.” / “_”等特殊字符。
TDH安装与运维
安装
root安装、非root安装
配置RACK(机柜命名一定要以’/’ 开头,如 /default)
添加节点、添加硬盘、升级Licence
配置检查
Zookeeper的重要配置
Zookeeper 配置个数是否检查?(奇数个,10个节点以下3个,10-50个节点 5个)HDFS的重要配置
HDFS 的1 个目录配置是否只包含 /mnt/disk*的数据盘,SSD是否排除在外?YARN的重要配置
(1)YARN 的2个目录配置是否只包含 /mnt/disk*的数据盘,SSD是否排除在外?
(2)YARN 的 vcore/Mem配置是否配置成了1个core对应2G内存?
Inceptor的重要配置
(1)Inceptor 是否配置了HiveServer2 (推荐 Kerberos+LDAP HA模式)(2)Inceptor 的 fastdisk 是否配置了SSD?
(3)Inceptor 的localdir 配置里是否只包含 /mnt/disk* ,SSD是否排除在外?
(4)Inceptor 的资源配置是否合理? 每个core是否都分配了1.5-2G内存?
Hyperbase的重要配置
Hmaster个数是否为奇数?(3个或者5个)
Fair Schedule配置
日志相关
Zookeeper的日志位置(/var/log/zookeeper1)
HDFS的日志位置(/var/log/hdfs1)
YARN的日志位置(/var/log/yarn1)
Hyperbase的日志位置(/var/log/hyperbase1)
Inceptor的日志位置(/var/log/inceptor1)
服务启停
查看机器已启动的服务
各服务启停的顺序
Zookeeper的启停
HDFS的启停
Hyperbase的启停
YARN的启停
Inceptor的启停
管理页面
HDFS/YARN/Hyperbase/Inceptor重要的管理界面
HDFS健康状态的检查
YARN状态的检查
Hyperbase状态的检查
Inceptor运行状态的检查
安全相关
开启Kerberos
添加/删除用户
HDFS状态检查
查看HDFS状态
查看损坏文件
fsimage和editlog存放的位置
Inceptor操作
Hive、Inceptor默认的分隔符
创建外表以及数据存放位置
创建ORC格式表及数据存放位置
创建Transaction ORC表及数据存放位置
创建Hyperbase外表及数据存放位置
数据迁移
Sqoop应用场景
Sqoop工具的使用
常用BI工具对接
Tableau对接
JDBC程序对接
SQuirreL对接
Hyperbase操作
全局索引、local索引、全文索引的概念与区别
localmode、clustermode的区别
Hyperbase.reader=true的含义
4040页面上的表征
怎样查看Hyperbase相关状态
一个RegionServer最多host多少个Region?
哪些情况会导致数据写入热点?
ObjectStore 程序怎么写?Json支持程度?
Batchinsert是什么?语法怎么写
Bulkload相关
Bulkload的意义和本质
各个阶段的目的
Bulkload有几个要点?
什么是SQLbulkload?
SQLBulkload操作(TPCDS一张表的数据)
TPC-DS相关
什么是TPC-DS?
TPC-DS中有多少个SQL?
怎样运行TPC-DS?
TPC-DS截图
实验任务:
1、掌握安装TDH及其相关组件,熟悉安装前的Checklist和各组件的作用
2、使用Sqoop工具实现将RDBMS(Mysql、DB2、Oracle)与HDFS之间的数据迁移,在迁移的过程中完成数据的清洗和稽查,额外的可以通过Sqoop将数据导入Inceptor和Hyperbase表中
3、熟悉Inceptor中各函数的使用,特别是日期函数、字段截取函数、批量插入函数、行列转换函数等
4、使用Flume工具实现将半结构化数据批量导入HDFS
5、掌握在Inceptor中建立托管表、外表、ORC格式表、分区分桶表、内存表、Hyperbase表,并通过Squirrel和Tableau工具通过JDBC、ODBC连接Inceptor
6、掌握将全量数据和增量数据插入普通表、分区、分桶表中
7、掌握TPC-DS和Bulkload的使用方法
8、掌握TDH的Guardian组件的安装和Kerberos安全认证的配置
9、掌握Hyperbase中添加全局索引和Elastic Search索引
10、掌握在HUE的管理界面中添加Oozie工作流,并完成一个定时任务计划
11、熟悉在CentOS6.5下使用PXE+Kickstart实现无人值守安装操作系统
12、掌握通过日志的错误信息进行错误的排查