集群软件部署

软件部署

  1. 包含zookeeper、Hadoop、spark的安装过程
  2. 这个文件来及黑马B站课程的配套笔记
    Linux系统软件安装.md

集群软件前置环境

网络配置
  1. 克隆(关掉虚拟机再克隆速度很快的)
  2. 主机名修改(hostnamectl set-hostname nodexxx)
  3. IP地址修改(vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入网络配置修改)
  4. 修改UUID(systemctl restart network 重启网络)
  5. xshell连接虚拟机
  6. 配置主机名映射(分别在window和虚拟机中的hosts文件添加三台虚拟机的映射)
ssh配置
  1. ssh远程登陆:ssh username@xxx.xxx.xxx.xxx
  2. ssh免密登录:
    1. 生成ssh公钥:ssh-keygen -t rsa -b 4096(每一台机器都要执行)
    2. 将公钥分享给指定ip地址的机器(ssh-copy-id xxx)

JDK环境

  1. 下载JDK开发包(下载的速度一开始很慢,后面就飞快了)
  2. xftp上传JDK到虚拟机
  3. 创建文件夹(mkdir -p /export/server)部署JDK
  4. 解压缩JDK安装文件(tar -zxvf jdk-8u401-linux-x64.tar.gz -C /export/server)
  5. 配置JDK软链接(ln -s /export/server/jdk1.8.0_401 jdk)
  6. 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境中
# 编辑 /etc/profile 文件
vim /etc/profile
# 配置环境变量JAVA_HOME
export JAVA_HOME=/export/server/jdk
# PATH环境变量 添加JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
  1. 生效环境变量(source /etc/profile)
  2. 删除系统自带java(which java找到java的位置;rm -f /usr/bin/java删除)
  3. 软链接自己的java(ln -s /export/server/jdk/bin/java /usr/bin/java)
  4. 添加了各种软连接,是为了切换不同版本的java的时候更加方便,核心还是全局能够方便使用java
防火墙和SELinux
  1. 防火墙
# 停止防火墙
systemctl stop firewalld
# 关闭防火墙自启动
systemctl disable firewalld
  1. SELinux:Linux的安全模块,用以限制用户和程序的相关权限
    1. !!!注意:是disabled,中文是残疾人;不是disable,中文是禁用
    2. 单词拼错了系统无法启动
# 编辑selinux的配置文件
vim /etc/sysconfig/selinux

# 将第七行,SELINUX=enforcing 修改为
SELINUX=disabled
# 保存退出重启虚拟机
制作快照

在完成上述设置后为每一台虚拟机制作快照(万一在配置过程中出了什么岔子可以快速回去)

scp(ssh cp)

  1. 功能:在不同的linux服务器之间通过SSH协议互相传输文件
  2. 语法:scp [-r] 参数1 参数2
    1. -r:复制文件夹必须使用-r
    2. 将参数1的内容传输给参数2
    3. 使用案例:
scp -r /export/server/jdk root@node2:/export/server/

# 将本机当前路径的jdk文件夹 复制到node2服务器的同名路径下
cd /export/server
scp -r jdk node2:`pwd`/
scp -r jdk node2:$PWD

ZooKeeper

介绍
  1. 分布式、开源的 分布式应用程序的协调服务
  2. Hadoop和Hbase的重要组件
  3. 提供服务:配置维护、域名服务、分布式同步、组服务
  4. 可以在多台服务器上部署,并协同组成分布式集群一起工作
安装
  1. 一下安装操作基于以上前置环境准备工作
  2. node1 下载Zookeeper安装包并解压
# 下载
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz

# 2024.3.11 直接下载报错 需要加上 --no-check-certificate
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz --no-check-certificate

# 没有这个文件夹的可以建一个
mkdir -p /export/server

# 解压
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C export/server
  1. node1创建软链接
ln -s xxx /export/server/apache-zookeeper-3.5.9-bin zookeeper
  1. node1 修改配置文件
# 将zoo_sample改名为zoo.cfg 这是提供的一个样本文件
mv zoo_sample.cfg zoo.cfg

# 编辑zoo.cfg
vim /export/server/zookeeper/conf/zoo.cfg

# 将对应位置的项进行修改
tickTime=2000
# zookeeper数据存储目录
dataDir=/export/server/zookeeper/data
# 客户端连接端口
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
  1. node1 配置myid
# 创建zookeeper的数据目录
mkdir /export/server/zookeeper/data

# 创建文件记录myid
vim /export/server/zookeeper/data/myid
# 在文件内填入1
  1. node1 将整个zookeeper目录(不是软链接)复制给node2 node3
# 复制到node2 node3的同样路径下
cd /export/server

scp -r apache-zookeeper-3.5.9-bin node2:`pwd`/
scp -r apache-zookeeper-3.5.9-bin node3:`pwd`/
  1. node2修改配置
# 创建软链接
cd /export/server
ln -s apache-zookeeper-3.5.9-bin zookeeper

# 修改myid
cd zookeeper/data
vim myid
# 将1修改为2 保存退出
  1. node3 修改配置
# 创建软链接
cd /export/server
ln -s apache-zookeeper-3.5.9-bin zookeeper

# 修改myid
cd zookeeper/data
vim myid
# 将1修改为3 保存退出
  1. node1 node2 node3 启动zookeeper
# 启动命令
/export/server/zookeeper/bin/zkServer.sh start
  1. node1 node2 node3 检查zookeeper进程是否启动
jps
# 结果中有QuorumPeerMain 进程即可
  1. node1 验证zookeeper
/export/server/zookeeper/zkCli.sh
# 如果出现连接不上的情况请检查zoo.cfg跟myid是否对应一致
# 修改之后通过zkServer.sh stop停止服务再按照以上步骤重启

# 进入Zookeeper控制台中 执行
ls /
无报错即配置成功

Hadoop

介绍
  1. 分布式系统基础架构
  2. 主要解决海量数据的存储和分析计算问题
  3. HDFS提供分布式海量数据存储能力
  4. YARN提供分布式集群资源管理能力
  5. MapReduce提供分布式海量数据计算能力
Hadoop集群角色
  1. HDFS管理角色:Namenode进程(1个)
  2. HDFS工作角色:Datanode进程(多个,一个机器启动一个)
  3. YARN管理角色:ResourceManager进程(1个)
  4. YARN工作角色:NodeManager(多个,一个机器启动一个)
  5. 历史记录服务器角色:HistoryServer进程(1个)
  6. 代理服务器角色:WebProxyServer进程(1个)
  7. Zookeeper的进程:QuorumPeerMain进程(Zookeeper的工作者,越多越好)
角色和节点分配

角色分配如下:

  1. node1:Namenode、ResourceManager、HistoryServer、HistoryServer、WebProxyServer、Datanode、NodeManager、QuorumPeerMain
  2. node2:Datanode、NodeManager、QuorumPeerMain
  3. node3:Datanode、NodeManager、QuorumPeerMain
安装
内存调整
  1. node1 4GB以上内存
  2. node2 和 node3 2GB以上内存
Hadoop集群安装
  1. 安装过程看这个文件就好了

Linux系统软件安装.md

  1. 验证
    1. 9870端口是hdfs的
    2. 8088端口是yarn的
报错分析

在将hadoop的配置文件按照视频以及文档的修改好之后,启动hdfs没有显示node2 node3的hdfs文件夹创建警告,同时node2 node3中也确实也没有hdfs的文件夹。这种情况应该表示node1没有跟node2 node3连接上。但是这个问题应该怎么解决
image.png
启动yarn的时候也是没有一点node2 node3的文件夹创建警告
image.png
原因是我忘记了修改workers(workers默认的内容是localhost,也就是只有单机),导致hadoop根本没有去发起node2、node3的连接,因此也没有任何报错

结果

不容易,真不容易啊!!!!
放一下截图
image.png
image.png
image.png

Spark

介绍
  1. 分布式内存计算引擎,可以支撑海量数据的分布式计算
  2. 这里安装Spark的步骤基于前面构建的Hadoop集群
下载安装
  1. 大致的步骤可以直接参考上面的软件安装文件,流程跟Hadoop是差不多的
  2. 我采用先从window下载(Hadoop跟Spark的下载速度都挺慢的)再上传到虚拟机的方法;如果使用wget的方式下载可能需要在后面加上–no-check-certificate
  3. spark的端口是8081
  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值