使用三台虚拟机和Hadoop3.1.0搭建集群

首先要说明一点,一下教程针对hadoop3.1.0,注意不是2.X.X!!!(本人因为版本浪费了将近三天的时间,人生观都差点崩塌了)

虚拟机这里就不过多说了,网上教程一大把,这里使用的是ubuntu系统

1、三台虚拟机启动后修改hostname

使用一下命令 sudo gedit /etc/hostname,将三台虚拟机的分别修改为master,slave1,slave2(master,node1,node2)均可自己分得清就成

修改完之后重启虚拟机,下面是修改后的效果

2、修改hosts,将三台虚拟机的ip写入

首先输入ifconfig命令,依次查看三台虚拟机的IP地址

使用三台虚拟机和Hadoop3.1.0搭建集群_第1张图片

然后 依次在三台虚拟机的命令行中输入sudo vim /etc/hosts,修改内容如图所示:

使用三台虚拟机和Hadoop3.1.0搭建集群_第2张图片

完成修改后,用下面的命令测试三台虚拟机是否可以相互ping通。

3、建立hadoop账号

为hadoop集群专门设置一个用户组及用户,命令如下

添加一个属于hadoop用户组的had_user用户,命令如下:

设置用户had_user的登录密码,命令如下:

切换到had_user用户,之后的操作都是在该用户下进行,命令如下:

上述设置需要在3台虚拟机里面都同样进行。

4、 SSH无密码验证配置

安装SSH,命令如下:

 生成公钥、私钥,命令如下:

提示输入密钥保存的路径,直接按enter键使用默认值即可,如下图:

使用三台虚拟机和Hadoop3.1.0搭建集群_第3张图片

把id_rsa.pub追加到授权的key里面去,命令如下:

 

测试是否可以用ssh无密码登录本地localhost,命令如下:

 

使用三台虚拟机和Hadoop3.1.0搭建集群_第4张图片

在另外两个节点虚拟机重复以上步骤。

5、jdk、hadoop安装

在had_user用户的根目录下创建文件夹local,jdk和hadoop都安装在这个文件夹下,命令如下:

将下载好的jdk和hadoop安装包复制到local文件夹下并解压,命令如下:

完成后,查看local目录,如图所示:

安装完之后配置jdk与hadoop的环境变量修改profile文件

输入 sudo gedit /etc/profile

配置jdk

export JAVA_HOME=/usr/local/jdk1.8.0_181

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

PATH=$JAVA_HOME/bin:$PATH
配置hadoop

export HADOOP_HOME=/usr/local/hadoop-3.1.0 PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改完之后 使用 source /etc/profile 使修改的环境变量生效。

6、配置hadoop文件-----------首先切到/hadoop3.1.0/etc/hadoop下,然后使用sudo gedit XXXX来编辑这几个文件

     1  配置hadoop-env.sh

添加export JAVA_HOME=/opt/java/jdk1.8.0_172/ 

 

2 配置core-site.xml

fs.defaultFS

hdfs://servera:9000

io.file.buffer.size

131072

 

3 配置hdfs-site.xml

 

 
 


  dfs.namenode.name.dir
  /var/lib/hadoop/hdfs/name/

 

  dfs.blocksize
  268435456

 

  dfs.namenode.handler.count  
  100

 

 

  dfs.datanode.data.dir
  /var/lib/hadoop/hdfs/data/

 

    dfs.replication
    1

 

 

4 配置yarn-site.xml

 

 
 
          yarn.resourcemanager.hostname
          servera
 

 
 
          yarn.nodemanager.aux-services
          mapreduce_shuffle
 

    
          yarn.nodemanager.resource.memorymb
          800
  


5 配置mapred-site.xml


   
   
        mapreduce.framework.name
        yarn
   

     
        mapreduce.application.classpath  
         
        /opt/hadoop/hadoop-3.1.0/etc/hadoop,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/common/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/common/lib/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/lib/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/lib/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/*,  
        /opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/lib/*  
       
 
   


 6 配置workers

slave1

slave2

你可能感兴趣的:(hadoop)