hadoop学习第一天-hadoop初步环境搭建&伪分布式计算配置(详细)

时间:2023-03-08 22:10:18

一、虚拟机环境搭建

  我们用的虚拟机为vmware,Linux镜像为centOS6.5.

  vmware安装

  安装没什么多说的,一路下一步,但是在新建虚拟机的时候有两个地方需要注意:

    1.分配处理器1个就好了,毕竟现在搭的是伪分布式

    2.内存分配多一些,这个就看自己机器的情况了

    3.网络设置为NAT,不然会有连不上网的问题

  centOS6.5安装

    将镜像文件添加至虚拟机中,这个CentOS6.5安装比较傻瓜式,不用自己操作,不像之前在CentOS7的安装,还需要自己进行分区,各种设置。

  CentOS6.5配置网络环境

    1.进入Linux,右击网络->edit connection->双击你的网卡进行ip配置

      ipv4setting->manual->add->address network gateway分别为虚拟机上面的编辑->虚拟网络编辑器->第二个NAT模式中的各种网络配置

      我的网络为192.168.32.100 255.255.255.0 192.168.32.2

    2.命令行输入ifconfig,查看当前虚拟机的IP,若IP为192.168.32.100则配置正确

    3.将给好的jdk-8u121-linux-x64.tar.gz包和hadoop-2.6.0.tar.gz包上传至~/hadoop/(/home/qjx/hadoop/)目录下面

    4.修改主机名称(root)vim /etc/sysconfig/network 修改HOSTNAME为当前用户名qjx,重启后生效

    5.重启后关闭防火墙(root)vim /etc/init.d/iptables stop

  当前linux环境配置如下:

    用户:qjx 123456

    IP:192.168.32.100

    主机名:qjx

二、JDK安装

  1.进入hadoop目录

   cd hadoop/

  2.将hadoop/目录下的jdk-8u121-linux-x64.tar.gz解压

   tar -zxvf jdk-linux.tar.gzjdk-8u121-linux-x64.tar.gz

  3.编辑/etc/profile文件,并在最后将jdk配置到path(root)

    vim /etc/profile

    JAVA_HOME=/home/qjx/hadoop/jdk1.8.0_121

    export PATH=$PATH:$JAVA_HOME/bin

   使更改生效(qjx)

    source /etc/profile

   检验path是否正确可以在命令行输入echo $PATH

三、hadoop安装和伪分布式基本配置

  1.进入hadoop/目录

    cd hadoop/

  2.解压hadoop/目录下的hadoop-2.6.0.tar.gz,完成后会在当前hadoop目录下有hadopp-2.6.0目录

    tar -zxvf hadoop-2..6.0.tar.gz

  3.修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh文件,增加一行

    export JAVA_HOME=/home/qjx/hadoop/jdk-1.8.0_121

  4.修改配置文件hadoop-2.6.0/etc/hadoop/core-site.xml,在configaration标签中添加配置

    <property>

      <name>fs.defaultFS</name>

      <value>hdfs://qjx:9000</value>

    </property>

    ps:此文件配置了hdfs的访问路径,qjx即为自己主机名

  5.修改配置文件hadoop-2.6.0/etc/hadoop/hdfs-site.xml,添加配置标签

    <property>

      <name>dfs.replication</name>

      <value>1</value>

    </property>

    ps:此文件配置了hdfs节点的副本数(block),因为是单节点伪分布式,所以只需要一个

  6.修改配置文件hadoop-2.6.0/etc/hadoop/mapred-site.xml ,这个文件不存在,需要复制一份tmp

    cp hadoop-2.6.0/etc/hadoop/mapred-site.xml.template hadoop-2.6.0/etc/hadoop/mapred-site.xml

   添加配置

    <property>

     <name>mapreduce.framework.name</name>

    <value>yarn</value>

   </property>

  7.修改配置文件hadoop-2.6.0/etc/hadoop/yarn-site.xml

    <property>

     <name>yarn.nodemanager.aux-services</name>

     <value>mapreduce_shuffle</value>

   </property>

  到此为止,配置文件已经修改完成

四、格式化hdfs和启动伪分布式集群

  1. 修改/etc/hosts文件(root),添加 一行 主机IP 主机名

    192.168.32.100  qjx

  2.格式化HDFS,在hadoop解压目录下(/home/qjx/hadoop/hadoop-2.6.0/),执行如下命令:

    bin/hdfs namenode -format

  注意:格式化只能操作一次,如果因为某种原因,集群不能用, 需要再次格式化,需要把上一次格式化的信息删除,在/tmp目录里执行 rm –rf *(默认将namenode存在/tmp/中,如果后续有操作将配置文件hdfs-site.xml的namenode的值改为了自定义的路径,则删除自己定义的目录)

  3.启动集群,在hadoop解压目录下,执行如下命令:

    sbin/start-all.sh 需要输入四次当前用户的密码,如果想要不输入密码,可通过配置ssh互信解决,下面有详细方法

  4.启动后,命令行输入jps,检查有以下的输出:

    [qjx@qjx hadoop-2.6.0]$ jps

    32033 Jps

    31718 SecondaryNameNode

    31528 DataNode

    31852 ResourceManager

    31437 NameNode

    31949 NodeManager

   ps:如果碰到缺少某一项,则去hadoop-2.6.0/logs/下面找相应缺少的文件log日志中的错误去解决

  5.关闭集群命令:

    sbin/stop-all.sh 同样需要输入四次密码

五、ssh互信配置(rsa加密方法)

  互信,顾名思义,互相信任,即将两个主机通过公钥,私钥添加互相信任,配置完成可以不用输入密码即可连接ssh

  1.命令行输入:ssh-keygen 后,一直Enter,完事(会在根目录下生成三个文件id_rsa,id_rsa.pub,known_hosts)

  2.把公钥给信任的主机(本机)

    命令行输入 ssh-copy-id 主机名

     ssh-copy-id qjx

    这个过程需要输入信任主机的密码

  3.验证是否成功,在命令行输入 ssh 信任主机名称

    ssh qjx

  若无提示输入密码,则配置成功