免费注册 查看新帖 |

Chinaunix

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

【原创】基于FreeBSD的分布式文件系统hadoop(手记) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-27 11:20 |只看该作者 |倒序浏览
【原创】基于FreeBSD的分布式文件系统hadoop(手记)前言,经过了将近一个星期的摸索,由于之前用过freebsd配置过apache+mysql+zend+php环境,对freebsd的操作还算熟悉,又从网上搜集了一些资料进行配置,目前能正常运行,仅仅是试用,暂时还没有投入系统中用,正在解决api问题,下面步骤可能有错,希望高手指正~~<br />欢迎转帖,转帖请注明原作者,pigwyl QQ:86206221 email:pigwyl#gmail.com<br />非常感谢学校的网络中心的于老师 <br />论坛id:flyfish<br />给我提供了配置的环境<br /><br />一,准备<br />1.安装软件版本<br />  freebsd: 7.2<br />  jdk1.5<br />2.安装系统<br />用完全安装否则jdk有可能安装失败<br />SSH得安装与配置<br />首先ee编辑/etc/inetd.conf,去掉ssh前的#,保存退出<br />编辑/etc/rc.conf<br />最后加入:sshd_enable=&quot;yes&quot;即可<br />激活sshd服务:<br />#/etc/rc.d/sshd start<br />最后<br />ee /etc/ssh/sshd_config,<br />下面是我的配置文件:(/etc/ssh/sshd_config)<br />####################################################<br />rotocol 2<br />AllowGroups wheel#允许wheel组成员<br />IgnoreRhosts yes<br />IgnoreUserKnownHosts yes<br />rintMotd yes<br />StrictModes no<br />RSAAuthentication yes<br />X11Forwarding no<br />ermitRootLogin yes #允许root登录<br />ermitEmptyPasswords yes #允许空密码登录<br />asswordAuthentication yes # 设置是否使用口令验证。<br />MaxStartups 5<br /><br />AuthorizedKeysFile  .ssh/authorized_keys<br />##############################################<br />记得修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。<br />添加一个用户<br />#sysinstall<br />选择【Configure】--【User Management】--【User】,只需member group 填wheel即可,其他按自己要求填<br />重启机器后即可用SecureCRT了。<br /><br /><br />二,os及环境配置<br />1,安装jdk1.5<br />首先下载<br />http://karakurty.info/ftp/pub/FreeBSD/ports/distfiles/jdk-1_5_0_16-fcs-bin-b02-jrl-28_may_2008.jar <br />http://karakurty.info/ftp/pub/FreeBSD/ports/distfiles/jdk-1_5_0_16-fcs-src-b02-jrl-28_may_2008.jar <br />http://karakurty.info/ftp/pub/FreeBSD/ports/distfiles/tzupdater-1_3_12-2009a.zip <br />http://karakurty.info/ftp/pub/FreeBSD/ports/distfiles/bsd-jdk15-patches-9.tar.bz2 <br />http://www.freebsdfoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2<br /><br />到usr/ports/distfiles/目录<br />  #cd /usr/ports/java/jdk15<br />  # make install clean<br />编译完成之后会<br />===&gt;Cleaning for unzip-5.52_5<br />===&gt;Cleaning for m4-1.4.12,1<br />===&gt;Cleaning for zip-3.0<br />===&gt;Cleaning for open-motif-2.2.3_6<br />===&gt;Cleaning for gmake-3.81_3<br />===&gt;Cleaning for libX11-1.2.1,1<br />===&gt;Cleaning for libXext-1.0.5,1<br />===&gt;Cleaning for libXi-1.2.1,1<br />===&gt;Cleaning for libXmu-1.0.4,1<br />===&gt;Cleaning for libXp-1.0.0,1<br />===&gt;Cleaning for libXt-1.0.5_1<br />===&gt;Cleaning for libXtst-1.0.3_1<br />===&gt;Cleaning for pkg-config-0.23_1<br />===&gt;Cleaning for desktop-file-utils-0.15_1<br />===&gt;Cleaning for nspr-4.7<br />===&gt;Cleaning for libiconv-1.11_1<br />===&gt;Cleaning for glib-2.20.1<br />===&gt;Cleaning for javavmwrapper-2.3.2<br />===&gt;Cleaning for gio-fam-backend-2.20.1<br />===&gt;Cleaning for libsigsegv-2.5<br />===&gt;Cleaning for libXaw-1.0.5_1,1<br />===&gt;Cleaning for xbitmaps-1.0.1<br />===&gt;Cleaning for libtool-1.5.26<br />===&gt;Cleaning for gettext-0.17_1<br />===&gt;Cleaning for libxcb-1.2_1<br />===&gt;Cleaning for xorg-macros-1.2.1<br />===&gt;Cleaning for bigreqsproto-1.0.2<br />===&gt;Cleaning for xcmiscproto-1.1.2<br />===&gt;Cleaning for xextproto-7.0.5<br />===&gt;Cleaning for xtrans-1.2.3<br />===&gt;Cleaning for kbproto-1.0.3<br />===&gt;Cleaning for inputproto-1.5.0<br />===&gt;Cleaning for xf86bigfontproto-1.1.2<br />===&gt;Cleaning for libXau-1.0.4<br />===&gt;Cleaning for libXdmcp-1.0.2_1<br />===&gt;Cleaning for xproto-7.0.15<br />===&gt;Cleaning for automake-1.10.1<br />===&gt;Cleaning for autoconf-2.62<br />===&gt;Cleaning for printproto-1.0.4<br />===&gt;Cleaning for libSM-1.1.0_1,1<br />===&gt;Cleaning for recordproto-1.13.2<br />===&gt;Cleaning for perl-5.8.9_2<br />===&gt;Cleaning for python25-2.5.4_1<br />===&gt;Cleaning for pcre-7.9<br />===&gt;Cleaning for gamin-0.1.10_1<br />===&gt;Cleaning for libXpm-3.5.7<br />===&gt;Cleaning for libcheck-0.9.6<br />===&gt;Cleaning for libxslt-1.1.24_2<br />===&gt;Cleaning for xcb-proto-1.4<br />===&gt;Cleaning for libpthread-stubs-0.1<br />===&gt;Cleaning for automake-wrapper-20071109<br />===&gt;Cleaning for help2man-1.36.4_2<br />===&gt;Cleaning for autoconf-wrapper-20071109<br />===&gt;Cleaning for libICE-1.0.4_1,1<br />===&gt;Cleaning for libxml2-2.7.3<br />===&gt;Cleaning for p5-gettext-1.05_2<br />===&gt;Cleaning for jdk-1.5.0.16p9_1,1<br /><br />2,安装rsync,bash<br />  a, #cd /usr/ports/net/rsync<br />  #make install clean<br />  b, #cd /usr/ports/shells/bash<br />  #make install clean<br /><br />3,系统配置<br />a, 本次配置使用服务器分别为<br />vc1(用在namenode由于本次测试只有2台机器所以兼datanode,但实际生产环境中不推荐兼datanode)<br />vc2(用在datanode)<br />b,配置服务器的hosts文件使namenode能够通过域名(vc1和vc2)访问到所有的datanode(如果namenode兼datanode也需要通过域名访问到自己),<br />所有的datanode也能通过域名访问到namenode<br />c,示例<br />==========================/etc/hosts===========================================<br />  ::1      localhost localhost.rhinux.com<br />127.0.0.1    localhost localhost.rhinux.com<br />200.0.0.003    vc1.tj.com vc1<br />200.0.0.004    vc2.tj.com vc2<br />======================(namenode &amp; datanode)==================================<br /><br />免密码ssh设置<br /><br />如果不输入口令就无法用ssh登陆localhost,执行下面的命令:<br />1 生成密钥对,简便起见,在vc2上来生成,一下操作我用的都是hadoop<br />ssh-keygen -t rsa<br />ssh-keygen -t rsa<br />Generating public/private rsa key pair.<br />Enter file in which to save the key (/root/.ssh/id_dsa):<br />Enter passphrase (empty for no passphrase):<br />Enter same passphrase again:<br />Your identification has been saved in /root/.ssh/id_dsa.<br />Your public key has been saved in /root/.ssh/id_dsa.pub.<br />The key fingerprint is:<br />c3<img src="http://bbs.chinacloud.cn/editor/images/smilies/default/35.gif" border="0" onclick="zoom(this, this.src)" onload="attachimg(this, 'load')" alt="" />4:4d:24:64<img src="http://bbs.chinaitlab.com/images/smilies/mogutou/thumb_05we03288.gif" smilieid="47" border="0" alt="" />4:9d:2b:76:1a:6f:7e<img src="http://bbs.chinacloud.cn/editor/images/smilies/default/22.gif" border="0" onclick="zoom(this, this.src)" onload="attachimg(this, 'load')" alt="" />c:1a:60:23 root@fedora3<br />其中id_dsa是私钥,id_dsa.pub是公钥,私钥保留在客户端本地,公钥要复制到你要ssh登录的服务器上<br />2 配置公钥<br />在vc1上复制公钥到服务器vc2<br />scp ~/.ssh/id_dsa.pub vc2:/tmp<br />ssh a<br />cat /tmp/id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys <br />rm -rf /tmp/id_rsa.pub<br /><br /><br /><br />然后下载hadoop-0.18.3.tar.gz<br /><br />解压到/usr/home/hadoop/目录<br /><br />编辑/usr/home/hadoop/hadoop-0.18.3/conf/hadoop-env.sh<br /><br />export JAVA_HOME=/usr/local/jdk1.5.0#更改java的路径<br /><br />export HADOOP_HOME=/usr/home/pig/hadoop-0.18.3 #hadoop的路径<br /><br />export HADOOP_NAMENODE_OPTS=&quot;-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS&quot;<br />export HADOOP_SECONDARYNAMENODE_OPTS=&quot;-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS&quot;<br />export HADOOP_DATANODE_OPTS=&quot;-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS&quot;<br />export HADOOP_BALANCER_OPTS=&quot;-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS&quot;<br />export HADOOP_JOBTRACKER_OPTS=&quot;-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS&quot;<br /><br /><br /><br />回到/usr/home/hadoop/hadoop-0.18.3目录<br /><br />#cd bin<br /><br />#./start-all.sh<br /><br />编辑<br /><br />conf/master<br /><br />localhost<br /><br />conf/slaves<br /><br />localhost<br /><br />vc1<br /><br />vc2<br /><br /><br /><br />配置conf/hadoop-site.xml<br /><br />&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;configuration.xsl&quot;?&gt;<br />&lt;!-- Put site-specific property overrides in this file. --&gt;<br />&lt;configuration&gt;<br />&lt;property&gt;<br />&lt;name&gt;fs.default.name&lt;/name&gt;//你的namenode的配置,机器名加端口<br />&lt;value&gt;hdfs://200.0.0.003:54310/&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property&gt;<br />&lt;name&gt;mapred.job.tracker&lt;/name&gt;//你的JobTracker的配置,机器名加端口<br />&lt;value&gt;hdfs://200.0.0.003:54311/&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property&gt;<br />&lt;name&gt;dfs.replication&lt;/name&gt;//数据需要备份的数量,默认是三<br />&lt;value&gt;1&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property&gt;<br />  &lt;name&gt;hadoop.tmp.dir&lt;/name&gt;//Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。<br />  &lt;value&gt;/home/wenchu/hadoop/tmp/&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property&gt;<br />&lt;name&gt;mapred.child.java.opts&lt;/name&gt;//java虚拟机的一些参数可以参照配置<br />&lt;value&gt;-Xmx512m&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property&gt;<br />&lt;name&gt;dfs.block.size&lt;/name&gt;//block的大小,单位字节,后面会提到用处,必须是512的倍数,因为采用crc作文件完整性校验,默认配置512是checksum的最小单元。<br />&lt;value&gt;5120000&lt;/value&gt;<br />&lt;description&gt;The default block size for new files.&lt;/description&gt;<br />&lt;/property&gt;<br />&lt;/configuration&gt;<br /><br />然后启动hadoop守护进程,<br /><br />#cd /usr/hadoop/hadoop-0.18.3/bin<br /><br />#./start-all.sh<br /><br /><br /><br />然后查看一下是否正常运行<br /><br />#./hadoop dfsadmin -report

论坛徽章:
0
2 [报告]
发表于 2009-09-29 21:49 |只看该作者
收下了。

论坛徽章:
0
3 [报告]
发表于 2011-01-14 12:41 |只看该作者
看看,顶顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP