进击Hadoop3:VMware上搭建hadoop3.1.1服务器Centos7集群,并设置SSH免密登录。

一、集群规划

    集群节点为1个NameNode,1个SecondaryNameNode,3个DataNode,如下表如示:

      NameNode,SecondaryNameNode:

NameNode:(192.168.187.201)
组件 版本 安装包路径
jdk 1.8.0_191 /usr/local/java/
hadoop 3.1.1 /usr/local/hadoop/
SecondaryNameNode:(192.168.187.202)
组件 版本 安装包路径
jdk 1.8.0_191 /usr/local/java/
hadoop 3.1.1 /usr/local/hadoop/

      DataNode:

DataNode:(192.168.187.202,192.168.187.203,192.168.187.204)
组件 版本 安装包路径
jdk 1.8.0_191 /usr/local/java/
hadoop 3.1.1 /usr/local/hadoop/

二、安装包下载

hadoop-3.1.1.tar.gz
jdk-8u191-linux-x64.rpm
 

三、服务器设置

1、主机名修改

    hostnamectl --static set-hostname node01
    hostnamectl --static set-hostname node02
    hostnamectl --static set-hostname node03
    hostnamectl --static set-hostname node04

同时修改四个主机的/etc/hosts文件,增加以下四条:

    192.168.187.201 node01
    192.168.187.202 node02
    192.168.187.203 node03
    192.168.187.204 node04

2、防火墙设置


    如主机中未安装iptables,在四个主机中执行以下命令安装:

    yum install iptables-services

扫描二维码关注公众号,回复: 6008037 查看本文章

    执行iptables -L -n -v命令可以查看iptables配置,执行以下命令永久关闭四个主机的iptables:

    chkconfig iptables off

    同时关闭四个主机的iptables和firewalld并设置开机不启动,执行以下命令:

    systemctl stop iptables
    systemctl disable iptables
    systemctl stop firewalld
    systemctl disable firewalld

    执行systemctl status iptables和systemctl status firewalld可以查看防火墙已经关闭。
 

3、时钟同步


    执行以下命令安装ntpdate:

    yum install ntpdate

    执行以下命令同步时针:

    ntpdate us.pool.ntp.org

    添加时针同步的定时任务,执行如下命令:

    crontab -e

    输入如下内容,每天凌晨5点同步时针:

    0 5 * * * /usr/sbin/ntpdate cn.pool.ntp.org

    执行如下命令重启服务并设置开机自启:

    service crond restart
    systemctl enable crond.service

 

4、SSH免密登录


    在四个主机中执行如下两条命令生成密钥和公钥文件,并添加到认证文件中:

    ssh-keygen -t rsa
    cat id_rsa.pub >> authorized_keys

    合并四个主机的认证文件,如图:

    在四个主机中,执行如下任意命令,可登录到其他主机:

    ssh root@node01
    ssh root@node02
    ssh root@node03
    ssh root@node04

    登录到其他主机后,可执行exit返回主机。
 

四、安装并配置JDK

在hadoop2系列有

五、安装并配置hadoop


    下载hadoop 3.1.1,将其解压到/usr/local/hadoop。执行如下命令:

    mkdir -p /usr/local/hadoop
    tar -zxvf hadoop-3.1.1.tar.gz

    同时创建hadoop相关配置目录:

    mkdir -p /data/hadoop/hdfs/name /data/hadoop/hdfs/data /var/log/hadoop/tmp

    添加环境变量,编辑配置文件/etc/profile

    export JAVA_HOME=/usr/java/default
    export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.1
    export PATH=$PATH:JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    配置后,执行source /etc/profile使配置生效

    接下来配置hadoop配置文件:

1、/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/hadoop-env.sh

   配置jdk和hadoop根目录

export JAVA_HOME=/usr/java/default
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.1
HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

2、/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/yarn-env.sh

    配置jdk根目录

export JAVA_HOME=/usr/java/default

3、/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/workers

    配置DataNode节点

node02
node03
node04

4、/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/core-site.xml

    指定hdfs的nameservice,指定hadoop临时目录

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://node01:9820</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/var/log/hadoop/tmp</value>
        </property>
</configuration>

5、/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/hdfs-site.xml

    配置NameNode和SecondaryNameNode和文件目录,配置hdfs的文件副本数

<configuration>
        <property>
                <name>dfs.namenode.secondary.http.address</name>
                <value>node02:9868</value>
        </property>

    	<property>
		    <name>dfs.namenode.name.dir</name>
	    	<value>/data/hadoop/hdfs/name</value>
	    </property>

	    <property>
		    <name>dfs.datanode.data.dir</name>
		    <value>/data/hadoop/hdfs/data</value>
	    </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
</configuration>

一台hadoop配置好了后即可做分发(部分代码):

scp jdk-8u191-linux-x64.rpm root@node04:/usr/local/java

scp -r hadoop-3.1.1 root@node04:/usr/local/hadoop

六、启动hadoop

    全部操作暂时只需要操作node01
    格式化hdfs,执行如下命令:

    hdfs namenode -format

    启动hadoop

    start-dfs.sh

    执行jps可以查看节点中启动的NameNode、SecondaryNameNode、DataNode。

    执行stop-all.sh脚本可以停止hadoop。

    至此,hadoop集群已经搭建并启动。

参考:

https://blog.csdn.net/weixin_40096730/article/details/83718966

https://blog.csdn.net/sealir/article/details/81953727

猜你喜欢

转载自blog.csdn.net/weixin_40096730/article/details/88692579