【大数据工具】Hadoop 分布式集群搭建

1. 环境准备

说明:分布式集群最少 3 台,如何在自己本地虚拟安装Linux虚拟机,请转至另一篇安装部署文章 https://blog.csdn.net/weixin_45579026/article/details/117932287

1. 配置网络

将3台CentOS的ip设置成手动 Manual

VMware:编辑 → 虚拟网络编辑器 → VMnet8 NAT模式 → NAT模式(与虚拟机共享主机的IP地址) → NAT设置,获取VMware的相关信息:

  • 子网IP:192.168.26.0
  • 子网掩码:255.255.255.0
  • 网关:192.168.26.2

2. 修改hostname主机名

[root@hadoop0 ~]# hostname
hadoop0
  • 若hostname都一样则修改为不一样的

3. 修改hosts文件

[root@hadoop0 ~]# vi /etc/hosts
# 将下边三行写到hosts文件末尾:
192.168.26.101 hadoop0
192.168.26.102 hadoop1
192.168.26.103 hadoop2

4. 防火墙策略

  • 查看防火墙状态:
systemctl status firewalld.service
  • 关闭防火墙:
systemctl stop firewalld.service
  • 永久关闭防火墙(重启也不行):
systemctl disable firewalld.service

5. ssh相互免密码登录

1. 三台机器都生成密钥:

[root@hadoop0 ~]# cd /root/
[root@hadoop0 ~]# pwd
/root
[root@hadoop0 ~]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):   # 回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):   # 回车
Enter same passphrase again:   # 回车
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:  # 回车
SHA256:19rqsF9c8x9uu1vfc7fIZr+l8hKNQKpPuHIwQ8zmWgU root@hadoop0
The key's randomart image is:
。。。

2. 将hadoop0和hadoop1的密钥拷贝到hadoop2上

分别在hadoop0和hadoop1上执行下行代码并输入hadoop2的root口令

ssh-copy-id -i /root/.ssh/id_dsa.pub hadoop2

3. 将hadoop2的密钥拷贝到hadoop0和hadoop1上

在hadoop2上执行以下两行代码

scp /root/.ssh/authorized_keys hadoop0:/root/.ssh/
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/

2. 安装JDK

-------------- 三台都修改 --------------

1. 安装前先查看系统是否自带JDK

[root@hadoop1 ~]# rpm -qa | grep java  # 返回空

2. 在根目录下创建 software 文件夹,将JDK包导到software

使用xshell的文件传输功能即可

3. 解压 jdk-8u181-linux-x64.tar.gz

[root@hadoop1 ~]# cd /software/
[root@hadoop1 software]# tar -zxvf jdk-8u181-linux-x64.tar.gz

4. 重命名Java包

[root@hadoop1 software]# mv jdk1.8.0_181/ jdk

5. 配置Java和Hadoop的环境变量

  • 先备份:
[root@hadoop1 software]# cp /etc/profile /etc/profile.back
  • 再修改:
[root@hadoop1 software]# vi /etc/profile
  • 在文件最后写入:
export JAVA_HOME=/software/jdk
export PATH=.:$PATH:$JAVA_HOME/bin

6. 使配置产生作用

[root@hadoop1 software]# source /etc/profile

7. 验证JDK安装和配置是否成功

java
java -version
javac
  • 以上3个指令都返回相应信息即可。

3. 安装ZooKeerper

-------------- 三台都修改 --------------

1. 解压zookeeper-3.4.10.tar.gz

[root@hadoop1 software]# tar -zxvf zookeeper-3.4.10.tar.gz

2. 重命名zk包

[root@hadoop1 software]# mv zookeeper-3.4.10 zk

3. 添加环境变量

[root@hadoop1 software]# vi /etc/profile

将以下两行添加到文件末尾:

export ZOOKEEPER_HOME=/software/zk
export PATH=.:$PATH:$ZOOKEEPER_HOME/bin

4. 安装Hadoop

-------------- 三台都修改 --------------

1. 解压hadoop-2.7.4.tar.gz

[root@hadoop1 software]# tar -zxvf hadoop-2.7.4.tar.gz

2. 重命名Hadoop包

[root@hadoop1 software]# mv hadoop-2.7.4 hadoop

3. 添加环境变量

[root@hadoop1 software]# vi /etc/profile

将以下两行添加到文件末尾:

export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4. 修改配置文件

[root@hadoop1 software]# cd /software/hadoop/etc/hadoop

配置hadoop-env.sh

[root@hadoop0 hadoop]# cp hadoop-env.sh hadoop-env.sh.bak
[root@hadoop0 hadoop]# vi hadoop-env.sh
export JAVA_HOME=/software/jdk  #109行
# 以下两行写到文件末尾
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
export HADOOP_PID_DIR=/software/hadoop/pids

配置hdfs-site.xml

[root@hadoop0 hadoop]# cp hdfs-site.xml hdfs-site.xml.bak
[root@hadoop0 hadoop]# vi hdfs-site.xml

将如下内容放置在<configuration></configuration>之间:

<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///software/hadoop/data/datanode</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///software/hadoop/data/namenode</value>
</property>
<property>
    <name>dfs.namenode.http-address</name>
    <value>hadoop0:50070</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop1:50090</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

配置core-site.xml

[root@hadoop0 hadoop]# cp core-site.xml core-site.xml.ba
[root@hadoop0 hadoop]# vi core-site.xml

将如下内容放置在<configuration></configuration>之间

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop0/</value>
</property>

配置 slaves

[root@hadoop0 hadoop]# cp slaves slaves.bak
[root@hadoop0 hadoop]# vi slaves

将slaves文件内的localhost删掉,把下边两行写入保存:

hadoop1
hadoop2

5. 启动服务并查看

1. 首次启动格式化nodeman

第一次启动Hadoop服务前先在三台机器上格式化nodeman:

hadoop namenode -format

2. 启动方式有两种

1. 一次性把HDFS和yarn都启动

start-all.sh
# 停止服务
stop-all.sh

2. 一个一个启动

  • 启动HDFS:
start-dfs.sh
  • 启动yarn:
start-yarn.sh

3. 三个节点都启动起来后的情况

[root@hadoop0 sbin]# jps
10562 Jps
10311 ResourceManager
10046 NameNode
[root@hadoop1 hadoop]# jps
10053 Jps
9927 NodeManager
9771 DataNode
9854 SecondaryNameNode
[root@hadoop2 hadoop]# jps
9610 DataNode
9706 NodeManager
9807 Jps

4. 页面显示

浏览器输入:

http://192.168.26.101:50070/

1

知识点

1. 在CentOS界面,点击Ctrl+Alt可以释放鼠标

2. 集群的安装与部署

  • 单机模式
  • 伪分布模式
  • 分布式模式
  • 高可用模式
  • 联邦模式

3. HDFS服务和Yarn服务种类

HDFS服务

  • nodeman:主节点
  • DataNode
  • Seco
  • ndaryNameNode

Yarn服务

  • ResourceManager
  • NodeManager
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员老五

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

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

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

打赏作者

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

抵扣说明:

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

余额充值