大数据集群环境搭建(上)

本文涉及的产品
云防火墙,500元 1000GB
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据集群环境搭建

本文要点

1、服务器集群环境搭建
2、了解shell编程

内容大纲

#linux集群环境搭建
  集群、分布式---->多台机器
  虚拟机克隆
  服务器基础环境准备
    1、防火墙关闭
    2、主机名hostname修改
    3、hosts主机名 IP映射
    4、ssh免密登录
    5、扩展:跳板机、堡垒机
    6、集群时间同步
    7、scp 跨集群复制文件
#Linux软件安装
  rpm包
  yum安装软件
#软件安装
  JDK 
# shell编程

一、大数据集群环境搭建

1.1、分布式、集群概念初识

分布式:多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。

集群:多台不同的服务器中部署相同应用或服务模块,构成一个集群,通过负载均衡设备对外提供服务。

分布式、集群

  • 共同点:多台机器。 相对的概念叫做单机系统。
  • 注意:在口语中经常混淆分布式和集群的概念的。都是汲取两者的共同点。
比如:搭建一个分布式hadoop集群。
背后意思:不要搭建单机版本的 搭建多台机器版本的。 

集群架构

  • 主从架构
主角色:master leader   大哥
从角色:slave  follower 小弟
主从角色各司其职,需要共同配合对外提供服务。
常见的是一主多从 也就是一个大哥带着一群小弟共同干活。

主备架构

主角色:active
备角色:standby
主备架构主要是解决单点故障问题的 保证业务的持续可用。
常见的是一主一备 也可以一主多备。
1.2、集群环境搭建
1.2.1、虚拟机克隆
  • 前提:是虚拟机处于关闭状态。
  • 分类:链接克隆 、完整克隆
链接克隆:表层是互相独立 底层存储是交织在一起;
完整克隆:完全互相独立的两台虚拟机

修改克隆机器属性。

完整克隆意味着两台机器一模一样。在局域网网络中,有些属性是决定不能一样的。
比如:IP、MAC、主机名hostname

3台虚拟机硬件分配 16G

node1  2*2cpu  4G内存
node2  1*1cpu  2G内存
node3  1*1cpu  2G内存
1.2.2、修改IP、主机名
  • 命令修改 临时生效 重启无效
  • 修改底层配置文件 永久生效 重启才能生效。
vim /etc/hostname
node2.itcast.cn
#修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"     #网卡类型 以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"   #ip等信息是如何决定的?  dhcp动态分配、 static|node 手动静态分配
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"        #网卡名称
UUID="62982d98-441d-43ef-8e56-73aa36ab6f07"
DEVICE="ens33"
ONBOOT="yes"       #是否开机启动网卡服务
IPADDR="192.168.88.152"  #IP地址
PREFIX="24"   #子网掩码   等效: NETMASK=255.255.255.0
GATEWAY="192.168.88.1"  #网关服务
DNS1="192.168.88.1"     #网关DNS解析
DOMAIN="114.114.114.114" #公网DNS解析  114.114.114.114  谷歌:8.8.8.8  阿里百度DNS
IPV6_PRIVACY="no
#修改主机名hostname
node2.itcast.cn
  • 重启linxu系统 reboot
1.2.3、主机名和IP映射配置
  • 背景
在网络中,很少直接通过IP访问机器,原因难记。
通常使用主机名或者域名访问。
此时就会涉及到主机名域名和IP之间的解析

实现

  • 本地hosts文件 进行本地查找解析
localhost 127.0.0.1
  • 寻找DNS服务器 域名解析服务
  • linux上
vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.151 node1.itcast.cn node1
192.168.88.152 node2.itcast.cn node2
192.168.88.153 node3.itcast.cn node3

windows上

C:\Windows\System32\drivers\etc\hosts
192.168.88.151 node1.itcast.cn node1
192.168.88.152 node2.itcast.cn node2
192.168.88.153 node3.itcast.cn node3
1.2.4、防火墙关闭
  • firewalld
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#关闭防火墙开机自启动
systemctl disable firewalld
#centos服务开启关闭命令
centos6:(某些可以在centos7下使用)
  service 服务名 start|stop|status|restart
  chkconfig on|off 服务名
centos7:  
  systemctl start|stop|status|restart 服务名
  systemctl disable|enable 服务名  #开机自启动  关闭自启

selinux

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
  • 需要重启生效
1.2.5、集群机器间免密登录
  • 背景
#在进行集群操作的时候  需要从一台机器ssh登录到其他机器进行操作 默认情况下需要密码
[root@node1 ~]# ssh node2
The authenticity of host 'node2 (192.168.88.152)' can't be established.
ECDSA key fingerprint is SHA256:kTth0zkiMakFp9O0B8v0GHnpQy86+YfpHqAX4Cxb/hk.
ECDSA key fingerprint is MD5:b2:74:4f:b3:a0:b4:7e:a1:3d:50:c4:55:8b:3b:78:cb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node2,192.168.88.152' (ECDSA) to the list of known hosts.
root@node2's password: 
Last login: Sun Jan 29 17:00:02 2023 from 192.168.88.8
[root@node2 ~]# exit
logout
Connection to node2 closed.
  • 需求:能否实现免密ssh登录。
  • 技术:SSH方式2:免密登录功能。


#实现node1----->node2
#step1
在node1生成公钥私钥
ssh-keygen  一顿回车 在当前用户的home下生成公钥私钥 隐藏文件
[root@node1 .ssh]# pwd
/root/.ssh
[root@node1 .ssh]# ll
total 12
-rw------- 1 root root 1679 Jan 29 17:12 id_rsa
-rw-r--r-- 1 root root  402 Jan 29 17:12 id_rsa.pub
-rw-r--r-- 1 root root  182 Jan 29 17:05 known_hosts
#step2
copy公钥给node2
ssh-copy-id node2  
注意第一次需要密码
#step3  
[root@node1 .ssh]# ssh node2
Last login: Sun Jan 29 17:06:00 2023 from node1.itcast.cn
[root@node2 ~]# exit
logout
Connection to node2 closed.

要求

#至少打通node1---->node1  node2  node3 这三个免密登录 
#至于所有机器之间要不要互相免密登录 看你心情
  • 扩展:跳板机、堡垒机
作为局域网连接外网的机子,同时也承载着全部的防护压力像堡垒一样。 

1.2.6、跨机器远程copy文件
  • 背景:linux上copy文件 cp
  • 命令:scp 基于ssh协议跨网络cp动作
  • 注意事项,没有配置ssh免密登录也可以进行scp远程复制 只不过在复制的时候需要输入密码。
  • 例子
#本地copy其他机器
scp test.txt root@node2:/root/
scp -r linux02/ root@node2:$PWD   #copy文件夹 -r参数   $PWD copy至和本机相同当前路径
#为什么不需要输入密码 
因为配置了机器之间的免密登录  如果没有配置 scp的时候就需要输入密码
#copy其他机器文件到本地
scp root@node2:/root/test2.txt  ./  
1.2.7、集群的时间同步问题
  • 背景:分布式软件主从角色之间通常基于心跳时间差来判断角色工作是否正常
  • 国家授时中心 北京时间
  • 授时服务器 国家级 企业级 院校级
  • linux
  • ntp 网络时间协议 实现基于网络授时同步时间。
  • date
查看当前的系统时间 也可以手动指定设置时间 不精准
[root@node1 ~]# date
Sun Jan 29 18:28:44 CST 2023

ntpdate

#ntpdate  授时服务器
ntpdate ntp5.aliyun.com
[root@node1 ~]# ntpdate ntp5.aliyun.com
29 Jan 18:29:09 ntpdate[2016]: adjust time server 203.107.6.88 offset -0.030927 sec
#企业中运维往往不喜欢ntpdate 原因是这个命令同步时间是立即的。不是平滑过渡的。

ntp软件

通过配置 平滑的和授时服务器进行时间的同步(运维)


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
40 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
zdl
|
11天前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
42 0
|
1月前
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
43 5
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
41 4
|
1月前
|
资源调度 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
44 2
|
1月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
41 2
|
1月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
82 1
|
1月前
|
存储 大数据 Apache
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
23 0
|
1月前
|
SQL 消息中间件 分布式计算
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
80 0
|
1月前
|
SQL 大数据
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
59 0
下一篇
无影云桌面