设为首页 收藏本站
查看: 1372|回复: 0

[经验分享] hadoop第三天

[复制链接]

尚未签到

发表于 2018-10-29 12:59:00 | 显示全部楼层 |阅读模式
  【】【】【】【】【【【【集群只有在启动的时候才读取配置文件】】】】】】【【【【【【【【【【集群只有在启动的时候才读取配置文件】】】】】】只有名称节点由镜像,名称节点存放的是块信息,块经来后会向块索取名称列表
  hosts的映射关系千万不要弄错,不然启动后,datanode也会有问题--------------初始化没问题,但是进入webui看datanode没有数据呢。
  之前我配了 127.0.0.1 s100  -------------------------这个要删除,用下面那个。而且把这个自回环的配置删除后win7配置host映射后是能正常用浏览器s100:8088访问的
  后面又配了 192.168.2.116 s100
  】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】
  -------------------------------------------------
  commission | decommission
  -------------------------
  1.服役,退役
  2.slaves:datanode
  dfs.hosts   datanode是否能链namenode 相关
  -----------
  决定能够连接namenode
  dfs.hosts.exclude 排他文件
  -----------
  决定不能连接namenode
  1.dfs.hosts     dfs.hosts.exclude
  --------------------------------
  00//不能连
  01//不能连
  10//能连
  11//能连,但会退役
  优先级:include > exclude
  s200//能
  s300//能 decommission但会退役.
  s400//不能连
  ------------------------------------------、
  【【要操作要操作要操作要操作【【【【【【【【【【【【【【【【【【【【要操作要操作要操作要操作要操作
  考查dfs.hosts和dfs.hosts.exclude文件
  ------------------------------------
  1.创建/soft/hadoop/etc/dfs-hosts-include.conf文件
  s200
  s300
  2.创建/soft/hadoop/etc/dfs-hosts-exclude.conf文件
  s300
  s400
  3.编辑配置文件----配置的是路径
  [hdfs-site.xml]
  dfs.hosts=/soft/hadoop/etc/dfs-hosts-include.conf
  dfs.hosts.exclude=/soft/hadoop/etc/dfs-hosts-exclude.conf
  4.分发hdfs-sits.xml文件到所有节点
  5.刷新节点
  $>hdfs dfsadmin -refreshNodes                ------003的--书中336页
  老师是有停止集群的,然后重启的-------【【【【【【【【【【集群只有在启动的时候才读取配置文件】】】】】】----------实际是上面一刷新节点以后再webui就可以用了
  ------结果看图片    【【另外一个配置问题退役.png】】----------------------------】】】要操作要操作要操作要操作】】】】】】】】】】】】】】】】】】】】】】】
  第3天的
  netstat -plut 查看端口,这个不看ipv6的
  netstat -ano|grep 8088  查看8088,直接上门的那个查不到, netstat -ano | more查看所有端口
  -----------------------------------------------------
  hdfs getconf 返回配置信息
  hdfs getconf -namenodes  返回s100
  /soft/hadoop/sbin$ hdfs getconf -secondarynamenodes  返回s500
  ----------------------------------------------------
  --------------------------------
  1.{hadoop}\libexec\hadoop-config.sh
  HADOOP_CONF_DIR=...//--config参数
  2.NAMENODE={hadoop_home}/bin/hdfs getconf -namenodes//提取名称节点的主机名
  3.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start namenode $dataStartOpt
  4.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start datanode $dataStartOpt
  5.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start secondarynamenode
  【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,写脚本能单独就只启动namenode
  hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster --hostnames s100 start namenode
  【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,写脚本能单独就只启动datanode
  hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster  start datanode
  【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,写脚本能单独就只启动secondarynamenode
  hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster --hostnames s500 start secondarynamenode
  【】【】【】
  yarn层面的有/soft/hadoop/sbin$     yarn-daemons.sh start nodemanager
  yarn-daemons.sh start resourcemanager
  其实所有进程都可以用这个来做
  --------------------------------------------------
  hadoop
  ----------------
  1.可靠、可伸缩、分布式的计算框架,开源软件。
  四大模块--D:\大数据软件\hadoop-2.7.2\share\hadoop里面
  ----------------
  1.common
  hadoop-common-xxx.jar
  core-site.xml
  core-default.xml
  2.hdfs
  hdfs-site.xml
  hdfs-default.xml
  3.mapreduce
  mapred-site.xml
  mapred-default.xml
  4.yarn
  yarn-site.xml
  yarn-default.xml
  hadoop完全分布式
  ----------------
  1.hdfs
  NameNode
  DataNode
  SecondaryNameNode
  启动脚本:start-all.sh(start-dfs.sh)
  2.Yarn
  ResourceManager
  NodeManager
  启动脚本:start-all.sh(start-yarn.sh)
  3.hadoop-deamons.sh  上面两个脚本最终引用的其实是这个脚本,管理的话其实是使用这两个脚本
  hdfs.sh  文件系统操作
  yarn.sh  对资源调度框架的使用
  编写/usr/local/sbin/xcall.sh
  ------------------------------
  #!/bin/bash
  if [ $# -lt 1 ] ;then
  echo no args
  exit;
  fi
  echo -----xcall $arg1 from localhost ------
  $@
  echo
  #get first argument
  for (( i=200;i 编辑菜单 --> 虚拟网络编辑器 --> 打开窗口 --> 选中vmnet8虚拟网卡 --> nat设置 --> 查看网关(192.168.238.2)
  2.查看可用的ip网段
  vmware虚拟机 --> 编辑菜单 --> 虚拟网络编辑器 --> 打开窗口 --> 选中vmnet8虚拟网卡 --> DHCP设置 --> 查看网段
  3.挑选一个可用的ip,给当前的客户机来设置
  4.配置ubuntu的静态ip
  a.sudo nano /etc/network/interfaces
  [/etc/network/interfaces]
  # The loopback network interface
  auto lo
  iface lo inet loopback
  #iface eth0 inet static
  iface eth0 inet static
  address 192.168.238.128
  netmask 255.255.255.0
  gateway 192.168.238.2
  dns-nameservers 192.168.238.2
  auto eth0
  b.重启网卡
  $>sudo /etc/init.d/networking restart
  ------------------------------【】【】【】【】 上面配置好后要记得/etc/hosts里面的ip 主机映射关系哦
  ---------------------------------------------------------
  客户机关机命令
  ---------------------
  1.sudo poweroff
  2.sudo shutdown -h 0
  3.sudo halt
  配置ubuntu文本启动模式
  ----------------------
  1.sudo nano /etc/default/grub
  GRUB_CMDLINE_LINUX_DEFAULT="text"//改成text
  GRUB_TERMINAL=console//打开该注释
  2.让改动生效
  $>sudo update-grub
  3.sudo reboot
  4.在文本模式下,启动图形界面
  $>sudo startx//
  启动所有的数据节点
  --------------------
  $>hadoop-daemon.sh start namenode//在名称节点服务器上执行启动名称节点
  $>hadoop-daemons.sh start datanode//在名称节点服务器上执行,启动所有的数据节点--单独在s200上运行就是这个机器上运行了
  $>hadoop-daemon.sh start secondarynamenode//启动辅助名称节点
  yarn层面的有/soft/hadoop/sbin$     yarn-daemons.sh start nodemanager
  查看所有端口
  -------------------
  $>netstat -ano | more//
  ---------【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【
  配置win7的hosts文件
  --------------------
  [C:\Windows\System32\drivers\etc\hosts]
  # Copyright (c) 1993-2009 Microsoft Corp.
  127.0.0.1       localhost
  192.168.238.128 s100
  192.168.238.129 s200
  192.168.238.130 s300
  192.168.238.131 s400
  192.168.238.132 s500
  192.168.238.133 s600
  192.168.238.134 s700
  【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【
  dfs.namenode.name.dir-------------------------那个pdf的297页附近
  ---------------------------
  1.名称配置多个目录在于更可靠。
  2.每个目录存放的内容相同。
  dfs.datanode.data.dir
  ---------------------------
  1.数据节点配置多个目录,不是副本。
  2.每个目录存放的内容不同。
  3.","号分割.
  常用端口
  ---------------------
  1.namenode
  rpc//8020
  webui//50070
  2.datanode
  rpc//8032
  webui//50075
  3.2nn
  webui//50090
  4.historyServer
  webui//19888
  8.resourcemanager
  webui//8088
  9.nodemanager
  webui//8042
  commission | decommission
  -------------------------
  1.服役,退役
  2.slaves:datanode
  dfs.hosts   datanode是否能链namenode 相关
  -----------
  决定能够连接namenode
  dfs.hosts.exclude 排他文件
  -----------
  决定不能连接namenode
  1.dfs.hosts     dfs.hosts.exclude
  --------------------------------
  00//不能连
  01//不能连
  10//能连
  11//能连,但会退役
  优先级:include > exclude
  s200//能
  s300//能 decommission.
  s400//不能连
  考查dfs.hosts和dfs.hosts.exclude文件
  ------------------------------------
  1.创建/soft/hadoop/etc/dfs-hosts-include.conf文件
  s200
  s300
  2.创建/soft/hadoop/etc/dfs-hosts-exclude.conf文件
  s300
  s400
  3.编辑配置文件
  [hdfs-site.xml]
  dfs.hosts=/soft/hadoop/etc/dfs-hosts-include.conf
  dfs.hosts.exclude=/soft/hadoop/etc/dfs-hosts-exclude.conf
  4.分发hdfs-sits.xml文件到所有节点
  5.刷新节点
  $>hdfs dfsadmin -refreshNodes                ------003的--书中336页
  VERSION----------------要升级的问题---------------------------------------[中文]Hadoop权威指南第二版.pdf 这本书里面---------第10章294页左右
  --------------------------
  1.clusterID=xxx(namenode === Datanode)    临时目录里面的
  2.storageID=xxx(DataNode)//
  3.cTime:集群创建时间//
  4.acl//access control list,访问控制列表
  安全模式------------------看图片安全模式.png 【】【只有名称节点才会进入安全模式,不经过名称节点是不会访问数据节点的】【】
  -------------
  1.namenode启动时,合并image和edit成新的image,并产生新的edit log
  2.整个过程出于safe模式下,客户端只能【【【【读取】】】。
  3.namenode安全模式操作
  $>hdfs dfsadmin -safemode get//查看,获取安全模式状态,老师在s100运行,默认查出来是Safe mode is OFF
  $>hdfs dfsadmin -safemode enter//进入安全模式,返回Safe mode is ON
  然后就只能读取了,不能写了 hadoop fs -put index.html /  写会失败,读还是能读下载的
  $>hdfs dfsadmin -safemode leave//离开安全模式
  $>hdfs dfsadmin -safemode wait//等待--【他退出】
  4.手动保存名字空间,查帮助 hdfs dfsadmin --help saveNamespace   老师的目录是~/hadoop/dfs/name/current 看里面的文件保存情况
  $>hdfs dfsadmin -saveNamespace    用之前先进入安全模式
  【】【】【】
  【老师给的问题】--先上传一个文件,然后进入安全模式,然后手动保存名字空间,再看名字的变化
  hdfs dfsadmin -report  webui下面看到的内容
  5.手动保存镜像文件到本地
  $>hdfs dfsadmin -fetchImage          -----------~/hadoop/dfs/name/current在这个木下执行(不在这个文件下的也一样)  hdfs dfsadmin -fetchImage ~/ 到本地
  6.保存元数据,保存在{hadoop_home}/logs/
  $>hdfs dfsadmin -metasave xxx.metadata                     -------------------今天讲的都属于hadoop的管理工作
  7.start-balancer.sh  也有停止均衡器
  启动均衡器,让集群在数据存储上更加平均,提高整个集群的
  均衡器,在数据节点之上。保证数据在节点上均衡分配(知道集群变均衡),避免新能上的瓶颈,现在看不到啥效果
  8.查看目录的统计信息
  $>hadoop fs -count /x/x/x///目录数量,文件数,字节数
  9.hdfs fsck / 检查文件的健康状态
  50075数据节点的端口号
  hadoop文件系统操作,目录默认不能创建快照,要开启目录快照功能,不然直接创建创不了
  --------------------
  0.开启快照功能,hdfs dfsadmin
  $>hdfs dfsadmin -allowSnapshot /user/ubuntu/data
  1.快照,snapshot,针对目录.  可以创建多个快照
  $>hadoop fs -createSnapshot /user/ubuntu/data snap-1
  对哪个目录创建快照  快照名,名字不加会以虚拟机的时间戳命名快照
  创建后可以进入webui看,比如http://s100:50070/dfshealth.html#tab-snapshot
  或者命令行查hadoop fs -ls -R /user/ubuntu/data/.snapshot/snap-1 有文件会显示文件  直接hadoop fs -ls -R /查不了的哦。快照相当于给文件做了一个备份
  删除快照
  hadoop fs -deleteSnapshot /user/ubuntu/data snap-1
  重命名快照
  hadoop fs -renameSnapshot /user/ubuntu/data snap-1 snap-1-2
  追加文件,name.txt里面的文件内容追加到hello.txt里面这样追加到原来的目录   ------不过快照目录里面的文件是不会变化的
  hadoop fs -appendToFile name.txt /user/ubuntu/data/hello.txt
  禁用目录快照功能,hdfs dfsadmin
  $>hdfs dfsadmin -disallowSnapshot /user/ubuntu/data     //如果之前这个有快照,就不能快照。要先把快照删除再禁用
  回收站---------------看老师的书是英文书308页走哦有,但是我看我的没有找到,搜hadoop fs -expunge找到那个页
  -----------------
  1.默认是0秒,意味着禁用回收站。
  2.设置文件在回收站的驻留时间.-----也是在小红本里面搜那四个默认配置的  13分05秒的时候有讲配置,[core-site.xml]里面还有配置临时目录的  hadoop.tmp.dir=/home/ubuntu/hadoop
  [core-site.xml]
  fs.trash.interval=1//分钟数计算
  老师配置好后是分发给其他机器后重启的,不是刷新节点,可以试一下自己刷新节点
  配好后 hadoop fs -lsr /user/ubuntu/.Trash   直接插配好后直接插没有的
  删除   hadoop fs -rm /user/ubuntu/data/Hadoop权威指南第二版.pdf
  删除后 hadoop fs -lsr /user/ubuntu/.Trash/  查,是那个hadoop的目录结构查出来了,过程中查貌似会变成时间的名字,然后一分钟后再去查的话就没有了
  要恢复回收站文件
  【】【】 hadoop fs -mv /user/ubuntu/.Trash/xx/xx/x daa/
  hadoop fs -expunge 这个貌似也是立刻删除,不过貌似没用
  3.通过shell命令删除的文件,会进入trash
  4.每个用户都有自己的回收站(目录)
  $>/user/ubuntu/.Trash
  [【【5.编程方式删除不进入回收站,立即删除,如果想编程方式进入回收站,可以调用
  moveToTrash()方法.返回false,说明禁用回收站或者已经在站中。】】】
  hadoop fs -truncate -w 5 /user/ubuntu/data/hello.txt   比如hello.txt内容是helloworld 截断出来打印的就是 hello了
  配额:quota
  ---------------------
  1.目录配额
  $>hdfs dfsadmin -setQuota N /dir//N > 0 ,目录配额,1:表示空目录,不能放置任何元素.  如果设置2,/dir下再放一个txt文件的话也就无法继续放文件或目录了。这样这个目录下面就只能放有限的文件,防止目录东西太多文件太大
  2.空间配额hdfs dfsadmin -help setSpaceQuota   不管空间配额还是目录配额都是给文件夹配置的
  $>hdfs dfsadmin -setSpaceQuota    ---实际  hdfs dfsadmin -setSpaceQuota 20 /user/ubuntu/dataday   20字节 50t就是50tb,5m就是5Mb
  如果放了20字节,放了超过他的文件就会报错,The DiskSpace quota of /user/ubuntu is exceeded: quota = 20 B = 20 B but diskspace consumed = 402653184 B = 384 MB
  3.清除配额
  hdfs dfsadmin 帮助里面有个 clrQuota和clrSpaceQuota
  hdfs dfsadmin -clrQuota /user/ubuntu/data
  hdfs dfsadmin -clrSpaceQuota /user/ubuntu/
  -----------还有hadoop的一些其他命令,看保存的图片------------------------------
  hadoop fs -rm -R /user/ubuntu/data/had*
  hadoop fs -cat /user/ubuntu/data/hello.txt
  hadoop fs -count /user/ubuntu/data/
  目录   文件  字节
  kan 帮助
  hadoop fs -help count
  更多指令可以看doc    file:///D:/大数据软件/hadoop-2.7.2/share/doc/hadoop/hadoop-project-dist/hadoop-common/FileSystemShell.html
  -------------test.sh-------------
  #老师在s500测试的 1.先测试脚本是否能正常上传  2.然后去s100的命令行里面启动安全模式 3.然后s500里面脚本里面里面等待的命令再测,还有上传的文件路径看自己的情况定哦
  #!/bin/bash
  echo starting put file
  hdfs dfsadmin -safemode wait
  hadoop fs -put ~/downloads/hadoop-2.7.2.tar.gz /user/ubuntu/data/
  echo put over


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-628030-1-1.html 上篇帖子: HADOOP/HBASE/SPARK修改PID文件位置 下篇帖子: Hadoop -2.7.2包64位编译教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表