0


Hadoop的集群搭建

Hadoop的集群搭建

Linux环境下Hadoop的集群搭建过程

我使用的是Hadoop3.1.1版本,连接https://archive.apache.org/dist/hadoop/common/,在这里可以找到所有的Hadoop版本,JDK使用的是1.8,我在阿里云上租了五台服务器,具体怎么租可以字型搜索,几毛钱一个小时,不用按小时,按抢占式就可以满足需求,后期如果有需要会专门出一个教程。设备使用的ubuntu14.0

配置Java环境

我在opt目录下创建了两个文件夹,一个是software,用来存放一些安装包,一个是module用来存放一个。

cd opt
mkdir software
mkdir module

然后利用xftp将下载好的jdk上传到software目录下,然后将其解压到module目录下。

root@node1:/opt/software# tar -zxvf jdk-8u401-linux-x64.tar.gz -C /opt/module

解压后,需要配置java环境变量。

vim /etc/profile

添加java的安装路径,JAVA_HOME需要是你自己的安装路径

#JAVA_ENVIRONMENT
export JAVA_HOME=/opt/module/jdk1.8.0_401
export PATH=$JAVA_HOME/bin:$PATH

配置完成后记得重新运行一下配置文件

source /etc/profile

最后检查是否安装成功

java  -version

显示如下表示配置成功
在这里插入图片描述

Hadoop环境变量配置

然后利用xftp将下载好的hadoop3.1.1.tar.gz上传到software目录下,然后将其解压到module目录下。

root@node1:/opt/software# tar -zxvf hadoop3.1.1.tar.gz -C /opt/module

解压后,需要配置Hadoop环境变量。

vim /etc/profile

添加Hadoop的安装路径,HADOOP_HOME需要是你自己的安装路径

#HADOOP_ENVIRONMENT
export HADOOP_HOME=/opt/module/hadoop-3.1.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

配置完成后记得重新运行一下配置文件

source /etc/profile

最后检查是否安装成功

hadoop version

显示如下表示配置成功
在这里插入图片描述

创建分发脚本

为了让其他机器都具备一样的环境,我们可以编写一个分发脚本,让其他机器与第一台机器同步,
我在/opt/moudle文件夹下创建了一个xsync脚本

root@node1:/opt# cd module/
root@node1:/opt/module# vim xsync

具体内容如下:

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in node1 node2 node3 node4 node5 node6
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送

    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

其中node1、node2、node3等代表着其他机器,使用域名映射地址。需要将脚本放在一个所有用户都可以访问的目录中,通常是系统路径的一部分,利用bin目标中。

cp xsync /bin/

这样以来就可以全局的使用该脚本。

配置其他机器

在配置每台机器之前需要修改主机名。

vim /etc/hostname
node2

同时需要修改域名映射,ip地址和主机名要一一对应。

vim /etc/hosts
ip地址 主机名
192.168.1.10 node1
192.168.1.11 node2
192.168.1.12 node3

修改完hosts文件后利用xync脚本将hosts文件分发到每个机器下。

想要其他机器之间互通,需要配置免密登录
在这里插入图片描述输入以下命令,获取免密登录,每台机器上都要这样配置。

cd .ssh
ssh-keygen -t rsa
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
ssh-copy-id node4
ssh-copy-id node5

然后利用xsync将hadoop-3.1.1、JDK1.8、profile和xsync分发到其他机器上。

xsync /opt/module
xsync /etc/profile

配置集群核心文件

hadoop-env.sh 是 Hadoop 配置文件中的一个重要组成部分,主要负责设置 Hadoop 运行所需的环境变量。这个脚本文件在 Hadoop 启动时会被执行,以确保正确的环境配置。
hadoop-env.sh

export JAVA_HOME=/home/ncsgroup/java
export HADOOP_HOME=/home/ncsgroup/zrshen/hadoop-3.1.1
export HDFS_NAMENODE_USER=ncsgroup        # replace "ncsgroup" with your username
export HDFS_DATANODE_USER=ncsgroup
export HDFS_SECONDARYNAMENODE_USER=ncsgroup
export YARN_RESOURCEMANAGER_USER=ncsgroup
export YARN_NODEMANAGER_USER=ncsgroup

core-site.xml

<configuration>
<property><name>fs.defaultFS</name><value>hdfs://192.168.10.51:9000</value></property>
<property><name>hadoop.tmp.dir</name><value>/home/ncsgroup/zrshen/hadoop-3.1.1</value></property>
</configuration>

hdfs-site.xml

  <configuration>
  <property><name>dfs.replication</name><value>1</value></property>
  <property><name>dfs.blocksize</name><value>67108864</value></property>
  </configuration>

worker

node2
node3
node4
node5

注意,这里我们仅仅配置HDFS相关的配置,如果需要使用mapreduce和yarn,请自行搜索相关配置。
在启动之前需要格式化namenode,hdfs namenode -formart
群启集群/群停集群
start-dfs.sh/stop-dfs.sh
使用jps查看集群是否启动成功。
如果在后来更换了节点,需要删除hadoop-3.1.1下面的data和logs文件


本文转载自: https://blog.csdn.net/weixin_42014594/article/details/139057371
版权归原作者 鲸落whale0 所有, 如有侵权,请联系我们删除。

“Hadoop的集群搭建”的评论:

还没有评论