(图文并茂)基于CentOS-7搭建hadoop3.3.6大数据集群

目录

安装虚拟机

为hadoop用户添加权限

关闭防火墙

修改主机名以及ip地址映射

配置静态IP

连接xshell ,以hadoop用户登录

创建目录并将该文件夹权限赋予hadoop用户

安装配置jdk

关闭虚拟机,克隆其他两个节点

修改主机名和ip地址

配置免密登录

安装配置hadoop

配置文件修改

集群初始化

查看进程和web界面


jdk下载地址(tar.gz结尾的)

Java Downloads | Oracle

hadoop下载地址(tar.gz结尾的)

apache-hadoop-core-hadoop-3.3.6安装包下载_开源镜像站-阿里云 (aliyun.com)

安装虚拟机

CentOS-7安装教程-CSDN博客

linux命令不熟悉的可以看这篇

linux常用命令之大数据平台搭建版-CSDN博客

切换为命令行模式

linux图形化界面和字符界面的转换_linux图形界面切换到字符界面命令-CSDN博客

cd646aaeb087402ca06ded19397ec9b7.png

为hadoop用户添加权限

vim   /etc/sudoers

845a1b995cfe4bc39b7fbb457529ee14.png

关闭防火墙

注:(root用户)

systemctl stop firewalld 关闭

54f01e7e2b894c6e9d7ede7dd47c30e9.png

systemctl disable firewalld 取消开机自启动

1726ade7045f4d86b2352c6966e75018.png

systemctl status firewalld 检查是否已关闭

837e54e885ac4aca8543bc04062fdf94.png

修改主机名以及ip地址映射

主机名根据自己需要修改,ip地址后的就是映射的主机名

a93a97270e154ba98017362a8c8af108.png

配置静态IP

9e7ee3d45ddb4521838c88e43f21e1bd.png

点击虚拟网络编辑器,将网段修改为我们需要的网段

bdab7ab43e25442b8a105d299ab2b545.png

b4fda4b4235b4e488f7d7489f79ac873.png

758949ff416d417db1704605d53f5ff5.png

再修改配置文件/etc/sysconf ig/network-scripts/ifcfg-ens33

vim /etc/sysconf ig/network-scripts/ifcfg-ens33

重启网络服务:service network restart 

e639d0a8adb043298965f1cd107bf512.png

然后重启reboot (主机名用配置文件修改需要重启才会生效)

连接xshell ,以hadoop用户登录

fd070e10c56a4be9bf9680e6404cd8ba.png

创建目录并将该文件夹权限赋予hadoop用户

[hadoop@ly01 ~]$ sudo mkdir /opt/bigdata
[hadoop@ly01 ~]$ sudo chown hadoop:hadoop /opt/bigdata

6f864a8cc9044611815b842d4fbc1fe7.png

切换到该目录

[hadoop@ly01 ~]$ cd /opt/bigdata/

安装配置jdk

卸载OpenJDK、安装新版JDK、配置JDK

先用rpm -qa | grep java查看java-openjdk版本

09d4c0869ce840099136029181e84840.png

根据上述情况,卸载1.7.0、1.8.0即可,不同镜像会略有不同

sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64

sudo rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64

sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64

sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64

rz上传jdk文件

[hadoop@ly01 bigdata]$ rz

[hadoop@ly01 bigdata]$ ll
total 135512
-rw-r--r--. 1 hadoop hadoop 138762230 Jul 28  2023 jdk-8u361-linux-x64.tar.gz

解压并重命名为jdk

[hadoop@ly01 bigdata]$ tar -zxvf jdk-8u361-linux-x64.tar.gz 
[hadoop@ly01 bigdata]$ mv jdk1.8.0_361 jdk
[hadoop@ly01 bigdata]$ ll
total 135516
drwxrwxr-x. 8 hadoop hadoop      4096 May 16 00:05 jdk

配置环境变量

 vim /etc/profile

在最后添加以下内容

export JAVA_HOME=/opt/bigdata/jdk
export PATH=$PATH:$JAVA_HOME/bin

使修改后配置文件生效 

[hadoop@ly01 bigdata]$ source /etc/profile

 检查是否安装成功

[hadoop@ly01 bigdata]$ java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

关闭虚拟机,克隆其他两个节点

5f5dd9e5a9774c07808a82da91f5c3bc.png

80356876b94f416daa9f79e0374d8026.png

c43e8343769a45dcbfc84bfb5b0954ea.png

修改主机名和ip地址

节点2和3都需修改,修改之后重启reboot

sudo vim /etc/hostname 

vim /etc/sysconf ig/network-scripts/ifcfg-ens33

配置免密登录

重启之后通过xshell连接三个节点,均以hadoop用户登录

在每个节点都执行以下命令

ssh-keygen  -t  rsa  (连续三次回车)
ssh-copy-id  ly01   (输入yes,hadoop用户的密码)
ssh-copy-id  ly02    (输入yes,hadoop用户的密码)
ssh-copy-id  ly03    (输入yes,hadoop用户的密码)

f9a0f7c21fd046d78bfa4fe03329097c.png

可在节点1ssh 连接其他节点测试是否成功

安装配置hadoop

切换目录,rz上传hadoop文件并解压,重命名

[hadoop@ly01 ~]$ cd /opt/bigdata/
[hadoop@ly01 bigdata]$ rz

[hadoop@ly01 bigdata]$ tar -zxvf hadoop-3.3.6.tar.gz
[hadoop@ly01 bigdata]$ mv hadoop-3.3.6 hadoop

 配置环境变量

[hadoop@ly01 bigdata]$ sudo vim /etc/profile

#修改为以下内容
export JAVA_HOME=/opt/bigdata/jdk
export HADOOP_HOME=/opt/bigdata/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

#生效
[hadoop@ly01 bigdata]$ source /etc/profile

配置文件修改

将hadoop-env.sh mapred-env.sh yarn-env.sh 加入JAVA_HOME变量

[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/hadoop-env.sh
[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/mapred-env.sh
[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/yarn-env.sh

切换目录

[hadoop@ly01 bigdata]$ cd /opt/bigdata/hadoop/etc/hadoop
[hadoop@ly01 hadoop]$ 

节点名称按照自己的修改,文件目录不一样的话也要修改!!!

 core-site.xml修改

<configuration>
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ly01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp</value>
    </property>
</configuration>

 hdfs-site.xml修改

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

 mapred-site.xml修改

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 yarn-site.xml修改

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>ly01</value>
    </property>
</configuration>

 workers修改

#删除原有内容,添加节点名称
ly01
ly02
ly03

 将节点1上的hadoop文件夹拷贝到另外节点2、节点3上、

[hadoop@ly01 hadoop]$ scp -r /opt/bigdata/hadoop/ hadoop@ly02:/opt/bigdata/
[hadoop@ly01 hadoop]$ scp -r /opt/bigdata/hadoop/ hadoop@ly03:/opt/bigdata/

将节点1上的profile文件拷贝到另外节点2、节点3上,并到相应的机器上执行source

注:输入yes后输入root用户密码即可,如下

[hadoop@ly01 hadoop]$ sudo scp /etc/profile root@ly02:/etc
The authenticity of host 'ly02 (192.168.100.101)' can't be established.
ECDSA key fingerprint is SHA256:g8y2CV35sHBpQEFYDXbO3dosU8UF4bABd3O0O3rPgDw.
ECDSA key fingerprint is MD5:b0:ee:6e:25:e1:f2:f4:c9:3f:1a:e9:18:44:d2:a1:84.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ly02,192.168.100.101' (ECDSA) to the list of known hosts.
root@ly02's password: 
profile                                                                                                                                                             100% 1961     1.1MB/s   00:00 
[hadoop@ly01 hadoop]$ sudo scp /etc/profile root@ly03:/etc
The authenticity of host 'ly03 (192.168.100.102)' can't be established.
ECDSA key fingerprint is SHA256:g8y2CV35sHBpQEFYDXbO3dosU8UF4bABd3O0O3rPgDw.
ECDSA key fingerprint is MD5:b0:ee:6e:25:e1:f2:f4:c9:3f:1a:e9:18:44:d2:a1:84.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ly03,192.168.100.102' (ECDSA) to the list of known hosts.
root@ly03's password: 
profile                                                                                                                                                             100% 1961     1.0MB/s   00:00    
[hadoop@ly01 hadoop]$ 
#在节点2执行
[hadoop@ly02 ~]$ source /etc/profile
#在节点3执行
[hadoop@ly03 ~]$ source /etc/profile

集群初始化

hadoop namenode -format

570ba8ffb6504e79af8d8009fd835cea.png

启动hadoop集群

start-yarn.sh
start-dfs.sh

 jps查看进程

节点1(主节点)

[hadoop@ly01 hadoop]$ jps
2567 ResourceManager
3498 DataNode
3661 SecondaryNameNode
3390 NameNode
4334 NodeManager
4415 Jps

从节点(都是三个进程)

[hadoop@ly02 hadoop]$ jps
2761 Jps
2698 NodeManager
2493 DataNode

查看进程和web界面

192.168.100.100:8088

d6ed287ec37b4cc28606e6f763ac16da.png

192.168.100.100:9870

3f94418cd928419a973105272af281bb.png

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴为您提供CentOS 7搭建Hadoop 3.3.集群的手记。 1. 安装Java 首先,需要安装Java。可以使用以下命令安装OpenJDK 8: sudo yum install java-1.8.-openjdk-devel 2. 下载Hadoop 下载Hadoop 3.3.版本,并将其解压缩到/opt目录下: sudo tar -xzf hadoop-3.3..tar.gz -C /opt 3. 配置Hadoop 进入Hadoop目录并编辑hadoop-env.sh文件: cd /opt/hadoop-3.3. sudo nano etc/hadoop/hadoop-env.sh 将JAVA_HOME设置为Java安装路径: export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk 编辑core-site.xml文件: sudo nano etc/hadoop/core-site.xml 添加以下内容: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:900</value> </property> </configuration> 编辑hdfs-site.xml文件: sudo nano etc/hadoop/hdfs-site.xml 添加以下内容: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-3.3./data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-3.3./data/datanode</value> </property> </configuration> 编辑mapred-site.xml文件: sudo cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml sudo nano etc/hadoop/mapred-site.xml 添加以下内容: <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 编辑yarn-site.xml文件: sudo nano etc/hadoop/yarn-site.xml 添加以下内容: <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> 4. 启动Hadoop 格式化Hadoop文件系统: sudo bin/hdfs namenode -format 启动Hadoop: sudo sbin/start-all.sh 5. 验证Hadoop 在浏览器中访问http://localhost:987/,可以看到Hadoop集群的状态。 在Hadoop集群中创建一个目录: sudo bin/hdfs dfs -mkdir /test 在Hadoop集群中上传一个文件: sudo bin/hdfs dfs -put etc/hadoop/core-site.xml /test 在Hadoop集群中查看文件: sudo bin/hdfs dfs -ls /test 以上就是CentOS 7搭建Hadoop 3.3.集群的手记,希望对您有所帮助。 ### 回答2: 本篇文章主要介绍了如何在CentOS7系统上搭建Hadoop-3.3.0的集群,并在这个过程中遇到的一些问题和解决方案。 一、环境准备 操作系统:CentOS7 JDK版本:1.8.0_282 Hadoop版本:hadoop-3.3.0.tar.gz(可自行到官网下载) 二、系统设置 1、关闭防火墙 因为Hadoop集群需要互相通信和数据传输,所以需要关闭系统的防火墙,以避免互相之间的阻拦。 systemctl stop firewalld systemctl disable firewalld 2、设置hostname 为了方便节点之间的通信,需要给每个节点设置一个唯一的hostname。可以通过以下命令设置: hostnamectl set-hostname <hostname> 三、安装 JDK Hadoop运行依赖于JDK,需要先安装JDK。这里默认已经安装了openjdk-1.8.0_282版本,因此就不再重复说明了。如果您还没有安装JDK,可以通过以下命令进行安装: yum install java-1.8.0-openjdk-devel.x86_64 四、安装 Hadoop 1、解压缩 Hadoop 将下载好的hadoop-3.3.0.tar.gz复制到/opt/目录下,并解压缩: tar -zxvf hadoop-3.3.0.tar.gz 2、配置Hadoop环境变量 配置Hadoop环境变量,可以方便我们在任何地方都能够使用hadoop相关命令。在/etc/profile.d/目录下创建一个hadoop.sh文件,输入以下内容: export HADOOP_HOME=/opt/hadoop-3.3.0 export PATH=$HADOOP_HOME/bin:$PATH 最后执行以下命令,让环境变量生效: source /etc/profile 3、配置Hadoop 进入hadoop-3.3.0目录下,修改etc/hadoop/hadoop-env.sh文件,将JAVA_HOME指向正确的JDK目录: export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 接下来修改etc/hadoop/core-site.xml文件,添加以下配置: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://<NameNode_IP>:9000</value> </property> </configuration> 其中,NameNode_IP需要替换为NameNode的IP地址。 修改etc/hadoop/hdfs-site.xml文件,添加以下配置: <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hdfs/datanode</value> </property> <property> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> </configuration> 其中,dfs.replication表示副本数,dfs.namenode.name.dir表示NameNode元数据的存放路径,dfs.datanode.data.dir表示DataNode数据的存放路径,dfs.namenode.datanode.registration.ip-hostname-check设置为false表示关闭IP和hostname的检查,否则可能会导致节点无法正常注册。 最后,在etc/hadoop/mapred-site.xml和etc/hadoop/yarn-site.xml文件中添加以下内容: mapred-site.xml: <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> yarn-site.xml: <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 五、配置ssh免密登录 在Hadoop集群中,各个节点之间需要相互通信,并且需要使用ssh远程登录操作。为了方便操作,可以实现ssh免密登录,即在各个节点之间可以直接相互访问而无需输入密码。具体实现步骤如下: 1、在每个节点上生成公钥和私钥 ssh-keygen -t rsa 2、将公钥拷贝到各个节点上 ssh-copy-id -i ~/.ssh/id_rsa.pub <hostname> 其中,<hostname>需要替换成对应节点的hostname。 3、测试是否成功 ssh <hostname> 如果可以直接登录而无需输入密码,则表示ssh免密登录配置成功。 六、启动Hadoop集群 1、启动Hadoop 首先需要启动NameNode和DataNode,使用以下命令启动: hadoop-daemon.sh start namenode hadoop-daemon.sh start datanode 然后启动ResourceManager和NodeManager,使用以下命令启动: yarn-daemon.sh start resourcemanager yarn-daemon.sh start nodemanager 启动成功后使用jps命令查看进程,看是否启动正常。 2、验证Hadoop 在启动Hadoop集群之后,可以通过以下命令验证是否正常: hadoop fs -mkdir /test hadoop fs -ls / 如果命令执行没有报错,则表示Hadoop集群启动成功并且在操作系统上正常运行。 以上便是在CentOS7系统上搭建Hadoop-3.3.0集群的过程。在实际操作中可能还会遇到一些其他的问题,需要我们不断的尝试和调试。相信通过这篇文章,读者可以对Hadoop的安装和配置有更深入的理解,并可以顺利搭建自己的Hadoop集群。 ### 回答3: CentOS 7是一种广泛使用的Linux操作系统,用于服务器和桌面应用程序。Hadoop是一个开源的分布式计算框架,专门用于处理大规模数据。在本文中,将介绍如何在CentOS 7上安装Hadoop 3.3.0,并建立Hadoop集群。 1. 安装Java 由于Hadoop是使用Java编写的,因此必须首先在系统上安装Java。可以使用以下命令来安装Oracle Java: ```shell $ sudo yum install java-1.8.0-openjdk-devel ``` Java将安装在`/usr/lib/jvm/java-1.8.0-openjdk`目录中。 2. 配置DNS 为了更好地管理Hadoop集群,可以将每个节点的IP地址映射到相应的主机名。可以在/etc/hosts文件中添加这些条目。例如,假设存在以下主机: - 192.168.1.10:master - 192.168.1.11:slave1 - 192.168.1.12:slave2 可以在每个节点上编辑/etc/hosts文件,添加以下内容: ```shell 192.168.1.10 master 192.168.1.11 slave1 192.168.1.12 slave2 ``` 3. 安装Hadoop 可以从Hadoop官方网站下载Hadoop二进制文件,或者使用以下命令下载并解压缩最新版本: ```shell $ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz $ tar -xzvf hadoop-3.3.0.tar.gz -C /opt ``` Hadoop将解压缩到/opt/hadoop-3.3.0目录中。 4. 配置Hadoop 接下来需要配置Hadoop。可以在/opt/hadoop-3.3.0/etc/hadoop目录中找到所有Hadoop配置文件。必须编辑以下文件: - core-site.xml - hdfs-site.xml - mapred-site.xml - yarn-site.xml 第一个文件是core-site.xml。在每个节点上打开此文件,并添加以下配置: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000/</value> </property> </configuration> ``` 第二个文件是hdfs-site.xml。在每个节点上打开此文件,并添加以下配置: ```xml <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-3.3.0/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-3.3.0/data/datanode</value> </property> </configuration> ``` 第三个文件是mapred-site.xml。在每个节点上打开此文件,并添加以下配置: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 最后一个文件是yarn-site.xml。在每个节点上打开此文件,并添加以下配置: ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> ``` 5. 配置SSH 为了在集群节点之间进行通信,必须配置SSH。可以使用以下命令在每个节点上安装SSH客户端和服务器: ```shell $ sudo yum install openssh-server openssh-clients ``` 要在所有节点上免密码认证,必须使用以下命令生成SSH秘钥: ```shell $ ssh-keygen -t rsa ``` 按照默认设置创建SSH秘钥对,并在使用此命令的过程中将公共SSH秘钥添加到所有节点上的~/.ssh/authorized_keys文件中: ```shell $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 6. 启动Hadoop 现在,可以在集群节点上启动Hadoop。首先要格式化NameNode: ```shell $ /opt/hadoop-3.3.0/bin/hdfs namenode -format ``` 然后,在master节点上启动Hadoop: ```shell $ /opt/hadoop-3.3.0/sbin/start-all.sh ``` 这将启动Hadoop集群中的所有节点。可以在每个节点上检查日志,以确保节点正在正确运行: ```shell $ tail -f /opt/hadoop-3.3.0/logs/*.log ``` 7. 使用Hadoop 现在,可以在Hadoop集群上运行MapReduce作业。可以使用Hadoop的example程序来运行简单的MapReduce任务。例如,可以使用以下命令来运行wordcount程序: ```shell $ /opt/hadoop-3.3.0/bin/hadoop jar /opt/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount input output ``` 该命令将从input目录中读取数据,并将结果写入output目录。可以使用以下命令查看输出: ```shell $ /opt/hadoop-3.3.0/bin/hdfs dfs -cat output/* ``` 以上是搭建Hadoop集群的基本步骤,如果需要实现更复杂的功能,可以在这些基本步骤的基础上进行进一步的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值