【大数据技术栈-Hadoop的集群搭建】

前言:
💞💞大家好,书生♡,今天主要和大家分享一下大数据技术栈-Hadoop的集群搭建的详细步骤,希望对大家有所帮助。感谢大家关注点赞。
💞💞前路漫漫,希望大家坚持下去,不忘初心,拿到属于自己高薪offer!!!

个人主页⭐: 书生♡
gitee主页🙋‍♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬

1. 什么是集群?什么是分布式?

在学习了解的内容之前,我们要先知道什么是集群什么是分布式?

集群: 多台服务器共同完成相同的业务,就是一个集群.
分布式: 多台服务器共同完成不同的业务就是分布式.

安装部署层面说

  • 单机部署
    • 使用一台服务器安装所有服务
  • 集群部署
    • 使用多台服务器安装对应分布式服务

在这里插入图片描述

2. 集群搭建-虚拟机的拷贝

所谓集群就是指有多个服务器,那么我们就要有多个虚拟机.
我们如果通过自己自定义创建每一个虚拟机耗时耗力,所以我们有一种便捷的方法,就是–拷贝。
我们首先需要创建一个自定义的虚拟机,在这里我就不细讲了。
大家在创建好一个虚拟机之后。

  1. 右键创建好的虚拟机,点击管理,点击克隆
    在这里插入图片描述
  2. 选择虚拟机中的当前状态,点击下一步
    在这里插入图片描述
  3. 选择完整克隆

在这里插入图片描述
4. 自定义填写位置和名称
在这里插入图片描述
5. 最后我们就可以克隆出两个一模一样的虚拟机
在这里插入图片描述
6. 选择克隆的服务器,点击“网络适配器”,点击高级,点击生成,为自动生成新的网卡。(同理每一个克隆的虚拟机都需要重新生成新的网卡)
在这里插入图片描述

3.集群搭建–基础环境搭建

3.1 主机名称修改: /etc/hostname

由于我们的虚拟机是克隆过来的,所以我们克隆的虚拟机主机名还是原来的主机名,所以我们要修改我们的主机名,便于区分。

echo node1 > /etc/hostname

我们通过echo的覆盖的方式去修改。
注意:我们的主机名是存放在/etc/hostname文件下面的

3.2 修改域名解析文件:/etc/hosts

后续搭建集群时使用域名访问电脑
在平时使用www.baidu.com域名访问时,最终会同dns服务器将域名解析为ip地址访问

echo '192.168.88.100 node1.itcast.cn node1' >> /etc/hosts
echo '192.168.88.101 node2.itcast.cn node2' >> /etc/hosts
echo '192.168.88.102 node3.itcast.cn node3' >> /etc/hosts

这里的node1,node2,node3使我们虚拟机的名字,也是我们的主机名。
我们可以通过下面的命令,然后选择发送到全部会话,点击发送。
这里需要注意,我们这个代码需要三个会话都执行一遍。

在这里插入图片描述

3.3 关闭防火墙

我们关闭防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置关闭虚拟机。

 systemctl stop firewalld.service

在这里插入图片描述

3.4 禁用防火墙

我们禁止防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置禁止虚拟机。

 systemctl disable firewalld.service

在这里插入图片描述

3.5 关闭SELinux

我们还需要关闭SELinux,同上几步:

sed -i "s/enforcing/disabled/" /etc/selinux/config

3.6 时钟同步

每一个服务器的时间都不一样,所以我们需要统一设置时间:

ntpdate ntp4.aliyun.com

# 内部服务器不允许上网,内部搭建一个时钟服务器   同步内部
ntpdate  192.168.88.3

在这里插入图片描述

3.7 设置静态ip地址

我们需要设置静态ip地址,也就是把我们的ip地址固定起来,防止每一次重启服务器ip地址会改变。

node1:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.100"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33


node2:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.101"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33

node3:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.102"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33

3.8 创建软件安装目录

我们以后要按安装好多的软件,为了方便安装处理这些,我们需要创建一个文件夹,方便我们存储软件的包。

mkdir /export
cd /export
mkdir data logs server software

在这里插入图片描述

3.9 重启系统

最后我们只需要重启系统,就可以将上述操作成功的应用

init 6

4. 服务器之间数据文件传递

服务器之间传递数据,依赖ssh协议

http协议是web网站之间的通讯协议,用户可已通过http网址访问到对应网站数据

ssh协议是服务器之间,或windos和服务器之间传递的数据的协议。支持shell指令的传输
在linux中默认自带ssh客户端,可以使用ssh指令进行服务器连接

4.1 ssh 用户@ip地址或域名

  1. 直接使用ip地址转换用户

在这里插入图片描述
2. 使用域名来访问
在这里插入图片描述
或者我们还可以使用简称 node2
在这里插入图片描述
3. 设置免密登录,我们可以使用ssh node2 直接跳转到node2的服务器
但是我们需要先设置免密登录

ssh免密登录
每次登录不需要再输入密码
分别在node1、node2、node3上执行如下命令

# 生成秘钥
ssh-keygen

在这里插入图片描述

# 拷贝秘钥
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

4.2 基于ssh协议进行服务器之间的文件或目录的传输

服务器我们要传输文件或者是目录的话,我们使用的是scp

scp -r 本机文件或目录路径 目标服务器名:目标服务器路径

在这里插入图片描述

5. 软件的安装

5. 1java的安装

大数据的软件工具需要依赖java环境

  1. 我们需要先在本地下载java的jdk压缩包,然后上传到服务器的/export/server目录下面
    在这里插入图片描述
  2. 使用加压缩命令,将文件解压缩
    大家如果 有疑问可以参考我当初的linux命令,上面有很详细的命令和案例。
使用tar进行解压缩
tar xvf   压缩包文件
x 代表解压
v 显示解压详情
f 代表解压文件

压缩文件使用
tar cvf    压缩包名.tar.gz  文件或目录 

安装解压后,使用java是会出现找不到java指令,原因是因为没有指定系统环境变量
默认java指令是在安装包的bin目录下,通过设置系统环境变量,就可以在任意位置使用java指令

我们需要命令去修改文件配置:

echo 'export JAVA_HOME=/export/server/jdk1.8.0_241' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile

在这里插入图片描述
这个样子我们的java就配置成果了。

5.2 mysql的安装配置

  1. 上传mysql压缩包
    同理我们需要将在本地下载好的MySQL文件压缩包,上传到服务器上面。
cd /export/server
mkdir mysql5.7
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql5.7
cd mysql5.7

在这里插入图片描述
2. 卸载mariadb-libs

rpm -e --nodeps mariadb-libs
  1. rpm安装mysql
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
  1. 初始化服务和修改文件权限
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
  1. 启动服务并设置开机自启
systemctl start mysqld.service
systemctl enable mysqld.service
  1. 登录Mysql
Pass=$(grep 'A temporary password' /var/log/mysqld.log |awk '{print $NF}')
mysql -uroot -p"$Pass"
  1. 修改mysql密码及配置远程登录

注意:该操作是在mysql中进行

alter user user() identified by "123456";
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES; 
  1. 退出mysql
exit

到这里我们的大数据Hadoop的前置条件就安装好了,下一篇文章我们详细的说一说Hadoop的技术栈。

💕💕在这篇文章中,我们hadoop的前置条件的安装,希望能为读者带来启发和收获。
💖💖感谢大家的阅读,如果您有任何疑问或建议,欢迎在评论区留言交流。同时,也请大家关注我的后续文章,一起探索更多知识领域。
愿我们共同进步,不断提升自我。💞💞💞

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值