利用centOS从零开始搭建Hadoop集群教程 | 青训营笔记

207 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

Hadoop集群配置实战,干活满满,适合刚刚入门大数据的小伙伴以及对大数据集群搭建感兴趣的人群,欢迎大家一起来学习集群的搭建~

touxiang.jpg

1.安装软件

  • 1.首先安装好centOS的镜像文件,我选择的是centOS7镜像文件,在官网上下载即可。 官网下载链接:isoredirect.centos.org/centos/7/is… step1: 进入下载页,选择阿里云站点进行下载阿里云站点:mirrors.aliyun.com/centos/7/is… 每个链接都包括了镜像文件的地址、类型及版本号等信息。

  • 2.在VaWarm的编辑中打开虚拟网络编辑器,选择NAT模式,查看自己的子网IP地址和子网掩码: image.png

  • 3.下载jdk-8u281-linux-x64.rpm(java的开发环境)和hadoop-3.3.3.tar.gz,给出下载地址Oracle JDK 8u281全平台安装包下载 - 码霸霸 (lupf.cn)下载较快(笔者自己搜索的资源,读者也可以自己查询)官网下载非常慢

关于Hadoop找到了清华大学的镜像站下载很快
清华大学镜像站:稳定版本的mirrors.tuna.tsinghua.edu.cn/[apache](so.csdn.net/so/search?q…

image.png

下载完成后可以利用Xftp进行文件的copy

2.安装虚拟机

在安装首先,对于大数据集群提前进行主机名、IP地址、主次服务的规划:

  •     node01 :192.168.88.80 NN DN
    
  •     node02 :192.168.88.81 DN
    
  •     node03 :192.168.88.82 DN SN
    

其中安装第一台机器时(之后的两台机器克隆就好),建议在安装时就指定主机名,IP地址根据自己的局域网情况填写。

image.png image.png

3.系统准备

1、常用软件工具的安装

- sudo yum install net-tools

- sudo yum install vim

- sudo vim /etc/vimrc //打开vim 修改vim编辑器中的TAb 的值为4

- set ts=4

2、系统准备:

2.1、关闭防火墙

         sudo systemctl stop firewalld.service</p>
         
         sudo systemctl disable firewalld.service</p>

2.2、关闭selinux

         sudo vim /etc/selinux/config
         修改为 SELINUX=disabled

2.3、源码环境准备

在家目录下,创建soft目录,拷贝jdk的rpm包和hadoop的tar包
2.3.1、解压环境包
    sudo rpm -ivh jdk-8u281-linux-x64.rpm
    sudo tar -zxvf hadoop-2.3.3.tar.gz -C /opt/
2.3.2、添加hadoop环境变量
        sudo vim /etc/profile.d/hdfs.sh
        export HADOOP_HOME=/opt/hadoop-3.3.3
        export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
        source /etc/profile  
2.3.3、改变hadoop文件权限
    cd /opt
    sudo chown -R (你的用户名):(你的用户名) /opt/hadoop-3.3.3
2.3.4、创建HDFS的NN和DN工作主目录
    sudo mkdir /var/big_data
    sudo chown -R huser:huser /var/big_data

3、hadoop系统配置

本内容主要针对Hadoop的配置文件进行修改,修改原则和最开始的服务搭建要一致
进入/opt/hadoop-2.7.1/etc/hadoop目录
3.1、为Hadoop提供JAVA解释器路径信息,主要目的是解决远程访问hadoop时候JAVA_HOME无法继承的问题
    vim hadoop-env.sh
        export JAVA_HOME=/usr/java/default
3.2、为Yarn任务、资源管理器提供Java运行环境
    vim yarn-env.sh
        export JAVA_HOME=/usr/java/default
3.3、配置HDFS主节点信息、持久化和数据文件的主目录
    vim core-site.xml
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node01:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/var/big_data</value>
        </property>
3.4、配置HDFS默认的数据存放策略
    vim hdfs-site.xml
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node03:50090</value>
        </property>
    3.5、配置mapreduce任务调度策略
    vim mapred-site.xml	
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    3.6、配置Yarn资源管理角色的信息
    vim yarn-site.xml
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>node01</value>
        </property>
    3.7、配置datanode节点信息
        vim slaves
        node01
        node02
        node03

4、提前准备主机名解析文件,为后面的克隆机器做好准备(可选,若不做,克隆后为每台机器重新添加亦可)

    sudo vim /etc/hosts
    192.168.88.80  node01
    192.168.88.81  node02
    192.168.88.82  node03
    注意屏蔽或删除上面的127.0.0.1的信息

重启 :sudo reboot

5、克隆其他集群信息 关闭机器,准备克隆

    克隆后,修改node02、node03的IP和主机名
    sudo vim /etc/sysconfig/networ-scripts/ifcfg-ens33
    sudo vim /etc/hostname

image.png

6、下面开始配置集群的ssh免密

在3台机器上执行产生自己的公钥:

ssh-keygen -t rsa

按照默认值回车确定

image.png

查看自己的公匙

image.png 将每台机器的公钥拷贝给每台机器,注意下面的指令要求3台机器都要执行:

        ssh-copy-id node01
        ssh-copy-id node02
        ssh-copy-id node03

通过使用命令ssh node02 可以查看node01和node03都可以远程无密码登陆其他服务器.

image.png

7、格式化hdfs

hdfs namenode -format

查看目录下的文件:

ls /var/big_data/dfs/name/current/

开启集群:

start-dfs.sh

image.png

恭喜你。到这里你的Hadoop集群就搭建完毕啦~由于笔者也是小白,经验不足,文章要是有什么错误的地方,请大家谅解,欢迎批评指正。最后耗时半天,终于搭建完成了自己的第一次集群,记录一下。

R-C (1).jpg