Hadoop 集群部署

版本说明

Centos: CentOS-7-x86_64-DVD-2009

JDK: jdk-8u291-linux-x64

Hadoop: hadoop-2.7.7

1. 准备工作

  1. 设置静态IP
  2. 关闭防火墙
  3. 安装JDK
  4. 配置环境变量
  5. 服务器克隆
  6. 修改主机名
  7. 设置IP和主机名映射
  8. SSH免密登录

1.1 设置静态IP

1️⃣ Step1:在 VMware中网络配置为NAT模式,查看网关地址,编辑 --> 虚拟网络编辑器

image-20211116114020784

2️⃣ Step2:进入网卡配置文件

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

3️⃣ Step3:文件内容如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none   # 网卡启动方式,设置为none或static;若设置为dhcp,则每次重启都将重新分配IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=d37c19ce-6c0b-43ea-ae96-2e378dbc0d28
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.23.11     # 本机IP,前三位与网关一致,第四位不是网关的就行
PREFIX=24
GATEWAY=192.168.23.2     # 网关地址
DNS1=192.168.23.2        # 配成网关地址或114.114.114.114

4️⃣ Step4:修改后重启网络

systemctl restart network

1.2 关闭防火墙

1️⃣ Step1:查看防火墙状态

systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since 二 2021-11-16 12:41:30 CST; 12s ago
     Docs: man:firewalld(1)
 Main PID: 2081 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─2081 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

2️⃣ Step2:关闭防火墙

systemctl stop firewalld

3️⃣ Step3:关闭防火墙开机自启

systemctl disable firewalld

4️⃣ Step4:再一次查看防火墙状态

# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

1.3 安装JDK

1️⃣ Step1:上传压缩包到 Linux 的 opt 目录,使用 XFTP 或 MobaXterm

2️⃣ Step2:查看当前 JDK 压缩包

# ls
jdk-8u291-linux-x64.tar.gz

3️⃣ Step3:解压当前 JDK 压缩包

tar -zxvf jdk-8u291-linux-x64.tar.gz  # 选项的横杠可省略

4️⃣ Step4:更改解压后的文件名

mv jdk1.8.0_291 jdk1.8

1.4 配置环境变量

1️⃣ Step1:打开配置系统环境变量的文件

vim /etc/profile

2️⃣ Step2:添加 JDK 环境变量

export JAVA_HOME=/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH

3️⃣ Step3:更新该文件

source /etc/profile

1.5 服务器克隆

1️⃣ Step1:服务器关机,在 VMware 左侧的列表中右键当前虚拟机,管理 --> 克隆

2️⃣ Step2:克隆出两台,并启动当前服务器及克隆版服务器

1.6 修改主机名

1️⃣ Step1:查看当前服务器主机名

[root@joel ~]# hostname
joel

2️⃣ Step2:修改当前主机名

hostnamectl set-hostname 主机名

3️⃣ Step3:三台全部修改

三我将台主机名分别修改为node1、node2、node3

1.7 设置IP和主机名映射

1️⃣ Step1:设置克隆版服务器的静态 IP,比如:

192.168.23.11  # node1,前三位对应自己的网关
192.168.23.12  # node2
192.168.23.13  # node3

2️⃣ Step2:设置主机名映射,先打卡文件

vim /etc/hosts

3️⃣ Step3:添加 IP 及对应的主机名

192.168.23.11  node1
192.168.23.12  node2
192.168.23.13  node3

4️⃣ Step4:三台都要配置

1.8 SSH免密登录

1️⃣ Step1:删除原有的 .ssh 文件

rm -rf ~/.ssh

2️⃣ Step2:生成新的密钥

ssh-keygen -t rsa  # 一路回车

3️⃣ Step3:分发密钥

ssh-copy-id node1
yes
node1 root密码

ssh-copy-id node2
yes
node2 root密码

ssh-copy-id node3
yes
node3 root密码

4️⃣ Step4:三台都要配置

2. Hadoop 部署

  1. 上传并解压
  2. 修改配置文件
  3. 分发安装包
  4. 配置环境变量
  5. Namenode格式化
  6. 启动集群

2.1 上传并解压

1️⃣ Step1:上传 Hadoop 压缩包至 opt 目录

2️⃣ Step2:解压

tar -zxvf hadoop-2.7.7.tar.gz

3️⃣ Step3:查看解压后的文件

[root@node1 opt]# ls
hadoop-2.7.7  jdk1.8

2.2 修改配置文件

⚠️ 注意:配置文件在 Hadoop 目录的 etc/hadoop 目录中!

1️⃣ Step1:配置 hadoop-env.sh,设置 Java Home

export JAVA_HOME=/opt/jdk1.8

2️⃣ Step2:配置 core-site.xml

<configuration>
  <property>
<!-- 设置Hadoop用来存储数据的目录,设置到Hadoop安装目
录中 -->
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.7.7/data</value>
  </property>
  <property>
<!-- 设置HDFS使用的默认连接url -->
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
  </property>
</configuration>

3️⃣ Step3:配置 hdfs-site.xml

<configuration>
  <property>
 <!-- 配置SecondaryNameNode启动的机器 -->
     <name>dfs.namenode.secondary.http-address</name>
     <value>node3:50090</value>
  </property>
</configuration>

4️⃣ Step4:salves,设置启动 DataNode 服务的节点

node1
node2
node3

2.3 分发安装包

向其他两台服务器分发配置好的安装包

语法格式:scp -rq 本地文件夹 目标主机:目标路径

scp -rq /opt/hadoop-2.7.7  node2:/opt
scp -rq /opt/hadoop-2.7.7  node3:/opt

2.4 配置环境变量

1️⃣ Step1:打开配置系统环境变量的文件

vim /etc/profile

2️⃣ Step2:添加 Hadoop 环境变量

echo export HADOOP_HOME=/opt/hadoop-2.7.7
echo export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

3️⃣ Step3:更新该文件

source /etc/profile

4️⃣ Step4:三台都要配置

2.5 Namenode格式化

只在 node1 中执行一遍

hdfs namenode -format

2.6 启动集群

在 node1 (主节点)中启动集群

start-dfs.sh

结果:

Starting namenodes on [node1]
node1: starting namenode, logging to /opt/hadoop-2.7.7/logs/hadoop-root-namenode-node1.out
node2: starting datanode, logging to /opt/hadoop-2.7.7/logs/hadoop-root-datanode-node2.out
node3: starting datanode, logging to /opt/hadoop-2.7.7/logs/hadoop-root-datanode-node3.out
node1: starting datanode, logging to /opt/hadoop-2.7.7/logs/hadoop-root-datanode-node1.out
Starting secondary namenodes [node3]
node3: starting secondarynamenode, logging to /opt/hadoop-2.7.7/logs/hadoop-root-secondarynamenode-node3.out

3. 写在最后

3.1 查看网页

若启动成功,则可以通过 node1 的 IP + 端口号,在 Win 下访问网页

192.168.23.11:50070 

image-20211116133445778

若想通过node1的主机名代替 IP,则需要在 Win 的 c:\windows\system32\drivers\etc\hosts 添加和 Linux 的 /etc/hosts 中咱们加入内容。

192.128.23.11  node1
192.128.23.12  node2
192.128.23.13  node3

image-20211116134008725

另外,咱们配置50090端口的是node3,那不妨用node3的端口试试。网页内容些许不同

image-20211116134225697

3.2 查看进程

ps 命令可以查看 Linux 中的进程,Hadoop 是 java 进行,所以我们可以使用 jps 查看相关进程

image-20211116134629262

 


❤️ END ❤️
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JOEL-T99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值