hadoop完全分布式环境配置

最小化安装CentOS虚拟机

  • 把网络连接模式改成NAT

    在这里插入图片描述

  • 配置网卡

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736  (根据网卡自行配置)

把文件中的相关行修改,没有就添加

BOOTPROTO=static
ONBOOT=yes
IPADDR= 192.168.15.101(根据自己需要的ip来配置)
GATEWAY=192.168.15.1
PREFIX=24

接下来重启网卡

service network restart
或者
systemctl restart network
  • 搭建本地yum源

    • 把selinux改成宽容模式

      vi /etc/selinux/config
      
      SELINUX=permissive
      
      :wq
      
    • 连接CentOS镜像

      把已连接打开 (开机的情况下)
      在这里插入图片描述
      在这里插入图片描述

    • 在/opt下新建一个目录

      mkdir /opt/local
      
    • 挂载镜像到/mnt目录

      mount /dev/cdrom /mnt/
      
    • 把/mnt目录下所有文件拷贝到/opt/local

      cp -rvf /mnt/* /opt/local
      
    • 卸载镜像

      umount /mnt/
      
    • cd /etc/yum.repos.d/目录下,新建并编辑

      vi local.repo
      
      [centos]
      name=centos
      baseurl=file:///opt/local
      gpgcheck=0
      enable=1
      
    • 安装vsftpd

      yum install -y vsftpd 
      
    • 安装net-tools

      yum install -y net-tools
      
  • 修改vsftpd配置文件

      vi /etc/vsftpd/vsftpd.conf
      
      添加一行
      anon_root=/opt/
    
    • 开启vsftpd服务,并设置开机自启

      systemctl start vsftpd
      
      systemctl enable vsftpd
      
    • 安装基本网络工具

      yum install -y net-tools
      

连接终端工具

  • 我这里使用的是MobaXterm

    可以从官网下 https://moba.en.softonic.com/?ex=CORE-117.6 选择免费版的

  • 解压安装软件,安装后打开软件,不停的下一步,然后点开

在这里插入图片描述

  • 使用

    • 连接虚拟机:点击左上角的Session按钮,会弹出一个新框,点击SSH,在"Remote host"中输入IP地址,然后点OK就行
      在这里插入图片描述

    • 接下来可以输入用户和密码
      在这里插入图片描述

    • 传输文件只需把本地的文件挪到左侧的文件目录里就行
      在这里插入图片描述

hadoop完全分布式

安装jdk

  • 在/opt下创个文件夹存放安装包

    mkdir download
    
  • 先把jdk压缩文件放到download下

  • 解压jdk压缩文件到当前目录

    tar -zxvf 文件名
    

    解压到其他目录

    tar -zxvf 文件名 -C 目标文件
    
  • 修改环境变量

    vi /etc/profile
    
    “在文件末尾写入”
    ##JAVA_HOME
    export JAVA_HOME=/opt/download/jdk文件名
    export PATH=$PATH:$JAVA_HOME/bin
    
    “退出文件编辑”
    :wq
    
    “重新加载profile文件 在命令行输入”
    source profile
    
  • 检测安装是否成功

    java -version
    

    在这里插入图片描述

安装hadoop

  • 把hadoop安装包导入/opt/download 目录下

  • 解压

    tar -zxvf hadoop包名
    
  • 配置环境变量

    vi /etc/profile
    
    ”在文件末尾写入“
    ##HADOOP_HOME
    export HADOOP_HOME=/opt/download/hadoop包名
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
    “退出文件编辑”
    :wq
    
    重新加载profile文件
    source profile
    
  • 检测安装是否成功

    hadoop version
    

    在这里插入图片描述

修改主机名

  • vi /etc/hostname
    

    修改为
    在这里插入图片描述

    接着在命令行输入

    hostnamectl set-hostname hadoop1
    

    查看主机名,命令行输入

    hostname
    

在这里插入图片描述

  • 添加主机映射

    vi /etc/hosts
    

    在这里插入图片描述

修改hadoop配置文件

  • hadoop的配置文件都放在hadoop安装目录下面etc/hadoop/目录下

     cd /opt/download/hadoop-2.7.2/etc/hadoop/
    

    在这里插入图片描述

    总共有八个需要修改的文件

    hadoop-env.sh

    mapred-env.sh

    yarn-env.sh

    core-site.xml

    hdfs-site.xml

    yarn-site.xml

    mapred-site.xml

    slaves

    但是你会发现没有mapred-site.xml文件,但是会有个mapred-site.xml.template,它是mapred-site.xml文件的模板文件,只需复制一份再重命名一下就行

    cp mapred-site.xml.template mapred-site.xml
    
    • 修改core-site.xml文件

      vi core-site.xml
      
      在<configuration>
      </configuration>中写入配置信息
      
      <property>
      	<name>fs.defaultFS</name>
      	<value>hdfs://hadoop1:9000</value>
      </property>
      <property>
      	<name>hadoop.tmp.dir</name>
      	<value>/opt/download/hadoop-2.7.2/data/tmp</value>
      </property>
      

      在这里插入图片描述

    • 修改hdfs-site.xml

      vi hdfs-site.xml
      
      在<configuration>
      </configuration>中写入配置信息
      
      <property>
      	<name>dfs.replication</name>
      	<value>3</value>
      </property>
      <property>
      	<name>dfs.namenode.secondary.http-address</name>
      	<value>hadoop3:50090</value>
      </property>
      

      在这里插入图片描述

    • 修改yarn-site.xml

      vi yarn-site.xml
      
      在<configuration>
      </configuration>中写入配置信息
      
      <property>
      	<name>yarn.nodemanager.aux-services</name>
      	<value>mapreduce_shuffle</value>
      </property>
      <property>
      	<name>yarn.resourcemanager.hostname</name>
      	<value>hadoop2</value>
      </property>
      

      在这里插入图片描述

    • 修改mapred-site.xml

      vi mapred-site.xml
      在<configuration>
      </configuration>中写入配置信息
      
      <property>
      	<name>mapreduce.framework.name</name>
      	<value>yarn</value>
      </property>
      
      

      在这里插入图片描述

    • 修改hadoop-env.sh

      vi hadoop-env.sh
      配置java路径
      

      在这里插入图片描述

    • 修改yarn-env.sh

      vi yarn-env.sh
      配置java路径
      

      在这里插入图片描述

    • 修改mapred-env.sh

      vi mapred-env.sh
      配置java路径
      

      在这里插入图片描述

    • 修改slaves文件

      vi slaves
      把里面的删掉,然后添加三台主机名
      
      hadoop1
      hadoop2
      hadoop3
      

      在这里插入图片描述

克隆虚拟机

配置文件修改完后,关闭虚拟机,然后克隆虚拟机

鼠标右键点击

在这里插入图片描述

点击管理->点击克隆->下一步->选择创建完整克隆->下一步->选择安装位置

在这里插入图片描述

然后再克隆一台,这样我们就有三台虚拟机了,三台虚拟机的配置都是一样的

配置刚克隆的虚拟机

打开三台虚拟机,进入第二台

  • 修改IP地址

    vi /etc/sysconfig/network-scripts/ifcfg-ens33 
    

    在这里插入图片描述

    重启网卡

    systemctl restart network
    
  • 修改主机名

    vi /etc/hostname
    

在这里插入图片描述

hostnamectl set-hostname hadoop2

接下来进入第三台

和上面一样的操作,只是把IP地址改为192.168.183.12

hostname文件里面改为hadoop3

指令改为

hostnamectl set-hostname hadoop3

设置ssh免密登录

其实也可以不设,但是你群起集群时就会不停的要你输入密码,所有最好我们还是设置免密登录

  • 使用终端连接三台虚拟机

  • 在hadoop1那台机生成公钥和密钥

    在命令行输入

    ssh-keygen -t rsa
    

    然后三次回车,它就会在root目录下生成一个.ssh文件

    在这里插入图片描述
    在这里插入图片描述

    其中以pub为后缀的就是公钥

  • 分发公钥,在命令行输入

    ssh-copy-id hadoop2
    然后输入
    yes
    最后输入hadoop2的密码
    

    在这里插入图片描述

    继续输入

    ssh-copy-id hadoop3
    然后输入
    yes
    最后输入hadoop3的密码
    

    最后也把公钥发给hadoop1

    ssh-copy-id hadoop1
    然后输入
    yes
    最后输入hadoop1的密码
    

    然后在hadoop2和hadoop3重复上面的操作(一模一样的操作)

格式化

在hadoop1的命令行输入

hadoop namenode -format

在这里插入图片描述

只要出现了successfully就是格式化成功了,如果报错了,一般都是配置文件出了问题,它会提示你是那个文件有问题,如下图所示,说明你的core-site.xml文件出现了问题。

在这里插入图片描述

群起集群

在hadoop1上输入

start-dfs.sh

在hadoop2上输入

start-yarn.sh

然后在每台机上输入

jps

hadoop1显示

在这里插入图片描述

hadoop2显示

在这里插入图片描述

hadoop3显示

在这里插入图片描述

这就说明你的Hadoop完全分布式配置成功了

群关集群

每次使用完集群后最好把集群关掉后再关机

在hadoop2输入

stop-yarn.sh

在hadoop1输入

stop-dfs.sh





博主也是第一次写文章,难免会有些遐思,希望大家评论交流
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐