hadoop是一个开源的分布式的分析存储平台,hdfs是分布式文件系统用于存储,mapreduce是并行处理框架用于分析,yarn是集群的资源管理器,zookeeper是分布式服务框架
hdfs:其中hdfs主要由数据块,namenode和datanode构成,数据块存储三份,datanode存放了数据块,namenode存放了文件元数据
mapreduce:其中mapreduce主要由jobtracker和tasktracker构成,jobtracker是作业调度,分配任务给tasktracker去执行map任务和reduce任务,并把结果输出
yarn:在hadoop2.0后推出yarn,其中yarn主要由于resourcemanager和nodemanager构成,resourcemanager调度集群资源,nodemanager是节点管理用于分配容器资源
zookeeper:zookeeper是hadoop中的一个子项目,解决集群中一致性问题,用于监控和维护namenode等数据状态的一致性问题。
hive:hive是建立在hadoop上的数据仓库,不需要开发mapreduce任务,通过hql提交事务,本身不存储和计算,借用hadoop中的mapreduce和hdfs完成执行,所以慢
hbase:hbase是建立在hadoop上的nosql数据库,与hive库相比,解决了实时性问题,需要实时访问的数据存入hbase数据库
集群的简单运维:
如上图所示是一个简单的hadoop集群,在集群维护中,会遇到多种情况,以下简单的描述下基本处理方法
》slave节点挂了
在命令窗口执行jps,如果无进程,单个的节点挂了只需启动datanode和nodemanager如下:
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager
》slava节点添加
1. 新增:在添加节点的时候,需要在master主机下,vi etc/hadoop/slaves配置新增节点
2. 拷贝包:选择一个slave节点,把安装包scp到新增slave节点主机上
3. 拷贝公钥:选择一个slave节点,把namenode与datanode之间通信的免登陆公钥拷贝
4. 启动datanode和nodemanager,并访问http://localhost:50070页面查看Dead Nodes和Live Nodes是否有新增的slave节点
未完待续。。。