基于云服务器的数仓搭建-服务器配置

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文介绍了购置并配置三台云服务器的详细步骤。使用FinalShell连接服务器,并安装了必要的工具如epel-release、net-tools和vim。关闭防火墙后,在/opt目录下创建module和software文件夹,卸载默认JDK并修改主机名。添加环境变量路径/home/alpfree/bin,编写集群分发脚本xsync实现文件同步,配置无密登录,安装并分发JDK。参考资料来自海波老师的电商数仓课程。

购置三台云服务器,总支出353/年,华为云/百度云/ucloud的新用户优惠(阿里云的之前用掉了,现在买2c2g要900多)。

finalshell连接三台服务器,ssh,输入用户名和密码即可连接成功,服务器侧22端口打开

FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.5.12,更新日期2024.10.30 - FinalShell官网

epel-release、net-tool、vim安装--服务器都默认已安装

#检查有无安装,未安装会提示未安装
rpm -q epel-release
rpm -q net-tools
rpm -q vim-enhanced
# 安装命令
yum install -y epel-release
yum install -y net-tools
yum install -y vim

关闭防火墙及自启-

systemctl stop firewalld
systemctl disable firewalld.service

在/opt目录下创建module、software

mkdir /opt/module /opt/software

卸载虚拟机自带的JDK,没有安装忽略这个步骤--默认未装

# 检查有无安装。选其中一个即可,无安装时,第一个没有返回结果,第二个命令会报命令未发现
rpm -qa | grep -i java
java -version
# 卸载命令
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
#  rpm -qa:查询所安装的所有rpm软件包
#  grep -i:忽略大小写
#  xargs -n1:表示每次只传递一个参数
#  rpm -e –nodeps:强制卸载软件

修改主机名

# 查看主机名,执行一个即可
hostname
hostnamectl
cat /etc/hostname
# baidu instance-g3ujf8wq 
# 180.76.xx
# 修改主机名称
vim /etc/hostname
hadoop2
#非重启生效,执行下述命令
hostnamectl set - hostname hadoop2
# 重启,now换成+5为5分钟后
shutdown -r now
reboot
# 华为 hcss-ecs-3706
# 113.45.xx
hadoop1
# ucloud 原主机名:10-13-134-222
# 106.75.xx
hadoop3
# 映射ip和主机名,本地通信映射(将当前主机对应host修改为内部ip地址)
vim /etc/hosts
#汇总
113.45.xx hadoop1
180.76.xx hadoop2
106.75.xx hadoop3

添加环境变量路径:home/alpfree/bin

# echo $PATH 命令输出的是当前用户环境下的 PATH 环境变量值,当您尝试运行一个命令时,如果命令存在于上述任何一个目录中,那么这个命令就会被执行
echo $PATH
# 服务器上执行后返回: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin(最后一个目录其实不存在)
# 创建文件夹,并添加为环境变量 home/alpfree/bin
mkdir -p /home/alpfree/bin
# 编辑 .bashrc 或 .bash_profile,以 .bashrc 为例(隐藏文件默认看不到)
# 文件末尾添加以下内容 
export PATH=$PATH:/home/alpfree/bin
# 输入 : 进入命令行模式,输入 wq 然后按回车键,这代表写入(保存)并退出
# 重新加载配置文件,~代表当前用户的主目录
vim ~/.bashrc
source ~/.bashrc
# 查看 .bashrc 命令 
ls -a ~

编写集群分发脚本xsync

# 循环复制文件到所有节点的相同目录下
# rsync命令原始拷贝,将本地 /opt/module 目录同步到名为 hadoop103 的远程服务器的 /opt/ 目录下
rsync  -av     /opt/module       root@hadoop103:/opt/
# -av 
# -a:归档模式,表示递归同步且保持文件属性等信息。
# -v:详细模式,显示同步过程的详细信息。
# 源路径为 /opt/module,意味着将此目录下的所有内容作为同步的源。
# 目标路径 root@hadoop103:/opt/ 表示通过 SSH 连接到 hadoop103 服务器,以 root 用户身份,将文件同步至该服务器的 /opt/ 目录

在home/alpfree/bin创建xsync

vim xsync

#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop1 hadoop2 hadoop3
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done
# 创建完成后,赋予权限
chmod 777 xsync
# 验证,显示未找到命令,则未安装
xsync xsync
#检查和安装,验证
rpm -q rsync
sudo yum install rsync
rsync --version

无密登录配置

# 现机器hadoop1,配置的是NameNode,hadoop2配置的是ResourceManager,都要求对其他节点无密访问
# 生成公钥和私钥,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
# 会在用户主目录下的.ssh文件夹中生成
ssh-keygen -t rsa
# 将h1公钥拷贝到要免密登录的目标机器上,其中要输入密码
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3
# hadoop2生成公钥和私钥
ssh-keygen -t rsa
#将h2公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

在h1上安装jdk

# 将jdk导入到/opt/software文件夹下面
finalshell
# 查看导入是否成功
ls /opt/software/
# 解压到/opt/module目录下, -C 将文件放置到指定的目录中
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
# 配置JDK环境变量,新建/etc/profile.d/my_env.sh文件,
# /etc/profile.d 目录主要用于存放系统环境变量和 shell 配置脚本
vim /etc/profile.d/my_env.sh
# 添加如下内容
#原文档错误 export JAVA_HOME=/opt/module/jdk-1.8.0
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
# 让环境变量生效
source /etc/profile.d/my_env.sh
# 检查是否安装成功
java -version

分发jdk

# 分发JDK
xsync /opt/module/jdk1.8.0_212
# 分发环境变量配置文件
sudo /home/alpfree/bin/xsync /etc/profile.d/my_env.sh
# 分别在hadoop2、hadoop2上执行sourc
source /etc/profile.d/my_env.sh


参考资料

海波老师-电商数仓

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
弹性计算 搜索推荐 异构计算
阿里云服务器多少钱一年?亲自整理ECS、轻量和GPU服务器租赁价格表
2025年阿里云服务器优惠汇总:轻量应用服务器2核2G 38元/年起,ECS 2核2G 99元/年,2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量25元/月起,新老用户同享,续费同价。
556 4
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
217 10
|
1月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
207 2
|
1月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
394 1
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
298 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
1月前
|
弹性计算 搜索推荐 异构计算
租用阿里云服务器一年要多少钱?ECS、轻量和GPU服务器租赁价格,手动整理
2025年10月阿里云服务器优惠持续,轻量应用服务器200M带宽38元起/年,ECS 2核2G 99元/年、2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量25元/月起,新老同享,续费不涨价。
545 2
|
1月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
1月前
|
存储 弹性计算 网络协议
阿里云服务器ECS是什么?ECS介绍、云服务器创建及使用教程
阿里云ECS是安全可靠、弹性灵活的云计算服务,支持多种实例规格与操作系统,可快速创建和管理云服务器。本文详解ECS介绍、购买流程(含付费模式、地域、网络、存储等设置)及使用教程,助您轻松上手云服务器。
487 4