Hadoop集群完全分布式搭建(详细版)

环境准备

jdk版本:jdk1.8.0_211

hadoop版本:Hadoop3.3.6

操作系统:CentOS7

存放目录

使用xftp8连接虚拟机ip,上传本地文件到虚拟机里,直接拖拽容易缺少文件

jdk压缩包:opt/jdk-8u211-linux-x64.tar.gz

hadoop压缩包:opt/hadoop-3.3.6.tar.gz

jdk解压:/opt

Hadoop解压:/opt

/opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

/usr:系统级的目录,可以理解为C:/Windows/。
/usr/lib:理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

网络规划

主机名

IP地址

master

192.168.10.100

slave1

192.168.10.101

slave2

192.168.10.102

虚拟机IP配置

一、IP配置-master

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

电脑右上角insert按键修改文件内容

修改完成按左上角esc退出,输入:wq保存并退出

二、jdk配置

1.解压jdk

tar -zxvf /opt/jdk-8u211-linux-x64.tar.gz -C /opt/

2.修改/etc/profile文件

vi /etc/profile

电脑instert按键可以编辑内容,文件最下方

export JAVA_HOME=/opt/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin

按电脑左上角esc退出,输入:wq保存并退出

刷新环境变量

source /etc/profile

查看环境变量是否配置成功

java -version

java配置版本不一致

出现java版本和配置不一致,一般是系统自带的jdk,删除jdk-openXXX-XXX就可以了,最后要再刷新一下环境变量

查询所有跟Java相关的安装的rpm包

rpm -qa | grep java

删除系统其他jdk版本

rpm -e --nodes XXX

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64
 
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64

卸载完重新刷新环境变量

java -version

二、hadoop集群搭建

1. 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.添加ip映射

vi /etc/hosts

 在/etc/hosts的末尾添加

192.168.10.100 master
192.168.10.101 slave1
192.168.10.102 slave2

3.克隆机配置

3.1克隆两台

关机状态下才能克隆master

同样的再创建一个slave2

3.2修改主机名

root登录开启三台虚拟机,修改三个节点的/etc/hosts文件,三台机器分别执行以下语句

master:

hostnamectl set-hostname master

slave1:

hostnamectl set-hostname salve1

slave2:

hostnamectl set-hostname slave2

所有虚拟机全部执行reboot重启

3.3修改克隆机IP

slave1和slave2分别执行

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

把IPADDR修改为192.168.10.101和192.168.10.102

4.配置免密登录

ssh-keygen -t rsa

把公钥复制到各个节点,第一次登陆会让输入密码

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

查看免密登录是否成功

ssh slave1

exit回到master节点

5.修改Hadoop配置文件

解压文件

tar -zxvf /opt/hadoop-3.3.6.tar.gz -C /opt
cd /opt/hadoop-3.3.6/etc/hadoop

配置Hadoop环境变量

vi /etc/profile
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

测试Hadoop环境变量是否成功

source /etc/profile

hadoop version

5.1hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_211

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
5.2core-site.xml

vi core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-3.3.6</value>
    </property>
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
    <property>
    	<name>hadoop.proxyuser.root.hosts</name>
    	<value>*</value>
    </property>
    <property>
   	<name>hadoop.proxyuser.root.groups</name>
    	<value>*</value>
    </property>
    <property>
   	<name>fs.trash.interval</name>
    	<value>1440 </value>
    </property>
</configuration>
5.3hdfs-site.xml
<configuration>
<property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
        <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:9868</value>
    </property>
</configuration>
5.4mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>master:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>master:19888</value>
        </property>
</configuration>
5.5yarn-site.xml
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
    </property>
    <property>
            <name>yarn.nodemanager.vpmem-check-enabled</name>
            <value>false</value>
    </property>
    <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
    </property>
    <property>  
            <name>yarn.log.server.url</name>
            <value>http://master:19888/jobhistory/logs</value>
    </property>
    <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>604800</value>
    </property>
</configuration>
5.6workers
vi workers

将localhost改为

6.文件分发

分发jdk安装目录

scp -r /opt/jdk1.8.0_211 root@slave1:/opt/
scp -r /opt/jdk1.8.0_211 root@slave2:/opt/

分发hadoop安装目录

scp -r /opt/hadoop-3.3.6 root@slave1:/opt/
scp -r /opt/hadoop-3.3.6 root@slave2:/opt/

分发环境变量

scp /etc/profile root@slave1:/etc
scp /etc/profile root@slave2:/etc

在slave1、slave2中使用source /etc/profile命令初始化系统环境变量

7.启动集群

首次启动集群需要先格式化 NameNode 节点

在master上执行

hdfs namenode -format

启动集群

start-dfs.sh
start-yarn.sh

或者直接启动start-all.sh

三台节点jps查看

网页界面

本地浏览器中查看 Hadoop web 界面:192.168.10.100:9870

192.168.10.100:8088

集群关闭

stop-all.sh

OK!!!waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值