Hadoop研究(一)安装与部署

一、 前期准备和集群规划
这里使用的是虚拟机的方式进行Hadoop安装,故前期需要安装VMWare虚拟化软件。需要提前准备的安装包有如下:
1) jdk安装包,下载地址为:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
这里我们所使用的jdk是:jdk-8u65-linux-x64.gz。
注1:需要注意jdk有32位和64位之分,应该根据你的系统进行恰当的选择,否则会出问题。
注2:将本机上的jdk文件拷贝到虚拟机上,可以使用复制粘贴命令,直接拖拽的方式会导致jdk包出问题。
2) Hadoop安装包,下载地址为:http://hadoop.apache.org/releases.html , 这里,我们使用是Hadoop版本是:hadoop-2.7.2。
3) 虚拟机准备: 本次安装,在VMware中准备了4台虚拟机,基本配置是:
内存,暂定4G; 硬盘,暂定20G; 操作系统,CentOS-7-x86_64-DVD-1611.iso
4) 集群规划

     Vmname         hostname       IP address         software               process 
   Hadoop_master      master     192.168.100.100    jdk/Hadoop      NameNode/ResourceManager
   Hadoop_slave1      slave1      192.168.100.101    jdk/Hadoop       DataNode/SecondNode
   Hadoop_slave2      slave2      192.168.100.102    jdk/Hadoop       DataNode
   Hadoop_slave3      slave3      192.168.100.103    jdk/Hadoop       DataNode

二、 jdk安装
1、 拷贝安装包: 默认经过前期准备,已经下载了可用的安装包,此时,将该安装包复制到虚拟机中。
2、 检查本地已有的jdk:一般情况下,centos系统自带了openjdk,首先,执行图1中第一个指令,查看是否包含openjdk,然后执行图中第二个指令,具体查看都有什么jdk。若存在,则对每一个jdk均执行图2中的指令,进行卸载操作。卸载完成,后,执行: $ java –version ,进行检测,若输出“java command not found”,则表示卸载成功。
3、 解压缩安装包:执行如下命令:

[zwp@localhost Desktop]$ tar -zvxf jdk-8u65-linux-x64.gz

注1:解压缩时要记住所在的目录,本次安装jdk的安装目录是:/home/hadoop1/Desktop/jdk1.8.0_65/
注2:解压缩正确之后,应该能够得到一个以jdk1.8.0_65命名的文件夹,该文件夹下包含了bin、db、include、jre、lib等文件夹及文件。否则,会出问题。
4、配置jdk的profile文件,该文件位于“/etc/profile”目录。具体配置内容如图3所示。将该内容加入到profile文件中。然后保存关闭该文件。(该配置文件的修改需要在root权限下进行)。
这里写图片描述
图 1 检查java 版本
这里写图片描述
图 2 卸载原有版本JDK
这里写图片描述
图 3 配置java环境变量
注1:修改并保存profile文件后,执行指令:# source profile, 然后执行: # exit ,退出root权限,
在hadoop1权限下再执行一次: sourceprofile,使profilerootjdk java -version 来查看具体的jdk安装情况及版本。这里显式的结果如下:
这里写图片描述
图 4 JDK版本生效
三、 虚拟机集群的基础配置
1、 生成虚拟机集群
已经在一台虚拟机上成功安装了jdk, 并且,已经将必须的Hadoop组件安装包拷贝到了该虚拟机上,下一步,需要生成虚拟机集群:使用VMware自带的克隆功能。
首先,将需要克隆的虚拟机关机(必须是关机状态,才能够实现克隆操作);然后,选中该虚拟机,右击选择“管理”—“克隆”,然后按照提示,进行下一步操作即可,其中,中间需要修改虚拟机的名字(即vmname),最后克隆成功后,关闭该克隆界面即可。
这里,虚拟出来了4台虚拟机,其vmname分别为:hadoop_master、hadoop_slave1、hadoop_slave2、hadoop_slave3.
2、 主机名修改
由于克隆产生的主机名全都是一样的,故,需要修改主机名。
进入该虚拟机,执行如图5所示的第一个命令:
这里写图片描述
图 5 修改hostname
之后,会出现一个认证界面,输入密码,回车即可:如图6所示:
这里写图片描述
图 6 认证界面
之后,可以执行指令: $ hostnamectl 来验证是否修改成功。

3、 IP地址的设置
主要是为master主机及其各个slave主机配置IP地址,并实现各自之间的内网通信。
1)本安装,实现对四台虚拟机的一个IP配置:
Master:192.168.100.100
slave1:192.168.100.101 slave2:192.168.100.102 slave3:192.168.100.103
并设置自动启动网络的选项。
配置之后,可以通过互相ping一下ip地址,检测是否能够正常通信。
2)修改hosts 文件:在master主机上,修改hosts文件,配置各个主机的hostname与IP地址的解析。
该host文件位于目录“/etc/hosts”,需要在root权限下修改该hosts文件。具体修改内容如下:
192.168.100.100 master
192.168.100.101 slave1
192.168.100.102 slave2
192.168.100.102 slave3
保存后退出,并将该hosts文件复制到其余3个slave主机上,具体执行指令:(下面指令需要在root权限下执行)
# cd /etc/
# scp hosts slave1:/etc/
# scp hosts slave2:/etc/
#scp hosts slave3:/etc/
4、 免密码登录实现
为了避免每次执行时需要大量地输入root的密码认证,故这里设置免密码登录实现。主要目的是实现,master主机对每个slave主机的免密码登录。具体操作步骤如下:
1) 生成RSA公钥和私钥:执行如图8所示的指令:ssh-keygen -t rsa -P ‘’ ,即可生成RSA的公钥与私钥。
这里写图片描述
图 7 ssh目录

这里写图片描述
图 8 ssh密钥生成
注1:该命令需要在master主机上,切换到root用户下,进入到/root/.ssh/文件夹下,执行,如上图7所示。由于.ssh可能是隐藏文件,需要执行:ls –a 来查看。
注2:密钥生成成功后,可以在.ssh目录下看到增加了两个文件“id_rsa”和“id_rsa.pub”分别代表私钥和公钥。
2) 将RSA公钥追加到到每个slave
这一步骤,实现将生成的密钥中的公钥发送到slave1、slave2、slave3三台虚拟机中,实现master对slave1、slave2、salve3的无密钥登录。
这里写图片描述
图 9 拷贝公钥到slave主机
注1:这里使用的是:ssh-copy-id slave1、 ssh-copy-id slave2、 ssh-copy-id slave3
有提示说,可以使用:cat id_rsa.pub >> slave1:/root/.ssh/authorized_keys 指令实现。但是,我执行该指令,出现了问题,提示slave1中没有authorized_keys文件,即无法实现正确的拷贝公钥。
3) 测试是否成功
此时,已经基本实现了该有的配置,可进行测试:
执行: #ssh slave1 , 即可实现登录到slave1系统中,如图9所示,最后一个命令的执行结果。
注1:需要关闭防火墙。
执行:
# systemctl stop firewalld.service
#systemctl disable firewalld.service

注2:如上步骤的执行是在master主机上进行的。
注3:此处生成的密钥需要是RSA的,因为对应的sshd_config文件下的配置是关于RSA的。
四、 安装Hadoop
1、 解压缩Hadoop安装包:成功后会生成一个hadoop-2.7.2的文件夹。里面包含了bin/sbin/lib/etc/include等。
tarzvxfhadoop2.7.2.tar.gz2Hadoopprofile1hadoopprofile/etc/profileprofilesourceprofile /.bashprofile2exportHADOOPHOME=/home/hadoop/Desktop/hadoop2.7.2exportPATH= PATH: HADOOPHOME/bin3Hadoop1masterslaveslave2/home/hadoop/Desktop/hadoop2.7.2/etc/hadoop1Hadoopenv.shJAVAHOMEexportJAVAHOME= {JAVA_HOME}
为:export JAVA_HOME=/home/hadoop/Desktop/jdk1.8.0_65core-site.xml 文件:
主要是增加configuration的内容,如图10所示:
这里写图片描述
图 10 core-site.xml配置文件
3) hdfs-site.xml 文件
这里写图片描述
图 11 hdfs-site.xml配置文件
4) slaves文件
slaves文件中写上对s各个lave的标注:

slave1
slave2
slave3

5) 将各个配置文件拷贝到每个slave主机上
这里写图片描述

4、启动hdfs

NameNode初始化: ./bin/hdfs namenode -format
启动hdfs: ./ sbin/start-dfs.sh
成功启动后,可以通过执行: # jps 指令查看是否成功运行。如果成功运行了,在master主机上会出现 NameNode的进程;而在slave主机上会出现DataNode的进程。
在master的web浏览器上,通过网址: http://mater:50070 即可以通过web界面查看NameNode和DataNode的图形化界面的监控。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值