基于Hadoop的云存储系统配置文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、软件环境Linux系统:Ubuntu11.10desktop64位Sun-java6-jdk:1.60Hadoop:Cloudera版hadoop二、Hadoop分布式集群配置(一)JDK安装1.更新deb软件包列表$sudoapt-getupdate2.安装JDK$sudoapt-getinstallsun-java6-jdk//默认路径在/usr/lib/jvm,安装时需要TAB键选择OK3.设置java-6-sun为默认的java程序$sudoupdate-alternatives--configjava//JDK唯一,不需选择4.设置CLASSPATH和JAVA_HOME系统环境变量$sudogedit/etc/environment添加以下两行内容:CLASSPATH=.:/usr/lib/jvm/java-6-sun/libJAVA_HOME=/usr/lib/jvm/java-6-sun5.调整系统虚拟机的优先顺序$sudogedit/etc/jvm在文件顶部添加一行/usr/lib/jvm/java-6-sun如果文件/etc/jvm不存在则自己新建安装中遇到的问题:apt-getinstallsun-java6-jdk提示是现在没有可用的软件包sun-java6-jdk,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到E:软件包sun-java6-jdk还没有可供安装的候选者解决办法:系统设置--软件源—其他软件添加:deb然后执行:sudoapt-getupdatesudoapt-getinstallsun-java6-jdk(二)IP配置机器IP配置如下:openlab00:192.168.1.52openlab01:192.168.1.571.每台机器设置静态ip(以openlab00为例)1)编辑sudogedit/etc/network/interfaces原内容为autoloifaceloinetloopback2)添加和静态ip有关的参数autoeth0ifaceeth0inetstaticaddress192.168.1.52netmask255.255.255.0gateway192.168.1.13)编辑/etc/resolv.conf,设置dnsnameserver202.112.14.151nameserver218.6.200.1394)重启网络,启用新设置sudo/etc/init.d/networkingrestart2.修改/etc/hosts文件(以openlab00为例)1)需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名127.0.0.1localhostlocalhost192.168.1.52openlab00openalb00192.158.1.57openalb01openlab01注意:修改后执行命令:sudo/etc/init.d/networkingrestart2)ping测试测试:2台机器互相ping主机名,看是否可以ping通。注意:如果ping不通请将防火墙关闭再尝试,检查一下网络,或重启机器;(三)SSH设置注意:每台机器都要生成密钥,每台机器之间都要能相互ssh通1.Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同用户名的帐户。所有机器上创建用户名为openlab的用户,主目录为/home/openlab。2.SSH工作原理简介在Hadoop启动以后,Namenode是通过SSH(SecureShell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。以本文中的机器为例,现在openlab00是主节点,它需要主动发起SSH连接到openlab01机器,对于SSH服务来说,openlab00就是SSH客户端,而openlab01则是SSH服务端,因此在openlab001,openlab002等机器上需要确定sshd服务已经启动。简单的说,在openlab00上需要生成一个密钥对,即一个私钥,一个公钥。将公钥拷贝到openlab01机器上,这样,比如当openlab00向openlab01发起ssh连接的时候,openlab01上就会生成一个随机数并用openlab00的公钥对这个随机数进行加密,并发送给openlab00;openlab00收到这个加密的数以后用私钥进行解密,并将解密后的数发送回openlab01,openlab01确认解密的数无误后就允许openlab00进行连接了。这就完成了一次公钥认证过程。3.每台机器上下载SSHsudoapt-getinstallsshsudoapt-getinstallrsync4.生成密钥代码为:[openlab@openlab00:~]mkdir.ssh[openlab@openlab00:~]chmod755.ssh[openlab@openlab00:~]$ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/openlab/.ssh/id_rsa):Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/home/openlab/.ssh/id_rsa.Yourpublickeyhasbeensavedin/home/openlab/.ssh/id_rsa.pub.Thekeyfingerprintis:2e:57:e2:bf:fd:d4:45:5c:a7:51:3d:f1:51:3c:69:68openlab@openlab00这个命令将为openlab上的用户openlab生成其密钥对,询问其保存路径时直接回车采用默认路径(在默认的情况下将会把key保存到/home/openlab/.ssh/id_rsa中),当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/openlab/.ssh目录下5.分发密钥对于namenode:openlab00[openlab@openlab00:.ssh]$cpid_rsa.pubauthorized_keys[openlab@openlab00:.ssh]$chmod644authorized_keys[openlab@openlab00:.ssh]$scpauthorized_keysopenlab01:/home/openlab/.ssh/对于datanode:openlab01转到openlab01下[openlab@openlab01:~]$mkdir.ssh[openlab@openlab01:~]$chmod755.ssh[openlab@openlab01:~]ssh-keygen–trsa[openlab@openlab01:~]$cd.ssh[openlab@openlab01:.ssh]$catid_rsa.pubauthorized_keys[openlab@openlab01:.ssh]$chmod644authorized_keys[openlab@openlab01:.ssh]$scpauthorized_keysopenlab00:/home/openlab/.ssh/6.检查authorized_keys权限首先查看authorized_keys的读写权限是否设置正确:[openlab@openlab00:.ssh]ls–ladrwx------2openlabopenlab.drwx------3openlabopenlab..-rw-r--r--1openlabopenlabauthorized_keys注意:每台机器上authorized_keys的读写属性都应该是相同的(chmod644authorized_keys)!7.去除密码论证接着,在每台机器上都需要对ssh服务进行配置,在每台机器上修改文件/etc/ssh/sshd_config#去除密码认证PasswordAuthenticationnoAuthorizedKeyFile/home/openlab/.ssh/authorized_keys注意:修改后执行命令:sudo/etc/init.d/networkingrestart(如果修改该配置文件都要执行改名了重启ssh)8.SSH连接测试sshopenlab00sshopenlab01(四)hadoop安装参考网站:我们使用Cloudera来进行Hadoop安装。1.我们配置Ubuntu的源环境,用以下命令打开编辑器对源配置文件进行编辑:sudogedit/etc/apt/sources.list加入以下两行:deb://archive.cloudera.com/debianmaverick-cdh3contrib2.在访问Cloudera软件仓库的时候,需要GPG证书,所以我们需要首先安装curl,然后配置GPGsudoapt-getinstallcurlcurl-s|sudoapt-keyadd-3.源配置完成后需要进行更新,命令为:sudoapt-getupdate4.更新完成后,开始安装Hadoop,命令为:sudoapt-getinstallhadoop-0.20sudoapt-getinstallhadoop-0.20-daemontypedaemontype有如下选项:namenodedatanodesecondarynamenodejobtrackertasktracker事实上,在Hadoop集群中,一个结点扮演什么角色是由配置文件决定,而与安装什么样的组件无关,所以,为了避免重复配置,我们对每台服务器都安装所有的组件。(五)hadoop配置1.首先需要配置的文件是hadoop-env.sh,在该文件中配置JAVA_HOME:sudogedit/etc/hadoop-0.20/conf.empty/hadoop-env.sh打开hadoop-env.sh后,取消有关JAVA_HOME的注释,然后进行如下配置:exportJAVA_HOME=/usr/lib/jvm/java-6-sun2.接下来打开core-site.xml文件:sudogedit/etc/hadoop-0.20/conf.empty/core-site.xml将该文件修改如下:?xmlversion=1.0??xml-stylesheettype=text/xslhref=configuration.xsl?!--Putsite-specificpropertyoverridesinthisfile.--configurationpropertynamefs.default.name/namevaluehdfs://openlab00:8020/value/property/configuration3.sudogedit/etc/hadoop-0.20/conf.empty/hdfs

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功