免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3017 | 回复: 0
打印 上一主题 下一主题

[Hadoop&HBase] XenServer安装配置Hadoop 0.20.203实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:42 |只看该作者 |倒序浏览
<p><font class="Apple-style-span" color="#000080" size="2"><b>一、XenServer安装</b></font></p>  <p><font class="Apple-style-span" size="2">1.搭建完全的Hadoop分布式计算平台,至少需要2~3台机器,这需要了解Hadoop的组成,从HDFS的角度包括NameNode(NN)和DataNode(DN),从Map/Reduce的角度包括JobTracker(JT)和TaskTracker(TT),其中NN和JT所在的主机称为Master,可以分机器部署也可以部署在一台机器上,除此之外的DN和TT称为Slaves。如果是搭建单机环境,以上四部分也可以部署在同一台机器上,因为手上有一台4G内存的机器,所以我们进行完全分布式部署。</font></p>  <p><font class="Apple-style-span" size="2">2.之所以选择Xenserver,是因为比Vmware Sphere更易于安装配置,而且最重要的是免费,最新版是5.6,提供了XenMotion(相当于VMotion)、Convert、存储管理等高级功能,可惜免费授权不提供XenServer的HA功能,用于实际业务系统缺少了一层保障。安装光盘的ISO免费下载,裸机直接安装,然后在Windows上安装XenCenter,使用XenCenter连接上装有XenServer的服务器以后,需要先获得免费授权,否则这台服务器只能使用30天,点击‘Tools’-‘License Manager’,在弹出的窗口中选中需要制作授权文件的XenServer,然后选‘Request Activation Keys...’,会弹出网页,要求输入一些信息,提交后会有包含授权文件的邮件发到邮箱里,还在在‘License Manager’窗口中,选‘Apply Activation Keys...’,选择授权文件,这样,XenServer就可以使用一年了。最后的效果如下图:</font></p>  <p><a href="http://blog.chinaunix.nethttp://blog.chinaunix.net/attachment/201105/15/93477_1305468326hAw0.png" target="_blank" target="_blank"><font class="Apple-style-span" size="2"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image_thumb[2]" border="0" alt="image_thumb[2]" src="http://blog.chinaunix.nethttp://blog.chinaunix.net/attachment/201105/15/93477_13054683287pGg.png" width="688" height="309"></font></a></p>  <p><font class="Apple-style-span" size="2">3.开始在XenServer中安装虚拟机,只要先装一台,其他的机器可有由模板生成,我习惯使用CentOS 5.5 X86_64,安装过程跟VMware没什么区别,你可以用你所知道的方法把ISO文件挂到XenCenter上,包括NFS,CIFS,ISCSI等等,当然也可以直接用光盘:)</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">安装完成以后,关闭虚拟机,点击右键‘Convert to Template’,然后从模板中生成3个虚拟机实例,启动以后配置相应的IP地址和主机名,这三台机器要能互相解析:</font></p>    <p><font class="Apple-style-span" size="2">210.45.176.49 hadoop1.ahau.edu.cn hadoop1 NameNode和JobTracker Master主机</font></p>    <p><font class="Apple-style-span" size="2">210.45.176.50 hadoop2.ahau.edu.cn hadoop2 DataNode和TaskTracker Slave主机</font></p>    <p><font class="Apple-style-span" size="2">210.45.176.46 hadoop3.ahau.edu.cn hadoop3 DataNode和TaskTracker Slave主机</font></p> </blockquote>  <p><b><font class="Apple-style-span" color="#000080" size="2">二、配置SSH、JAVA</font></b></p>  <p><font class="Apple-style-span" size="2">4.在三台机器上增加用户grid,用于Hadoop的配置和运行,并且都配置互相SSH 免密码登录,分别制作一对ssh密钥,以hadoop1上的命令为例</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">$ssh-keygen –t rsa ##生成ssh密钥对</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">$ssh-copy-id –i ~/.ssh/id_rsa.pub <a href="mailto:grid@hadoop2" target="_blank" target="_blank">grid@hadoop2</a> ##把自己的公钥分别加到其他机器的authorized_keys文件中</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">互相加完以后不要忘记把自己的公钥也加到authorized_keys里,否则启动Hadoop时会有提示,很讨厌</font></p>    <p><font class="Apple-style-span" size="2">$cat ~/.ssh/id_rsa.pub &gt;&gt; authorized_keys</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">5.在三台机器上安装JAVA环境,从Oracle的网站上下载最新的jdk,jdk-6u25-linux-x64.bin,在Hadoop1上安装,安装路径为/usr/local/jdk1.6.0_25,三台机器的安装路径最好一致,方便以后配置</font></p>    <p><b><font class="Apple-style-span" color="#000080" size="2">三、配置Hadoop</font></b></p>  <p><font class="Apple-style-span" size="2">6.在Hadoop1上下载Hadoop,稳定版为0.20.203,解压到/home/grid/hadoop目录下,修改conf/hadoop-env.sh,至少要设置JAVA_HOME为JAVA的安装路径</font></p>  <p><font class="Apple-style-span" size="2">7.Hadoop的配置文件被分为三个,均在conf目录下,core-site.xml,hdfs-site.xml和mapred-site.xml,这三个文件的配置示例在src/core/core-default.xml,src/hdfs/hdfs-default.xml,src/mapred/mapred-default.xml中,同时也是默认配置,不要直接修改这三个目录中的文件,如果需要修改将他们复制到conf目录下的对应文件后再修改</font></p>  <p><font class="Apple-style-span" size="2">8.配置core-site.xml,添加如下行:</font></p>  <p><font class="Apple-style-span" size="2">&lt;configuration&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;property&gt;   <br>&lt;name&gt;hadoop.tmp.dir&lt;/name&gt;    <br>&lt;value&gt;/home/grid/hadoop/tmp&lt;/value&gt; ##设定Hadoop的临时目录    <br>&lt;description&gt; &lt;/description&gt;    <br>&lt;/property&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;property&gt;   <br>&lt;name&gt;fs.default.name&lt;/name&gt;    <br>&lt;value&gt;hdfs://hadoop1.ahau.edu.cn:9100&lt;/value&gt; ##设置文件系统的路径    <br>&lt;/property&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;/configuration&gt;   <br></font></p>  <p><font class="Apple-style-span" size="2">9.配置hdfs-site.xml,添加如下行:</font></p>  <p><font class="Apple-style-span" size="2">&lt;configuration&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;property&gt;   <br>&lt;name&gt;dfs.relplication&lt;/name&gt; ##HDFS的副本数,默认为3,如果DataNode的数量小于这个值会有问题    <br>&lt;value&gt;2&lt;/value&gt;    <br>&lt;/property&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;/configuration&gt;   <br></font></p>  <p><font class="Apple-style-span" size="2">10.配置mapred-site.xml,添加如下行:</font></p>  <p><font class="Apple-style-span" size="2">&lt;configuration&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;property&gt;   <br>&lt;name&gt;mapred.job.tracker&lt;/name&gt;    <br>&lt;value&gt;hadoop1.ahau.edu.cn:9200&lt;/value&gt; ##设置MapReduce Job运行的主机和端口    <br>&lt;/property&gt;</font></p>  <p><font class="Apple-style-span" size="2">&lt;/configuration&gt;   <br>11.以上为这三个文件最简单的配置,其中hadoop.tmp.dir指定的目录要在运行Hadoop之前创建好,如果需要更进一步的配置,可以参看src中的相应文件</font></p>  <p><font class="Apple-style-span" size="2">12.配置conf/masters和conf/slaves,增加主机名,一个一行</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">在conf/masters中添加Master的主机名:hadoop1.ahau.edu.cn</font></p>    <p><font class="Apple-style-span" size="2">在conf/slaves中添加Slave的主机名:</font></p>    <p><font class="Apple-style-span" size="2">hadoop2.ahau.edu.cn</font></p>    <p><font class="Apple-style-span" size="2">hadoop3.ahau.edu.cn</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">13.将hadoop目录拷贝到其他机器上,如果Java的安装路径不一样,需要修改hadoop-env.sh文件</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">$scp –r hadoop <a href="mailto:grid@hadoop2:/home/grid" target="_blank" target="_blank">grid@hadoop2:/home/grid</a></font></p> </blockquote>  <p><b><font class="Apple-style-span" color="#000080" size="2">四、运行Hadoop</font></b></p>    <p><font class="Apple-style-span" size="2">14.格式化分布式文件系统</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">$bin/hadoop namenode -format</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">15.启动Hadoop,最好在启动前检查三台主机的SELinux和Iptables是否关上,以免不必要的麻烦</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">在hadoop1的hadoop目录中执行:</font></p>    <p><font class="Apple-style-span" size="2">$bin/start-all.sh </font></p>    <p><font class="Apple-style-span" size="2">##启动所有进程,脚本输出会指出日志文件存放位置,从输出可以看到先启动NameNode进程,然后是DataNode,JobTracker,TaskTracker,Master会自动启动Slave上的相关进程,可以通过下面的命令检查进程的运行情况</font></p>    <p><font class="Apple-style-span" size="2">[grid@hadoop1 hadoop]$ /usr/local/jdk1.6.0_25/bin/jps     <br>11905 NameNode      <br>14863 DataNode      <br>12036 SecondaryNameNode      <br>12113 JobTracker      <br>12421 Jps      <br></font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">也可以分部启动:</font></p>    <p><font class="Apple-style-span" size="2">$bin/hadoop-daemon.sh start namenode ##启动NameNode</font></p>    <p><font class="Apple-style-span" size="2">$bin/hadoop-daemon.sh start datanode</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">查看文件系统的情况:</font></p>    <p><font class="Apple-style-span" size="2">[grid@hadoop1 hadoop]$ bin/hadoop dfsadmin -report     <br>Configured Capacity: 152406405120 (141.94 GB)      <br>Present Capacity: 133594103808 (124.42 GB)      <br>DFS Remaining: 133334999040 (124.18 GB)      <br>DFS Used: 259104768 (247.1 MB)      <br>DFS Used%: 0.19%      <br>Under replicated blocks: 1      <br>Blocks with corrupt replicas: 0      <br>Missing blocks: 0</font></p>    <p><font class="Apple-style-span" size="2">-------------------------------------------------     <br>Datanodes available: 3 (3 total, 0 dead)</font></p>    <p><font class="Apple-style-span" size="2">Name: 210.45.176.45:50010     <br>Decommission Status : Normal      <br>Configured Capacity: 50802135040 (47.31 GB)      <br>DFS Used: 86433792 (82.43 MB)      <br>Non DFS Used: 6207848448 (5.78 GB)      <br>DFS Remaining: 44507852800(41.45 GB)      <br>DFS Used%: 0.17%      <br>DFS Remaining%: 87.61%      <br>Last contact: Sun May 15 21:32:42 CST 2011</font></p>    <p>     <font class="Apple-style-span" size="2"><br>Name: 210.45.176.50:50010      <br>Decommission Status : Normal      <br>Configured Capacity: 50802135040 (47.31 GB)      <br>DFS Used: 86335488 (82.34 MB)      <br>Non DFS Used: 6420262912 (5.98 GB)      <br>DFS Remaining: 44295536640(41.25 GB)      <br>DFS Used%: 0.17%      <br>DFS Remaining%: 87.19%      <br>Last contact: Sun May 15 21:32:42 CST 2011</font></p>    <p>     <font class="Apple-style-span" size="2"><br>Name: 210.45.176.46:50010      <br>Decommission Status : Normal      <br>Configured Capacity: 50802135040 (47.31 GB)      <br>DFS Used: 86335488 (82.34 MB)      <br>Non DFS Used: 6184189952 (5.76 GB)      <br>DFS Remaining: 44531609600(41.47 GB)      <br>DFS Used%: 0.17%      <br>DFS Remaining%: 87.66%      <br>Last contact: Sun May 15 21:32:42 CST 2011      <br></font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">可以通过<a href="http://hadoop1.ahau.edu.cn:50070" target="_blank" target="_blank">http://hadoop1.ahau.edu.cn:50070</a>查看HDFS的情况,通过<a href="http://hadoop1.ahau.edu.cn:50030" target="_blank" target="_blank">http://hadoop1.ahau.edu.cn:50030</a> 查看MapReduce的情况</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">以下是一些常用的命令:</font></p>    <p><font class="Apple-style-span" size="2">hadoop fs –ls 查看/usr/root目录下的内容,默认如果不填路径这就是当前用户路径;     <br>hadoop fs –rmr xxx xxx就是删除目录;      <br>hadoop dfsadmin -report 这个命令可以全局的查看DataNode的情况;      <br>hadoop job -list 后面增加参数是对于当前运行的Job的操作,例如list,kill等;      <br>hadoop balancer 均衡磁盘负载的命令。</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">16.测试Hadoop</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">将输入文件拷贝到分布式文件系统:     <br>$ bin/hadoop fs -mkdir input      <br>$ bin/hadoop fs -put conf/core-site.xml input </font></p>    <p><font class="Apple-style-span" size="2">运行发行版提供的示例程序:     <br>$ bin/hadoop jar hadoop-examples-0.20.203.0.jar grep input output 'fs[a-z.]+'</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">将输出文件从分布式文件系统拷贝到本地文件系统查看:     <br>$ bin/hadoop fs -get output output      <br>$ cat output/*</font></p>    <p><font class="Apple-style-span" size="2">或者</font></p> </blockquote>  <blockquote>   <p><font class="Apple-style-span" size="2">在分布式文件系统上查看输出文件:     <br>$ bin/hadoop fs -cat output/*</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">17.停止Hadoop</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">$bin/stop-all.sh</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">18.增加Slave节点hadoop4</font></p>  <blockquote>   <p><font class="Apple-style-span" size="2">只需要再新的机器上安装java、配置ssh无密码登录,修改hadoop1上的slaves文件,增加hadoop4,然后把hadoop拷贝到hadoop4上,重新运行bin/start-all.sh就可以了,非常方便,上面的bin/hadoop dfsadmin -report就是在增加了hadoop4以后的</font></p> </blockquote>  <p><font class="Apple-style-span" size="2">至此基于XenServer的Hadoop分布式计算平台就搭建完成了</font></p>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP