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

[经验分享] hadoop集群的搭建与配置(1)

[复制链接]

尚未签到

发表于 2015-7-14 09:21:20 | 显示全部楼层 |阅读模式
前言     
       首先hadoop是在linux系统上进行搭建的,我们首先要在自己电脑上装上虚拟机然后装linux系统,因为我们是测试:在本地虚拟机上装两个linux分别搭建好hadoop环境能实现简单的数据处理就可以了,最终的效果类似于我们c#中的hello world!能做到这里我们的搭建测试环境就算基本上完成了。虚拟机以及linux系统文件在公司的ftp服务器上都有,到时候直接拿来在本地安装就可以了。中间很多东西我都是借鉴的博客园中的一篇关于hadoop的博客,想深入了解的可以上去看一下,中间有很多东西我也是引用的这篇博客中的内容,这里我把博客的地址放在这里:http://www.iyunv.com/xia520pi/。

环境的搭建分为四部
        第一步装linux系统,这一步比较简单跟在我们本地装windows系统一样,机械的往下走就行了,具体的细节可以参考这里:http://www.iyunv.com/xia520pi/archive/2012/05/16/2503770.html。这里我们一并的是安装两个linux系统,完成之后我们要关闭防火墙和SELinux为了是方便我们本地数据之间的传输,而且一般不需要SELinux的保护所以设置为disabled状态。(注释:在进行系统的配置以及修改内容的时候一般用的root用户,该用户有系统的最高权限,可以对内容进行修改。)
(1防火墙的关闭)
DSC0000.jpg

(2关闭SELinux)
vim /etc/sysconfig/selinux

把SELINUX=enforcing → →SELINUX=disabled
DSC0001.jpg

注释:输入vim /etc/sysconfig/selinux之后点击键盘上字幕a可以进行编辑然后Esc退出编辑,“:wq!”回车即可对编辑的内容进行保存。
(3关闭不需要的服务)
DSC0002.jpg

(4把配置系统可以访问网络)
vim /etc/sysconfig/network-scripts/ifcfg-etf0
DSC0003.png
刚安装好的系统NOBOOT="no"→ →ONBOOT="yes"

然后把系统关闭执行:
poweroff
系统关闭之后
对虚拟机的设置进行配置把network adapter中的network conneciton下面的两个地方勾上

DSC0004.png

从新启动系统,ping www.baidu.com 测试一下发现已经能上网了这个时候我们的系统就安装好了。
(中间插一点内容,有一个SSH_linux的工具,该工具可以实现我们本地的windows系统和我们linux系统文件的一个传递,非常的方便,工具我这里有也可以去网上下载,附上截图一张
DSC0005.png
左边方框就是我们的本地电脑,右侧就是我们linux系统,可以进行拖拽进行文件的传递,但是我们要在我们的linux系统上安装和配置VSFTP
DSC0006.png
执行该命令没有反应说明我们还没有安装VSFTP服务,下面就要下载和安装VSFTP了(在root用户下才能安装文件)
DSC0007.jpg

正在下载文件
DSC0008.jpg
安装完毕
DSC0009.png


安装VSFTP的日志文件,这样我们的VSFTP就安装完毕了)
第二部就是实现linux系统之间的无密码登录了,正常情况下比如我们的linux系统在同一个局域网下面的登录是输入登入放的密码的,这里以我的两台服务器为例,我的一台是192.168.9.199(该机是Master服务器),另一台是192.168.9.163(该机是从服务器Slave1)如果我在master服务器上要登录Slave1,则执行命令
ssh 192.1668.9.163
这会提示我们输入163这台服务器的登录密码。我们现在要做的就是在我们的Master和Slave1服务器之间实现无密码的登录效果如果:
DSC00010.png

我们发现我们输入地址之后前面的服务器名字直接变成Slave1了,这个时候就证明我们配置成功了,也是我们最终要的效果。下面我们就详细说一下如何实现无密码的登录的配置。(注释:我在下面的讲解中会复制博客园的图片,他的ip和我的不一样,这个到时候要根据自己配置的时候用到的ip记性实施的更改,有不清楚的地方还可以问我)
这里我先说明一下配置无密码登录的原因:

Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
来源:
在"Hadoop集群(第1期)"安装CentOS6.0时,我们选择了一些基本安装包,所以我们需要两个服务:ssh和rsync已经安装了。可以通过下面命令查看结果显示如下:
DSC00011.jpg

这个时候我们发现我们已经安装完毕了,如果没有安装也没事通过下边的命令就可以进行安装
DSC00012.png




配置Master无密码登录所有Salve(这里我们只演示Master到Slave的配置,Slave到Master的配置是一样的就不多做解释了)
1)SSH无密码原理
Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
2)Master机器上生成密码对
在Master节点上执行以下命令:
DSC00013.jpg

这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。
DSC00014.jpg
查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。
DSC00015.jpg



 接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
   在验证前,需要做两件事儿。第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能),另一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。使其无密码登录有效。
    1)修改文件"authorized_keys
   DSC00016.jpg
  
   2)设置SSH配置
    用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容
   DSC00017.png
  
  进入配置界面把下面的内容添加到配置里面保存退出
  
   DSC00018.png
  保存配置之后一定要进行文件的从新启动,不然配置的内容是不会有效果的。执行命令
  service sshd restart
  从启服务之后我们推出root用户,用hadoop用户进行测试
DSC00019.jpg
  出现上图的效果的时候证明我们已经在本机上配置好了,下面我们就要把公钥复制到我们的Slave1机器上进行配置了,复制的命令如下:
  scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
DSC00020.jpg
  这是我们已经把我们的文件复制到Slave1机器上了,我们可以登录我们Slave系统上查看是否有该文件
   DSC00021.jpg
  
  这个时候我们发现已经复制过去了。
  2)在"/home/hadoop/"下创建".ssh"文件夹
    这一步并不是必须的,如果在Slave1.Hadoop的"/home/hadoop"已经存在就不需要创建了,因为我们之前并没有对Slave机器做过无密码登录配置,所以该文件是不存在的。用下面命令进行创建。(备注:用hadoop登录系统,如果不涉及系统文件修改,一般情况下都是用我们之前建立的普通用户hadoop进行执行命令。)
  
DSC00022.jpg
  注释:如果不进行,即使你按照前面的操作设置了"authorized_keys"权限,并配置了"/etc/ssh/sshd_config",还重启了sshd服务,在Master能用"ssh localhost"进行无密码登录,但是对Slave1.Hadoop进行登录仍然需要输入密码,就是因为".ssh"文件夹的权限设置不对。这个文件夹".ssh"在配置SSH无密码登录时系统自动生成时,权限自动为"700",如果是自己手动创建,它的组权限和其他权限都有,这样就会导致RSA无密码远程登录失败。
  对比上面两张图,发现文件夹".ssh"权限已经变了。
  3)追加到授权文件"authorized_keys"
    到目前为止Master.Hadoop的公钥也有了,文件夹".ssh"也有了,且权限也修改了。这一步就是把Master.Hadoop的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去。使用下面命令进行追加并修改"authorized_keys"文件权限:
DSC00023.jpg
  4)用root用户修改"/etc/ssh/sshd_config"
    具体步骤参考前面Master.Hadoop的"设置SSH配置",具体分为两步:第1是修改配置文件;第2是重启SSH服务。
  5)用Master.Hadoop使用SSH无密码登录Slave1.Hadoop
    当前面的步骤设置完毕,就可以使用下面命令格式进行SSH无密码登录了。
DSC00024.jpg
  这个时候我们发现我们已经配置成功了。
  (同样的原理我们Slave登录Master也是一样的配置呢,这里图片我是在博客园截的图,他的ip地址和我的是不一样的他的Master是192.168.1.2,Slave1是192.168.1.3。)
  第三部就是java环境的安装了,这里我用的是jdk-7u25-linux-i586.rpm,所有的机器上都要安装JDK,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装JDK以及配置环境变量,需要以"root"的身份进行。 首先用root身份登录"Master.Hadoop"后在"/usr"下创建"java"文件夹,再把用SSH_linux上传到"/home/hadoop/"下的"jdk-6u31-linux-i586.bin"复制到"/usr/java"文件夹中。
   DSC00025.jpg
  
  接着进入"/usr/java"目录通过下面命令使其JDK获得可执行权限,并安装JDK。
  
   DSC00026.png
  
  回车就可以进行文件的安装了。
  再次执行 DSC00027.png
   DSC00028.png
  
  
  这个时候证明我们已经安装完毕了。
  
  java环境安装好了,我们还要配置java的环境,
   DSC00029.png
DSC00030.png
  这个时候我们保持退出,从新启动服务
DSC00031.png
  这个是我们的java就配置完成了,我们可以通过java -version来看我们是否配置成功
DSC00032.png
  这个时候证明我们java环境就配置好了。接下来我们就要把每台服务器都配置好java环境。
  第四部是hadoop环境的安装。
  首先用root用户登录"Master.Hadoop"机器,查看我们之前用SSH_linux上传至"/home/Hadoop"上传的"hadoop-1.0.0.tar.gz"。
DSC00033.jpg
  然后复制到usr文件夹下面
DSC00034.jpg
  对文件进行解压
   DSC00035.jpg
  
  
  
  
  

运维网声明 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-86483-1-1.html 上篇帖子: 几篇关于Hadoop+Hive数据仓库的入门文章 下篇帖子: 云计算 学习笔记(1) Hadoop简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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