hadoop2.4生产集群已经执行一段时间了.因为大量的hadoop1.0上面的应用不断迁移过来.刚開始事hdfs这边还没有出现多少问题.随着时间的推移,近期发现个别的datanode节点上面的磁盘空间剩余严重不足.既集群数据存储严重不均衡,非常多DN节点分明还有非常多存储空间,而个别DN节点存储空间则出现严重不足的情况. 后来经过分析,发现这些空间严重不足的节点上面,都执行了distcp作业的map任务,distcp是一个纯粹拷贝数据的job.一结合hdfs数据副本分配策略一分析,最终找到了问…
一.HDFS基础架构 1.HDFS特点:水平扩展.高容错性.廉价硬件.开源生态系统 2.Hadoop生态圈 1).分布式存储系统(HDFS),2).资源管理框架(YARN),3).批处理框架(MapReduce.Pig),4).数据仓库(Hive),5).NoSQL系统(HBase.Drill),6).OLAP系统(Impala.Presto.Spark(SQL)),7).实时流计算框架(Storm.Spark(Streaming).Flink),8).机器学习框架(Mahout.Spark(M…
起因:一个客户的实际故障,该故障非常典型,其他客户类似的环境也非常多,所以很值得梳理并记录下来. 环境:Oracle 11.2.0.4 RAC(2 nodes)+ RHEL 6.6 共享存储:EMC powerpath 做的多路径绑定 分别登陆到两个节点,查看设备名称: [oracle@node1 ~]$ ls -l /dev/emcpower* crw-r--r-- 1 root root 10, 56 Feb 2 09:52 /dev/emcpower brw-rw---- 1 grid a…
datanode配置多个数据存储地址,涉及到以下两个配置项 dfs.name.dir Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories,…
由于datanode所需磁盘空间较大,所以工作中可能会涉及到给datanode增加磁盘目录或者更改数据目录 CM停止该datanode节点 CM页面增加目录或者修改目录 如果是修改目录的话 需要将服务器中原始目录中的文件cp到修改后的目录中 # 将usr/clouderadata/var2/dfs/dn目录修改为/data3/usr/clouderadata/data233/dfs/dn [root@bigdata001 dfs]# pwd usr/clouderadata/var2/dfs […
Zookeeper内存结构 Zookeeper是怎么存储数据的,什么机制保证集群中数据是一致性,在网络异常,当机以及停电等异常情况下恢复数据的,我们知道数据库给我们提供了这些功能,其实zookeeper也实现了类似数据库的功能. 1.      Zookeeper内存结构 Zookeeper数据在内存中的结构类似于linux的目录结构 DataTree代表这个目录结构, DataNode代表一个节点 DataTree: 默认初始化三目录 )"" ) "/zookeeper&q…
一.服务器角色 1. Leader 1)事务请求的唯一调度者和处理者.保证事务处理的顺序性 事务请求:导致数据一致性的请求(数据发生改变).如删除一个节点.创建一个节点.设置节点数据,设置节点权限就是一个事物请求,全局的事物id(zxid)只能由leader来分配 2)集群内部个服务器之间的调度者 2. Follower 1)处理客户端的非事务请求.事务请求必须转发给Leader服务器. 非事物请求:读取数据2)参与事务请求Proposal(议案)的投票3)参与Leader选举 3. Obser…
动态添加 DataNode 节点 hadoop环境是必须的 需要加入新的 DataNode 节点,前提是已经配置好 SSH 无密登录:直接复制已有DataNode中.ssh目录中的authorizedkeys和idrsa. 在新DataNode上启动hadoop hadoop-daemon.sh start datanode yarn-daemon.sh start datanode 在NameNode上刷新节点 hdfs dfsadmin -refreshNodes 数据平衡使用: start…
锁粒度与并发性能怎么样? 数据库的读写并发性能与锁的粒度息息相关,不管是读操作还是写操作开始运行时,都会请求相应的锁资源,如果请求不到,操作就会被阻塞.读操作请求的是读锁,能够与其它读操作共享,但是当写操作请求数据库时,它所申请的是写锁,具有排它性. MongoDB在2.2之前的版本,锁的粒度是非常粗的,它会锁住整个mongod实例.这意味着当一个数据库上的写锁被请求后,对mongod实例上管理的其它数据库的操作都会被阻塞.2.2版本降低了锁的粒度,引入了单个数据库范围的锁,也就是说读写操作的锁…
1.开机启动Hadoop,输入命令:  检查相关进程的启动情况: 2.对Hadoop集群做一个测试:   可以看到新建的test1.txt和test2.txt已经成功地拷贝到节点上(伪分布式只有一个节点,如果是完全分布式,则会显示3个节点都拷贝成功).这证明HDFS工作正常,其中,hadoop dfs –put [本地地址] [hadoop目录] 代表将本地的地址目录存放到hadoop目录下:hadoop dfs –ls [文件目录] 则表示查看指定目录下的内容.更多Hadoop的常用指令请参考…