Hadoop
来源:互联网 发布:有哪些很污的淘宝店铺 编辑:程序博客网 时间:2024/06/06 09:05
1.第一步:检查有无安装hadoop的服务
ps -ef | grep hadoop
find / -name hadoop
使用tar进行解压操作的时候,解压成功文件会变动用户和用户组的额
chown -R root:root
rpm -qa | grep java
查看用户在不在的,用id 用户进行查看的额,
linux zip 解压
mvn 命令
du -sh 查看文件的大小
ll -h 查看文件大小
cat /etc/passwd | grep
chown -R root:root
linux 软连接 硬链接
hdfs namenode -format 格式化
bin/hdfs getconf -namenodes
0.0.0.0代表当前设备的IP的地址 dfs.blocksize=128M dfs.replication=3 主namenode 名称节点 命名空间 namenode 维护的是文件名称 文件目录结构 文件的属性 权限,创建时间和副本数 文件对应的哪些数据块,数据块对应的哪些 机器节点上 本身这些信息是不存在namenode上的,namenode上是不存在这些映射关系的,是datanode定期发送给namenode的 namenode的数据是存放在内存中的,目录信息是由Datanode定期来报告的,维护目录信息 namenode万一挂掉的话,那么数据目录结构就会丢失的,只能通过Datanode来定期的报告的 datanode是数据节点 存放数据的, 数据块block的, 数据块校验和 datanode与namenode通信,是每隔3秒发送一个心跳包的,每隔10个心跳包发送一次blockreport的。 SecondaryNameNode是1小时去namenode上获取fsimage和editlog的,合并成fsimage.ckpt,推送给namenode 目录/tmp/hadoop-hadoop/dfs/name/current记录实时的fsimage和editlog的日志的 NameNode的进程挂了,文件路径还在的话可以通过重启NameNode来恢复的 NameNode机器挂了,文件路径不存在了(即是文件损坏,磁盘损坏),可以通过secondaryNameNode的fsimage来恢复NameNode的, 力度是在一个小时之内的 2.副本放置策略 第一副本:防置在上传文件的DataNode上的,如果是集群外提交的,则会随便挑选一台磁盘不太慢的,cpu不太忙的节点上的 第二副本:防置在第一个副本不同的机架的节点上的 第三副本:与第二副本相同机架的不同节点上的 如果还有更多的副本,则会随机的放置在节点中的 ./hadoop-daemon.sh start namenode jps -l 输出命令空间 jps -m cd /tmp/hsperfdata_hadoop中的文件名称就是进程号的,当进程异常的中断时候,要及时地去清理/tmp/hdperfdata_hadoop里面的文 件的,否则jps中会出现很多残留的文件的 hadoop fs -ls / ==== hadoop fs -ls hdfs://192.168.137.131:9000/ 3.hdfs的写流程 hadoop fs -put jepson.log / 客户端调用FileSystem来通过rpc协议来进行通信NameNode的,检查HDFS上的文件是否存在的,是否是有权限的验证的, NameNode返回一个ok的状态的,返回一个FSDataOutputStream的对象的, Client调用FileSystem.create(filePath)方法,去与NameNode进行RPC通信的,check该路径下的文件是否存在以及有没有权限创建该文件 的,假如OK的话,就创建一个新文件的,但是并不关联任何block的,返回一个FSDataOutputStream对象的,假如not ok,就该返回错 误信息,所以写代码要try-catch的 Client调用FSDataOutputStream对象的write()方法,会将第一个块写入第一个DataNode上的额,第一个DataNode写完传给第二个节点 的,第二个写完传给第三个节点的,当第三个节点写完返回一个ack packet给第二个节点,第二个返回一个ack packet给第一个节点, 第一个节点返回ack packet给FSDataOutputStream对象的,意思标识第一个块写完的,副本数为3;然后剩余的块依次这样写的: 当然写操作对于Client端是透明的, 当向文件写入数据完成后,Client端调用FSDataOutputStream.close()方法,关闭输出流的额,flush缓存区的数据包 再调用FileSystem.complete()方法,告诉NameNod节点写入成功的, 4.hdfs的读流程 hadoop fs -cat /jepson.log HDFSClient客户端进行一个操作命令, Client调用FileSystem.open()的方法,去与NameNode进行RPC通信的,进行check的判断,是否有权限是否该文件存在,返回该文件的 block以及DataNode的部分地址列表的,block块分布在哪些机器上的以及DataNode的地址列表的 返回一个FSDataInputStream的对象的, Client调用FSDataInputStream的read方法进行读操作的,就近原则进行读取的额,check块有 无损坏的额, 通过jps来查看进程的额,其各自的进程会对应一个pid文件的,目录在/tmp下的后缀为pid的文件的 pid文件存在的形式:1是进程是ok的,2是进程死掉了,pid文件残留的,下次启动服务时候,报pid存在的,需要手工删除的(Mysql也有 类似的问题的) pid文件中存在进程号的 hadoop fs等价于hdfs dfs hdfs dfsadmin -report 用于管理的,报告磁盘的情况 hdfs dfsadmin -safemode enter|leave |get | wait hdfs dfsadmin -setBalancerBandWidth 1000 hdfs fsck start-balancer.sh
阅读全文
0 0
- hadoop
- Hadoop
- Hadoop
- hadoop
- hadoop
- Hadoop
- Hadoop
- hadoop
- Hadoop
- hadoop
- hadoop
- hadoop
- hadoop
- Hadoop
- Hadoop
- hadoop
- Hadoop
- Hadoop
- linux音频子系统
- MyBatis源码(四)之mapper文件解析和动态Sql解析启动阶段
- Mac Android studio插件GsonFormat的使用
- kickstart安装centos6.5
- mySql 修改字段自增
- Hadoop
- shell学习二十一--使用if编写mysql启动脚本
- HDOJ2009 求数列的和
- 快速幂&&快速计算(a*b)mod m
- 解决eclipse maven工程中src/main/resources目录下创建的文件夹所显示样式不是文件夹,而是"包"图标样式的问题
- Android 开发使用Android studio 遇到的问题汇总
- c语言的学习文档1
- 计算球体积
- C语言的变量-2