本地虚拟机搭建Hadoop集群

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33243189/article/details/89741810

准备工作

  1. jdk1.8
  2. hadoop2.7
  3. VMware 

一、新建三台虚拟机(使用centos 7)

1、重命名hostname,分别命名为namenode、datanode2、datanode3

建立主机名与IP地址映射,打开编辑:vi /etc/hosts

2、配置静态ip地址,打开配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33 

保存退出重启网卡:systemctl restart network ,查看ip:ip addr

3、通过xftp上传hadoop-2.7.7.tar.gz、jdk-8u11-linux-x64.tar.gz到目录/user/local/software下

在/user/local/software目录下分别使用命令:tar -xvf jdk-8u11-linux-x64.tar.gz、tar -xvf hadoop-2.7.7.tar.gz 解压文件

4、配置JDK1.8环境,开发配置文件:vi /etc/profile

保存退出,允运行:source /etc/profile  查看JDK:java -version

 二、建立ssh无密码登录本机

 1、查看是否安装shh服务。

2、配置ssh免密码登陆

      a、输入命令:ssh-keygen -t rsa,然后一直回车回车...

      秘钥生成后在~/.ssh/目录下,有两个文件id_rsa(私钥)和id_rsa.pub(公钥)

       b、把公钥复制到authorized_keys,并且授权:chmod 600 authorized_keys

         把datanode1与datanode2的公钥复制到namenode的authorized_keys上。

         把namenode节点下的authorized_keys文件发送到datanode1与datanode2的~/.shh目录下:

         scp ~/.ssh/authorized_key root@datanode1:~/.ssh/

 

                        在datanode1与datanode2分别查看是否存在authorized_key文件,存在则成功。验证是否免密登陆:ssh datanoe1

 三、关闭防火墙

四、安装hadoop并配置环境变量

hadoop集群每个节点的配置都需要一致,所以我们可以在一个节点配置为再发送到其他节点

1、在/usr/local/software目录下解压hadoop-2.7.7.tar.gz

2、配置环境变量: vi /etc/profile,添加如下配置,验证是否配置成功:hadoop version

3、新建三个文件夹,在/user/local/software/hadoop-2.7.7 目录,新建dfs/name、dfs/data、temp

五、配置hadoop配置文件

接下来配置/usr/local/software/hadoop-2.7.7/etc//hadoop/目录下的七个文件

1、配置hadoop_env.sh,修改JAVA_HOME路径。

2、配置yarn_env.sh,修改JAVA_HOME路径

3、配置slaves,删除localhost,添加datanode1、datanode2

4、配置core-site.xml。

<property>
                <name>fs.defaultFS</name>
                <value>hdfs://namenode:9000</value>
      </property>
      <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
                <description>文件块大小 128M</description>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/software/hadoop-2.7.7/temp</value>
    <description>namenode上本地的hadoop临时文件夹</description>
        </property>
        <property>
                <name>hadoop.proxyuser.hduser.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.hduser.groups</name>
                <value>*</value>
        </property>

5、配置hdfs-site.xml

<property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>namenode:9001</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/software/hadoop-2.7.7/dfs/name</value>
        </property>
        <property>
                <name>dfs.namenode.data.dir</name>
                <value>file:/usr/local/software/hadoop-2.7.7/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>
 

6、配置mapred-site.xml,默认没有这个文件需要拷贝一份:cp mapred-site.xml.template mapred-site.xml

 <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
         <property>
                <name>mapreduce.jobhistory.address</name>
                <value>namenode:10020</value>
        </property>
         <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>namenode:19888</value>
        </property>

7、配置yarn-site.xml

<property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.shuffleHandler</value>
        </property>
         <property>
                <name>yarn.resourcemanager.address</name>
                <value>namenode:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>namenode:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>namenode:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>namenode:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>namenode:8088</value>
        </property>

结束,把所有的配置都发送一份至datanode1和datanode2

6、启动hadoop集群

格式化namenode节点,在/usr/local/software/hadoop-2.7.7目录下:./bin/hdfs namenode -format

启动hadoop:./sbin/start-dfs.sh

查看是否启动:jps

hadoop控制台地址http://192.168.2.177:50070

猜你喜欢

转载自blog.csdn.net/qq_33243189/article/details/89741810