《传智播客-培训课程Clu.ppt》由会员分享,可在线阅读,更多相关《传智播客-培训课程Clu.ppt(30页珍藏版)》请在三一办公上搜索。
1、,Hadoop深入浅出,讲师:吴 超Q Q:3774 86624,课程安排,掌握Hadoop集群的搭建过程*了解集群管理的常用命令*集群的副本管理机制*集群的监控管理*,集群的概念,计算机集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。集群系统中的单个计算机通常称为节点,通常通过局域网连接。集群技术的特点:通过多台计算机完成同一个工作。达到更高的效率两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。,集群模式安装步骤,(在伪分布模式下继续)安装jdk关闭防火墙修改ip修改hostname设置ssh自动登录解压hadoop,Ha
2、doop集群搭建准备,Step1:各服务器安装JDK6,上传jdk-6u24-linux-i586.bin到/home/#cd/home/#./jdk-6u24-linux-i586.bin#mv jdk-6u24-linux-i586.bin jdk#vi/etc/profile,在文件尾部添加export JAVA_HOME=/home/jdk export PATH=$JAVA_HOME/bin:$PATH保存退出#source/etc/profile#java-version,Step2:各服务器的网络设置,修改机器名#hostname#vi/etc/sysconfig/network
3、HOSTNAME=保存退出,重启修改/etc/hosts修改/etc/sysconfig/network-scripts/相应的网络配置关闭防火墙#service iptables stop,hosts文件参考:192.168.1.240 hadoop0192.168.1.241 hadoop1192.168.1.242 hadoop2192.168.1.243 hadoop3,C:WINDOWSsystem32driversetchosts,ifcfg-eth0文件参考:DEVICE=eth0BOOTPROTO=staticONBOOT=yesTYPE=EthernetPREFIX=24,S
4、tep3:SSH免密码登录,从namenode到本身及各datanode免密码登录在各机器上执行#ssh-keygen-b 1024-t rsa一路回车在/.ssh/生成文件id_rsa id_rsa.pub在namenode机器上执行:#cd/.ssh/#scp id_rsa.pub root:/home在各datanode机器上执行:#cd/home/#cat id_rsa.pub/root/.ssh/authorized_keys,Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来无密码登录启动和停止
5、各个DataNode上的各种守护进程的同样原理,DataNode上也能使用SSH无密码登录到NameNode。,Step4:在namenode安装Hadoop,2.解压文件#cd/home#mv hadoop-1.0.4 hadoop,3.修改/etc/profile#vi/etc/profileexport JAVA_HOME=/home/javaexport HADOOP_HOME=/home/hadoopexport PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin保存退出#source/etc/profile,Hadoop的安装位置(HADOOP_H
6、OME):/HOME/hadoop,1.用软件上传hadoop-1.0.4.tar.gz到/home#cp hadoop-1.0.4.tar.gz/home,Step5:修改Hadoop的配置文件1,1.修改conf/hadoop-env.shexport JAVA_HOME=/home/javaexport HADOOP_HEAPSIZE=1024export HADOOP_PID_DIR=/home/hadoop/pids保存退出,2.配置conf/core-site.xml,增加以下内容 fs.default.name hdfs:/hadoop0:9000 hadoop.tmp.dir/
7、home/hadoop/tmp,Step6:修改Hadoop的配置文件2,3.配置conf/hdfs-site.xml dfs.replication 2 dfs.hosts.exclude/home/hadoop/conf/excludes,4.配置conf/mapred-site.xml mapred.job.tracker hdfs:/hadoop0:9001/,Step7:修改Hadoop的配置文件3,配置conf/mastershadoop0配置conf/slaveshadoop1hadoop2hadoop3,Step8:复制hadoop到各datanode并修改,把hadoop0的
8、hadoop目录、jdk目录、/etc/hosts、/etc/profile复制到hadoop1,hadoop2、hadoop3节点#cd$HADOOP_HOME/.#scp-r hadoop hadoop1:/home#scp-r hadoop hadoop2:/home#scp-r hadoop hadoop3:/home,Step9:启动/停止Hadoop集群,在hadoop0上第一次启动Hadoop,必须先格式化namenode#cd$HADOOP_HOME/bin#hadoop namenode format启动Hadoop#cd$HADOOP_HOME/bin#./start-al
9、l.sh如果启动过程,报错safemode相关的Exception执行命令#hadoop dfsadmin-safemode leave然后再启动Hadoop停止Hadoopcd$HADOOP_HOME/bin#./stop-all.sh,终端查看集群状态:#hadoop dfsadmin-report,大伙搭建集群吧!,四人(四个虚拟机)为一组(要有组长)。各担任hadoop0(namenode),hadoop1(datanode),hadoop2(datanode)的角色。hadoop3(datanode)(留做预备)。修改机器名固定各成员IPnamenode到自己及各datanode的s
10、sh免密码登录修改namenode原伪分布式配置,或备份后,重新安装。各datanode原伪分布式的hadoop作备份或删除。namenode通过scp安装内容给各datanode。如果你的机子足够强悍,能跑四个Linux虚拟机,你可以do it by yourself,集群成员,主从结构masters/slaves,增加节点,1.修改新节点的/etc/hosts,增加namenode的主机名与IP2.修改namenode的配置文件conf/slaves添加新增节点的ip或host3.在新节点的机器上,启动服务#cd$HADOOP_HOME/bin#./hadoop-daemon.sh sta
11、rt datanode#./hadoop-daemon.sh start tasktracker4.在NameNode节点执行#hadoop dfsadmin-refreshNodes5.均衡block在新节点上执行(如果是增加多个节点,只需在一个新节点)#cd$HADOOP_HOME/bin#./start-balancer.sh,注意事项:1.必须确保slave的firewall已关闭;2.确保新的slave的ip已经添加到master及其他slaves的/etc/hosts中,反之也要将master及其他slave的ip添加到新的slave的/etc/hosts中,删除节点,在hadoo
12、p0上修改conf/hdfs-site.xml文件 dfs.hosts.exclude/usr/local/hadoop/conf/excludes 确定要下架的机器dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。强制重新加载配置#hadoop dfsadmin-refreshNodes 关闭节点 hadoop dfsadmin-report 可以查看到现在集群上连接的节点正在执行Decommission,会显示:Decommission Status:Decommission in progress 执行完毕后,会显示:Decommission Status
13、:Decommissioned 再次编辑excludes文件一旦完成了机器下架,它们就可以从excludes文件移除了登录要下架的机器,会发现DataNode进程没有了,但是TaskTracker依然存在,需要手工处理一下,节点的安全机制,准许进入dfs.hosts/mapred.hosts,安全模式,在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结 束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入 安全
14、模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS启动的时候,如果DataNode上报的block个数达到了 元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。hadoop d
15、fsadmin-safemode enter|leave|get|wait,基准测试,hadoop-test-*.jar TestDFSIO-write-nrFiles 10-fileSize 1000hadoop-test-*.jar TestDFSIO-read-nrFiles 10-fileSize 1000,集群监控Web,查看MapReduce相关http:/hadoop0:50030/查看HDFS相关http:/hadoop0:50070/,#hadoop job-list#hadoop job-kill jobid,集群监控JMX,配置hadoop-env.sh使用jconsol
16、e使用jvisualvm,集群监控日志监控,修改log4j.properties如修改http:/hadoop0:50070/logLevels,集群监控第三方工具,ganglia,HDFSReplication实验(一),#hadoop fs-put./2013-04-02.wlan.tar.gz/test,2013-04-02.wlan.tar.gz数据块分布情况,MapReduce在集群下的工作机制,JobClient的submit Job过程中.向JobTracker请求新的作业ID2.1检查程序的输入,输出2,2计算输入分片.复制作业资源到Jobtracker的文件系统中。.初始化作
17、业。由作业调度器进行调度。6.获取输入分片信息,为每个分片创建一个map任务以及reduce7.TaskTracker心跳JobTracker。以测存活。JobTracker依据“数据本地化”或”机架本地化“分配任务。8.1)Jar文件本地化。应用程序所需文件复制到本地磁盘)解压Jar文件)新建TaskRunner运行任务。9.TaskRunner启动新JVM运行。,作业资源:作业Jar文件,配置文件,计算所得的输入分片,TaskTracker有固定的任务槽(slot)分配map,reduce任务,其数量取决于PU的核与内存大小。,执行原来的WritableKpi程序,输入源数据文件容量大小4
18、00-500MB。Reducer的个数设置为个在hadoop0上执行MapReduce程序观察监控页面里MapReduce的执行情况查看生成结果文件,Hadoop管理员常用命令,hadoop job list#列出正在运行的Jobhadoop job kill#kill jobhadoop fsck/#检查HDFS块状态,是否损坏hadoop fsck/-delete#检查HDFS块状态,删除损坏块hadoop dfsadmin report#检查HDFS状态,包括DN信息hadoop dfsadmin safemode enter|leave,常见分布模式安装错误,Namenode与Datanode是互相都可以ssh无密码访问在hosts文件中127.0.0.1 不要与hadoop0一起设置,