Hadoop伪分布式集群安装

我们此次安装是在Linux环境,Linux的一些安装操作和网络配置这里就不多讲了,这里默认Linux是可以和win主机ping通的。

一.安装JDK

    1.上传压缩包

          上传jdk的压缩包并进行解压,最好解压到新建的目录下;

          tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/local/java

    2.添加环境变量

          编辑配置文件,并将java添加到环境变量中;

          vim /etc/profile

          在文件最后添加:

          export JAVA_HOME=/usr/local/java/jdk-7u_65-i585
          export PATH=$PATH:$JAVA_HOME/bin

          刷新配置:
          source /etc/profile

二.安装Hadoop

    1.上传压缩包

         把hadoop的安装压缩包上传到linux上,我这里安装的是2.4版本,然后使用tar命令进行解压,最好解压到自己新建的文件夹下面,这样便于管理;

    tar -zxvf hadoop-2.4.1.tar.gz -C /usr/local/hadoop

    2.删除doc目录(不是必须)

          解压完成之后我们可以看到hadoop的目录文件,bin和sbin目录主要是一些脚本文件,其中sbin是关于一些启动和停止hadoop的脚本,跟hadoop相关的jar包存放在share目录下;

          在share目录下有个doc目录,这里都是一些说明文档,没什么作用,可以把它删除掉;

          rm -rf doc

    3.修改Hadoop配置文件

         进去etc/hadoop,就看到很多配置文件,我们不需要全部都修改,要修改的配置文件有5个;

       hadoop-env.sh

         环境变量的配置文件,在这里配置,获取java_home,这里我们看到.cmd的文件,这是win的配置文件,这里我们改的是linux的.sh;

         vi hadoop-env.sh,这里把java_home改成具体的jdk路径

        core-site.xml

           Hadoop公共部分的配置文件,这里把文件系统和产生文件的存储目录配置上去;

           这里我们是伪分布式,节点都在一台机子上,所以这里是localhost,默认的端口号是9000;

        hdfs-site.xml

           hdfs组件的配置文件,这里配置文件副本数量;

           一般情况副本的数量3个,但是我们这只是一台主机,所以就要一个;

        mapred-site.xml

           mv mapred-site.xml.template mapred-site.xml,给配置文件改个名字,要不然Hadoop不会去读这个文件;

          这里配置hadoop调度集群,如果不配置就相当于只是在本地跑,只能是单机版;

    4.将hadoop添加到环境变量

          vi /etc/profile,然后加上hadoop的配置;

          source /etc/profile,让配置马上生效

    5.初始化namenode

          hadoop namenode -format,在任意地方执行这条命令;

          初始化的工作主要是,在data目录下新建了子文件夹以及在子文件夹里面写元数据;

         看到这句话代表格式化成功;

    6.启动hadoop

         进去sbin目录下,有很多脚本,可以启动全部,也可以先启动HDFS,再启动YARN;

         ./start-dfs.sh

         ./start-yarn.sh

 

三.验证是否启动成功

        使用jps命令验证;

         这里我们发现我们之前修改配置文件的时候并没有指定datanode,只是指定了namenode,这里的datanode也在localhost上启动起来了,其实,配置文件slaves已经默认指定了datanode的启动机器是localhost,我们也可以在slaves中进行修改启动机器;      

 

四.配置ssh免登陆

        集群搭建完成之后,启动的时候每次都要输入服务器的密码,小集群还可以接受,要是几十上百个集群的话,每次都要输入密码,效率很慢也容易出问题,基于这种情况,我们可以配置ssh免登录;

     ssh原理:

        如:一台服务器server01向另一台服务器server02通信

           1.server01请求登录server02;

           2.server02查看自己的授权列表authorized_keys是否有server01的公钥;

           3.如果存在server01的公钥,则用server01的公钥加密一个随机字符串发送给server01;

           4.server01接收到server02发过来的加密字符串之后,用自己的私钥进行解密;

           5.server01将解密结果发送给server02;

           6.server02验证解密结果,并发送给server01是否验证成功;

       由此看出ssh的重点是:公钥,私钥,授权列表;

    配置步骤:

          1.生成免登录密钥

               ssh-keygen -t rsa,执行这条命令之后点击回车选默认值就可以了

               执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

           2.进入到自己用户的home目录下创建授权列表文件(如果存在就不需要创建),并修改文件权限为600

                执行命令:ll -a,会看到有一个.ssh目录,

                进去目录:cd .ssh,

                创建文件:touch authorized_keys

                修改文件权限:chmod 600 authorized_keys

            3.把公钥发送给需要免登录的服务器(如果是伪分布式则不需要,因为只有一台机器)

                  scp id_rsa.pub 地址:文件存放路径

            4.在文件最后追加公钥(如果另一台机器没有授权列表文件则创建列表文件再追加)

                  cat id_rsa.pub >> authorized_keys

            5.或者跳过2,3,4步,直接使用命令:ssh-coyp-id servicer2,即可把公钥发送给指定的机器上;

 

 

 

       

     

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值