当前位置 博文首页 > Aleks:Hadoop2.7.2版本分布式集群搭建详细记录

    Aleks:Hadoop2.7.2版本分布式集群搭建详细记录

    作者:[db:作者] 时间:2021-09-21 12:01

    因为本人不熟悉linux指令,还是一个新手。在搭建的过程中遇到了或多或少的问题。所以记录下搭建过程,也方便跟我一样的初学者顺利搭建Hadoop平台。

    搭建集群目标:master 一台 ? slaver三台 ?所有系统均为centos 7.0版本

    搭建步骤流程:?

    1. 安装centos 7.0系统 完成网络配置等等 并使用xshell来控制终端

    2. 安装sun公司的jdk?

    3. 修改hosts文件与设置ssh密钥连接

    4. 安装hadoop平台

    5. 修改hadoop配置

    6. 测试hadoop样例

    7. 编写基本的MapReduce程序并运行

    搭建过程

    一、安装centos 7.0系统

    这里直接上图每步的操作。


    点击下一步:


    继续下一步


    这里说明下: 注意版本选择Centos64位 不要选择Centos 否则可能出现网络无法连接 然后下一步


    这里填写自己喜欢的虚拟机名字和虚拟机存放的目录 点击下一步


    说明下: 作为开发学习使用,20G空间基本满足了。然后点击下一步,接着点完成即可。

    接着我们设置下网络连接方式,iso镜像位置等。



    ? 这里选择你的iso镜像文件即可。。在官网下载就好了。


    点击网络适配器,选择NAT模式。。为何? 主要原因是我之前选择桥接模式时,每次启动4个虚拟机 总有一个网络异常。。。然后看看NAT与桥接的区别。完了之后,点击确定,运行虚拟机。

    ? 有两个选项,第一个就是直接安装Centos7 后面一个是测试媒体并且安装Centos7.。选择第一个。。然后按Enter。。接着喝杯水 等等,哈哈哈


    ? 出现设置界面后,选择中文(当然别的也没问题)。。点继续。。


    这里先点击安装位置,出现分区界面后,直接点击完成即可。

    然后点击网络和主机名。

    点击开启后等待它连接完成,出现上图时,点击完成即可。然后点击开始安装


    点击Root密码。。如果设置弱密码,需要点两次完成。。。至于用户。你可以直接创建hadoop用户。也可以不用。。因为我是只用来学习测试,所以直接用root用户。一般而言,创建个hadoop用户是比较好的。

    然后等待安装完成。。。

    接下来让我们重启虚拟机。


    重启后输入账号root和密码。。然后输入指令: ip addr 即可查看网络连接状态。。注意在Centos7指令已经有很大变化了。比如ipconfig就不存在了。

    接着,我们打开xshell。创建新的连接。


    填写好信息后点击确认,然后连接,输入用户名和密码即可。

    至此Centos7系统安装完毕。。如果需要修改计算机名 输入指令: vi /etc/hostname ?

    这里稍微扯扯vi指令。vim有好几个模式。分别为normal(命令模式), insert(编辑模式), 在insert模式下按下Esc即可回到命令模式。输入: (半角冒号)即进入执行命令模式。

    其中wq是保存并且退出 ?q是直接退出。。其他自行百度。。。这里简单说说。


    二、?安装sun公司的jdk?
    Centos自带的jdk并不是我们需要的sun公司的jdk.因此需要自己另外安装jdk。。。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    选择linux下的rpm版本即可(我们使用rpm命令执行安装)

    下载完成后。回到xshell,连接好虚拟机。然后打开xftp工具用来上传文件。这样比较方便。

    我们直接上传到/usr/local文件夹下面。。jdk默认安装到/usr/java当中。

    在xshell中输入以下命令: rpm -ivh ?jdk文件名 ? 然后等待完成。

    完成之后,我们需要修改系统环境变量。

    输入指令: vi /etc/profile

    \

    点击键盘的Insert键进入编辑模式。在尾巴加上:

    JAVA_HOME=/usr/java/jdk1.8.0_73
    JRE_HOME=/usr/java/jdk1.8.0_73/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH
    

    然后保存退出。这时输入指令: java -version即可查看我们新安装的jdk版本了。


    如图,我装的是目前最新版本的jdk。。1.8版本。


    三、修改hosts文件与设置ssh密钥连接

    ? ? ?为了方便我们后面hadoop参数设置的方便和灵活性,我们需要修改hosts文件,把每台主机的Ip地址用某个字符串来代替。

    在xshell中输入指令: vi ?/etc/hosts


    如图,我填写了一台master主机和3台slaver地址。。。保存并退出。。接下来我们需要测试下是否可以ping通。

    如图,已经ping通了。然后停止ping是按ctrl + c。。。

    但是,如果不关闭防火墙,后面我们访问50070端口时会出现连接失败。。这个主要两个原因引起的。一个是HDFS没有被启动 一个是防火墙没有关闭。。

    在Centos7版本中,已经修改了防火墙关闭指令。

    centos 7:
    systemctl stop firewalld.service #停止
    systemctl disable firewalld.service #禁用
    之前的版本:
    service iptables stop #停止
    chkconfig iptables off #禁用

    接下来,我们处理下ssh密钥连接问题。。Centos7默认是安装好了ssh和sshd服务。可以输入指令rpm?-qa?|?grep?ssh 如下图。如果没有安装ssh服务。那么可以在线安装?yum?install?openssh-server安装。


    接下来,我们需要在master主机中生成密钥并配置ssh无密码登录主机。

    输入指令: cd ?/root/.ssh

    如果提示不存在你文件夹.ssh 则新建: mkdir .ssh

    然后生成密钥对: ssh-keygen -t rsa 然后一直按Enter直到完成即可。

    接着,输入复制指令: cp id_rsa.pub authorized_keys

    然后: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    最后把密钥复制到slaver中即可

    scp authorized_keys root@slaver1:/root/.ssh ? (注意,在slaver中也要创建.ssh文件夹)然后测试下是否可以登录: ssh slaver1

    因为,我这是后面回录的,之前登录过一次,输入了密码,这次就不用输入密码即可登录了。。注意root@后面的主机名已经变了。。。

    至此,完成ssh部分问题。。。下一篇,重点处理hadoop搭建和配置问题。


    cs