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

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

二、Centos软件安装

2.1、rpm包管理器
  • 指的是RH系列的包管理器(Red-Hat Package Manager),也是RH安装的软件包后缀名。当下已经扩大了行业标准。
  • RPM指的是使用rpm命令进行软件的查看、安装、卸载。
  • 弊端
  • 提前下载rpm包,手动安装
  • 自己解决包之间的依赖
  • 命令
#查询
[root@node1 ~]# rpm -qa  | grep ssh
openssh-clients-7.4p1-21.el7.x86_64
libssh2-1.8.0-4.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
[root@node1 ~]# rpm -qi openssh-server-7.4p1-21.el7.x86_64
Name        : openssh-server
Version     : 7.4p1
Release     : 21.el7
Architecture: x86_64
Install Date: Sat 28 Jan 2023 10:24:55 PM CST
Group       : System Environment/Daemons
Size        : 993586
License     : BSD
Signature   : RSA/SHA256, Fri 23 Aug 2019 05:37:29 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : openssh-7.4p1-21.el7.src.rpm
Build Date  : Fri 09 Aug 2019 09:40:49 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.openssh.com/portable.html
Summary     : An open source SSH server daemon
Description :
OpenSSH is a free version of SSH (Secure SHell), a program for logging
into and executing commands on a remote machine. This package contains
the secure shell daemon (sshd). The sshd daemon allows SSH clients to
securely connect to your SSH server.
#rpm安装软件
rpm -ivh rpm 包的全路径
#rpm卸载软件  注意 通常采用忽略依赖的方式进行卸载
rpm -e --nodeps 软件包名称
因为在卸载的时候 默认会将软件连同其依赖一起卸载 为了避免影响其他软件的正常使用 通常建议使用--nodeps参数忽略依赖的存在 只卸载程序自己

我的软件安装目录规范

/export/server      #软件安装目录
/export/software    #安装包的目录
/export/data        #软件运行数据保存的目录
/export/logs        #软件运行日志
mkdir -p /export/server
mkdir -p /export/software 
mkdir -p /export/data
mkdir -p /export/logs
2.2、yum包管理器
  • 介绍
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • 特点
  • 自动下载rpm包 进行安装 前提是联网 不联网就凉凉
  • 解决包之间的依赖关系
  • 原理
#yum之所以强大原因在于有yum源。里面有很多rpm包和包之间的依赖。
yum源分为网络yum源和本地yum源。
#其中网络yum源在centos默认集成了镜像地址 只要联网就可以自动寻找到可用的yum源。 前提联网
#也可以自己搭建本地yum源。实现从本地下载安装。

命令

#列出当前机器可用的yum源信息
yum repolist all
#清楚yum源缓存信息
yum clean all
#查找软件
rpm list | grep 软件包名称
#yum安装软件   -y表示自动确认 否则在安装的时候需要手动输入y确认下载安装
yum install -y xx软件名
yum install -y mysql-*
#yum卸载软件
yum -y remove 要卸载的软件包名
2.3、JDK的安装
  • 简单:解压即可使用 但是通常配置环境变量,以便于在各个路径下之间使用java。
  • 要求:JDK1.8版本
  • 步骤
#上传安装包到/export/server下
jdk-8u65-linux-x64.tar.gz
#解压到当前目录
tar zxvf jdk-8u65-linux-x64.tar.gz
#删除红色安装包(可选)
rm -rf jdk-8u65-linux-x64.tar.gz 
#配置环境变量
vim /etc/profile            #G + o
export JAVA_HOME=/export/server/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#重新价值环境变量文件 让配置生效
source /etc/profile
[root@node1 ~]# java -version      
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

将node1的JDK安装包scp给其他机器

 #scp安装包
 cd /export/server/
 scp -r jdk1.8.0_65/ root@node2:$PWD
 #scp环境变量文件
 scp /etc/profile node2:/etc/
 #别忘了 其他机器source哦
 source /etc/profile

三、了解shell编程

3.1、shell介绍
  • 指的是一种程序,往往是使用C语言开发,功能是访问操作系统内核获取操作系统信息。
  • 指的是shell脚本语言,使用什么样的命令语法格式去控制shell程序访问内核。
  • 通常情况下,所说shell编程指的shell脚本编程,学习shell语法规则
3.2、shell编程开发
  • 在哪里编写?
只要能进行文本编辑的地方都可以写  linux上常使用vim编辑器开发
  • 需要编译?
不需要编译
  • 如何执行?
需要语法解释器 不需要安装 
Linux系统中集成了很多个同种类的shell解释器
[root@node1 linux02]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

默认shell解释器 bash shell = shell

因为很多linux发行版都以bash作为默认的解释器 所以说市面上大多数shell编程都是基于bash开展的
bash shell免费的。

shell的快速入门

  • shell脚本文件 后缀名没有要求 通常以.sh结尾
  • 格式
#!/bin/bash   
echo 'hello shell'
#第一行 指定解释器的路径

给脚本授予执行权限

chmod a+x hello.sh

执行shell脚本

  • 绝对路径指定shell脚本
[root@node1 linux02]# /root/linux02/hello.sh 
hello shell

相对路径

[root@node1 linux02]# hello.sh   #默认去系统环境变量中寻找  错误
-bash: hello.sh: command not found
[root@node1 linux02]# ./hello.sh  #从当前目录下找
hello shell

把shell脚本交给其他shell程序执行 比如sh

[root@node1 linux02]# sh hello.sh 
hello shell

探讨:后缀名 解释器 执行权限是必须的吗? 不是必须的

[root@node1 linux02]# vim bye.hs
echo "bye bye"
[root@node1 linux02]# sh bye.hs 
bye bye
#文件不是sh结尾 没有授权 没有指定bash解释器路径 但是却可以执行
#此时这个文件是作为参数传递给sh来执行的  此时解释器是sh 只要保证文件中语法正确就可以执行

shell 命令、shell 脚本

  • 都是属于shell的东西
  • shell命令倾向于交互式使用,适合逻辑简单场景
  • shell脚本适合复杂逻辑 理解结合函数、条件判断、流程控制 写出更加丰富的程序。
  • shell命令和shell脚本之间可以互相换行。
#编写shell脚本 执行脚本
[root@node1 linux02]# cat hello.sh 
#!/bin/bash
echo 'hello shell'
[root@node1 linux02]# sh hello.sh       
hello shell
#以shell命令执行
[root@node1 linux02]# echo 'hello shell'
hello shell

shell变量

  • 语法格式
变量=值  #注意等号两边不能有空格
[root@node1 linux02]# name = allen
-bash: name: command not found
[root@node1 linux02]# name=allen 

变量的使用

[root@node1 linux02]# name=allen  
[root@node1 linux02]# echo name
name
[root@node1 linux02]# echo $name
allen
[root@node1 linux02]# echo ${name}
allen
[root@node1 linux02]# echo $namewoon
[root@node1 linux02]# echo ${name}woon
allenwoon
#建议提取变量的时候 使用{}标识变量的边界范围
#unset 删除变量
#readonly 只读变量  不能修改 相当于java中final修饰的
[root@node1 linux02]# name=allen
[root@node1 linux02]# echo ${name}
allen
[root@node1 linux02]# name=james
[root@node1 linux02]# echo ${name}
james
[root@node1 linux02]# readonly name=allen
[root@node1 linux02]# echo ${name}       
allen
[root@node1 linux02]# name=james         
-bash: name: readonly variable
[root@node1 linux02]# unset name
-bash: unset: name: cannot unset: readonly variable
#只读变量不能够进行删除 只会随着生命周期结束而结束
#对应shell命令来说 生命周期就是窗口关闭
#对应shell脚本来说 生命周期就是shell执行结束

shell字符串使用

  • 定义字符串
  • 可以使用单引号 可以使用双引号 可以不使用引号
  • 推荐使用双引号 实现变量的提取
[root@node1 linux02]# name=allen
[root@node1 linux02]# echo $name
allen
[root@node1 linux02]# name1='allen1'
[root@node1 linux02]# echo $name1   
allen1
[root@node1 linux02]# name2="allen2" 
[root@node1 linux02]# echo $name2
allen2
[root@node1 linux02]# echo my name is ${name}
my name is allen
[root@node1 linux02]# echo 'my name is ${name}'
my name is ${name}
[root@node1 linux02]# echo "my name is ${name}" 
my name is allen

反引号

  • `
  • 英文状态下输入ESC下面
  • 功能:表示执行反引号的命令
#需求:把date命令执行的结果赋值给nowtime变量 
[root@node1 linux02]# date
Sun Jan 29 20:14:15 CST 2023
[root@node1 linux02]# nowtime=date   #如果没有反引号 理解为字符串
[root@node1 linux02]# echo $nowtime
date
[root@node1 linux02]# nowtime=`date`  #使用反引号 理解为执行命令 把命令的结果进行赋值
[root@node1 linux02]# echo $nowtime 
Sun Jan 29 20:14:49 CST 2023


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