基于云服务器的数仓搭建-集群安装

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本文介绍了大数据集群的安装与配置,涵盖Hadoop、Zookeeper、Kafka和Flume等组件。主要内容包括:1. **数据模拟**2. **Hadoop安装部署**:详细描述了HDFS和YARN的配置,包括NameNode、ResourceManager的内存分配及集群启动脚本。3. **Zookeeper安装**:解压、配置`zoo.cfg`文件,并创建myid文件4. **Kafka安装**:设置Kafka环境变量、配置`server.properties`5. **Flume安装**:配置Flume采集日志到Kafka,编写启动脚本进行测试。

数据模拟

上传文件至/opt/module/applog目录下

# 12.mock,application.yml、gmall-remake-mock-2023-02-17.jar、path.json、logback.xml
mkdir /opt/module/applog
#资料中包名称不一样,执行后在applog/log文件下生成一个 app.log文件
java -jar gmall-remake-mock-2023-05-15-3.jar test 100 2022-06-08

将上述日志生成命令封装为脚本

# 在/home/alpfree/bin目录下创建脚本lg.sh
vim lg.sh
#!/bin/bash
echo "========== hadoop1 =========="
ssh hadoop1 "cd /opt/module/applog/; nohup java -jar gmall-remake-mock-2023-05-15-3.jar $1 $2 $3 >/dev/null 2>&1 &"
# 修改脚本执行权限
chmod 777 lg.sh
#执行脚本
lg.sh test 100
#查看日志存放路径
cd /opt/module/applog/log


集群命令批量执行脚本

# 在/home/alpfree/bin目录下创建脚本xcall
vim xcall
#! /bin/bash
 
for i in hadoop1 hadoop2 hadoop3
do
    echo --------- $i ----------
    ssh $i "$*"
done
# 修改脚本执行权限
chmod 777 xcall
# 启动脚本
xcall jps

hadoop安装部署

部署方案

NameNode负责管理HDFS元数据(如文件目录结构、块位置等),需常驻内存。若元数据量大(如海量小文件),内存不足会导致性能瓶颈,因此分配4G内存

ResourceManager是YARN的核心调度器,需处理全局资源请求和任务调度,对内存要求较高(建议至少4G)

NameNode主要消耗内存(元数据管理),而ResourceManager需要CPU和内存(任务调度)。两者在2核4G下可共存,但需监控资源争用

hadoop1

hadoop2

hadoop3

配置

2C4G

2C2G

2C2G

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

ResourceManager

NodeManager

NodeManager

NodeManager

安装

# 将hadoop3.3.4.tar.gz导入到opt目录下面的software文件夹下面
# 进入到Hadoop安装包路径下
cd /opt/software/
# 解压安装文件到/opt/module下面
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/
# 查看是否解压成功
ls /opt/module/hadoop-3.3.4
# 重命名
mv /opt/module/hadoop-3.3.4 /opt/module/hadoop

将Hadoop添加到环境变量

# Hadoop安装路径 /opt/module/hadoop
# 打开/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh
# 在profile文件末尾添加HADOOP_HOME路径:
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# 保存后退出
:wq
# 分发环境变量文件
sudo /home/alpfree/bin/xsync /etc/profile.d/my_env.sh
# source 是之生效(3台节点)
source /etc/profile.d/my_env.sh

配置集群

# 配置core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
# 指定NameNode的地址
# 配置该atguigu(superUser)
# 配置hdfs-site.xml
vim hdfs-site.xml
# nn web端访问地址
# 2nn web端访问地址
# 配置yarn-site.xml
vim yarn-site.xml
# 指定ResourceManager的地址
# yarn单个容器允许分配的最大最小内存
# yarn容器允许管理的物理内存大小
# 关闭yarn对物理内存和虚拟内存的限制检查
# 配置mapred-site.xml
vim mapred-site.xml
# 配置workers
vim /opt/module/hadoop/etc/hadoop/workers
hadoop1
hadoop2
hadoop3
# 配置历史服务器,为了查看程序的历史运行情况,需要配置一下历史服务器
vim mapred-site.xml
# 在该文件里面增加如下配置
# <!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop1:10020</value>
</property>
# <!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop1:19888</value>
</property>
# 配置日志的聚集,应用运行完成以后,将程序运行日志信息上传到HDFS系统上
# 方便的查看到程序运行详情,方便开发调试,开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager
vim yarn-site.xml
# 在该文件里面增加如下配置
# <!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
# <!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://hadoop1:19888/jobhistory/logs</value>
</property>
# <!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

分发Hadoop,启动集群

cd /home/alpfree/bin

vim hdp.sh

# 群起脚本,在/home/atguigu/bin目录下创建hdp.sh
cd /home/alpfree/bin
vim hdp.sh
#!/bin/bash
if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi
case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="
        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop1 "/opt/module/hadoop/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop1 "/opt/module/hadoop/sbin/start-yarn.sh"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop1 "/opt/module/hadoop/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop1 "/opt/module/hadoop/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac
# 增加权限
chmod 777 hdp.sh
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop1 "/opt/module/hadoop/bin/mapred --daemon start historyserver"
        
        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop1 "/opt/module/hadoop/bin/mapred --daemon stop historyserver"
# 分发Hadoop
xsync /opt/module/hadoop/
# 集群是第一次启动,需要在hadoop102节点格式化NameNode
# 注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
cd /opt/module/hadoop/
bin/hdfs namenode -format
# 启动HDFS
sbin/start-dfs.sh
# 在配置了ResourceManager的节点(hadoop103)启动YARN
sbin/start-yarn.sh
# Web端查看HDFS的Web页面:http://hadoop1:9870/ http://113.45xx:9870/ 
# Web端查看SecondaryNameNode http://hadoop3:9868/status.html http://106.75.xx:9868/status.html
# 验证是否正常启动,查看线程,查看命令
jps 
hdfs dfs -ls /
# 开放必要的端口
# 启动集群
hdp.sh start
# 查看进程
xcall jps
# 停止集群
hdp.sh stop
# 查看进程
xcall jps


启动失败后解决方案

# 修改 hadoop-env.sh 文件永久设置环境变量,成功启动
vim etc/hadoop/hadoop-env.sh
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
# 创建一个新用户,但需要复制环境变量,没复制,没采用
# 创建hadoopuser
sudo useradd -m hadoopuser
sudo passwd hadoopuser #之后修改密码为 fN2ck659!
# 编辑 sbin/start-dfs.sh 和 sbin/stop-dfs.sh 脚本
export HDFS_NAMENODE_USER="hadoopuser"
export HDFS_DATANODE_USER="hadoopuser"
export HDFS_SECONDARYNAMENODE_USER="hadoopuser"
sudo chown -R hadoopuser:hadoopuser /opt/module/hadoop
# 在调用启动脚本时指定用户
sudo -u hadoopuser sbin/start-dfs.sh

连接不上解决方案


节点之间不能通信解决方案-修改host

分别修改对应的host为内网ip
vim /etc/hosts
外网ip 内网ip
https://blog.csdn.net/YongDaiMe/article/details/106837195


执行脚本及验证

# 分发Hadoop
xsync /opt/module/hadoop/
重启过程
hdfs namenode -format
hdp.sh start
xcall jps
hdp.sh stop
检查状态
hdfs dfsadmin -report
yarn node -list
C:\Windows\System32\drivers\etc\hosts
http://hadoop3:9868/status.html
http://hadoop1:9870/

历史服务器,日志聚集暂不配置


后续优化

# 生产环境服务器磁盘情况
# 在hdfs-site.xml文件中配置多目录,注意新挂载磁盘的访问权限问题
# DataNode节点保存数据的路径由dfs.datanode.data.dir参数决定,其默认值为file://${hadoop.tmp.dir}/dfs/data,
# 若服务器有多个磁盘,必须对该参数进行修改
df -h
# 集群数据均衡
# 开启数据均衡命令
# 参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%
start-balancer.sh -threshold 10
# 停止数据均衡命令
stop-balancer.sh
# 磁盘间数据均衡
# 执行均衡计划
# 查看当前均衡任务的执行情况
# 取消均衡任务
hdfs diskbalancer -plan hadoop103
hdfs diskbalancer -query hadoop103
hdfs diskbalancer -cancel hadoop103.plan.json
HDFS参数调优hdfs-site.xml
# NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作
# 对于大集群或者有大量客户端的集群来说,通常需要增大参数
# dfs.namenode.handler.count的默认值10
# YARN参数调优yarn-site.xml
# 7台机器,每天几亿条数据,数据源->Flume->Kafka->HDFS->Hive
# 数据统计主要用HiveSQL,没有数据倾斜,小文件已经做了合并处理,开启的JVM重用,而且IO没有阻塞,内存用了不到50%
# 但是还是跑的非常慢,而且数据量洪峰过来时,整个集群都会宕掉。基于这种情况有没有优化方案
# 解决办法:
# 内存利用率不够。这个一般是Yarn的2个配置造成的,
# 单个任务可以申请的最大内存大小,和Hadoop单个节点可用内存大小。调节这两个参数能提高系统内存的利用率
yarn.nodemanager.resource.memory-mb
# 表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果
# 你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量
# yarn.scheduler.maximum-allocation-mb
# 单个任务可申请的最多物理内存量,默认是8192(MB)。


zookeeper安装

安装步骤

# 解压安装
# 上传解压Zookeeper安装包到/opt/module/目录下
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/
# 修改/opt/module/apache-zookeeper-3.7.1-bin名称为zookeeper-3.7.1
mv apache-zookeeper-3.7.1-bin/ zookeeper
# 配置服务器编号
# 在/opt/module/zookeeper/目录下创建zkData
mkdir zkData
# 在/opt/module/zookeeper/zkData目录下创建一个myid的文件
# 在文件中添加与server对应的编号 1,在zkData 下创建,不然启动不了
vim myid
# 配置zoo.cfg文件
# 重命名/opt/module/zookeeper/conf目录下的zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
# 打开zoo.cfg文件
vim zoo.cfg
# 修改数据存储路径配置
dataDir=/opt/module/zookeeper/zkData
# 增加如下配置,server.A=B:C:D。
# A的值与zoo.cfg里面的配置信息比较从而判断到底是哪个server
# B是这个服务器的地址
# C Follower与集群中的Leader服务器交换信息的端口
# D 执行选举时服务器相互通信的端口
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
#端口之间通信,需要在云服务器上打开对应的端口
# 同步/opt/module/zookeeper目录内容到hadoop2、hadoop3
xsync zookeeper/
# 分别修改hadoop2、hadoop3上的myid文件中内容为2、3
vim myid
# 集群操作
# 分别启动Zookeeper
# 查看状态
bin/zkServer.sh start
bin/zkServer.sh status

ZK集群启动停止脚本

# Zookeeper集群启动、停止、查看状态
zk.sh start
zk.sh stop
zk.sh status
# 在hadoop1的/home/alpfree/bin目录下创建脚本
vim zk.sh
#!/bin/bash
case $1 in
"start"){
  for i in hadoop1 hadoop2 hadoop3
  do
        echo ---------- zookeeper $i 启动 ------------
    ssh $i "/opt/module/zookeeper/bin/zkServer.sh start"
  done
};;
"stop"){
  for i in hadoop1 hadoop2 hadoop3
  do
        echo ---------- zookeeper $i 停止 ------------    
    ssh $i "/opt/module/zookeeper/bin/zkServer.sh stop"
  done
};;
"status"){
  for i in hadoop1 hadoop2 hadoop3
  do
        echo ---------- zookeeper $i 状态 ------------    
    ssh $i "/opt/module/zookeeper/bin/zkServer.sh status"
  done
};;
esac
# 增加脚本执行权限
chmod 777 zk.sh

故障解决

在zookeeper目录下创建的myid,导致启动失败,应在子目录zkData下创建

安全组端口开放,三个端口

Kafka安装

安装步骤

安装部署
上传并解压安装包
tar -zxvf kafka_2.12-3.3.1.tgz -C /opt/module/
修改解压后的文件名称
cd /opt/module/
mv kafka_2.12-3.3.1/ kafka
进入到/opt/module/kafka目录,修改配置文件,打开9092端口
cd config/
vim server.properties
分发安装包
xsync kafka/
分别在hadoop103和hadoop104上修改配置文件
/opt/module/kafka/config/server.properties中的broker.id及advertised.listeners
配置环境变量
在/etc/profile.d/my_env.sh文件中增加kafka环境变量配置
sudo vim /etc/profile.d/my_env.sh
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
刷新一下环境变量
source /etc/profile
分发环境变量文件到其他节点,并source
sudo /home/alpfree/bin/xsync /etc/profile.d/my_env.sh

配置文件

#broker的全局唯一编号,不能重复,只能是数字。
broker.id=0
#broker对外暴露的IP和端口 (每个节点单独配置)
advertised.listeners=PLAINTEXT://hadoop1:9092
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的线程数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志(数据)存放的路径,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
# 每个topic创建时的副本数,默认时1个副本
offsets.topic.replication.factor=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#每个segment文件的大小,默认最大1G
log.segment.bytes=1073741824
# 检查过期数据的时间,默认5分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
#配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka

启动命令

# 先启动Zookeeper集群,然后启动Kafka
zk.sh start
# 依次在hadoop102、hadoop103、hadoop104节点上启动Kafka
bin/kafka-server-start.sh -daemon config/server.properties
# 查看进程
xcall jps
# 停止Kafka
bin/kafka-server-stop.sh
# 在/home/alpfree/bin目录下创建文件kf.sh脚本文件
vim kf.sh
#! /bin/bash
case $1 in
"start"){
    for i in hadoop1 hadoop2 hadoop3
    do
        echo " --------启动 $i Kafka-------"
        ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
    done
};;
"stop"){
    for i in hadoop1 hadoop2 hadoop3
    do
        echo " --------停止 $i Kafka-------"
        ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "
    done
};;
esac
 
# 添加执行权限
chmod 777 kf.sh
# 启动\停止集群命令
kf.sh start
kf.sh stop
# 停止Kafka集群时,一定要等Kafka所有节点进程全部停止后再停止Zookeeper集群。
# 因为Zookeeper集群当中记录着Kafka集群相关信息,Zookeeper集群一旦先停止,Kafka集群就没有办法再获取停止进程的信息,只能手动杀死Kafka进程了

命令行操作

查看操作主题命令参数
bin/kafka-topics.sh
查看当前服务器中的所有topic
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --list
创建first topic
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create --partitions 1 --replication-factor 3 --topic first
查看first主题的详情
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --describe --topic first
修改分区数(注意:分区数只能增加,不能减少)
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --alter --topic first --partitions 3
删除topic
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --delete --topic first
生产者命令行操作
查看操作生产者命令参数
bin/kafka-console-producer.sh
发送消息
bin/kafka-console-producer.sh --bootstrap-server hadoop1:9092 --topic first
消费者命令行操作
查看操作消费者命令参数
bin/kafka-console-consumer.sh
消费first主题中的数据
bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic first
把主题中所有的数据都读取出来(包括历史数据)
bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --from-beginning --topic first

故障点

百度的机器没启动起来,修改jvm初始和最大内存为512M

# kafka-server-start.sh 脚本片段
# 原来
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
# 修改后
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
fi

Flume安装

安装步骤

# 将apache-flume-1.10.1-bin.tar.gz上传到linux的/opt/software目录下
# 解压apache-flume-1.10.1-bin.tar.gz到/opt/module/目录下
tar -zxf /opt/software/apache-flume-1.10.1-bin.tar.gz -C /opt/module/
# 修改apache-flume-1.10.1-bin的名称为flume
mv /opt/module/apache-flume-1.10.1-bin /opt/module/flume
# 修改conf目录下的log4j2.xml配置文件,配置日志文件路径
   <Property name="LOG_DIR">/opt/module/flume/log</Property>
   
# 引入控制台输出,方便学习查看日志
    <Root level="INFO">
      <AppenderRef ref="LogFile" />
      <AppenderRef ref="Console" />
    </Root>
# 堆内存调整
# 修改/opt/module/flume/conf/flume-env.sh文件,配置如下参数
vim flume-env.sh
export JAVA_OPTS="-Xms2048m -Xmx2048m -Dcom.sun.management.jmxremote"
# 分发
xsync /opt/module/flume/

日志采集flume配置

# 在hadoop1节点的Flume的job目录下创建file_to_kafka.conf
mkdir job
vim job/file_to_kafka.conf
# 配置文件内容如下
#定义组件
a1.sources = r1
a1.channels = c1
#配置source
a1.sources.r1.type = TAILDIR
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /opt/module/applog/log/app.*
a1.sources.r1.positionFile = /opt/module/flume/taildir_position.json
#配置channel
a1.channels.c1.type = org.apache.flume.channel.kafka.KafkaChannel
a1.channels.c1.kafka.bootstrap.servers = hadoop1:9092,hadoop3:9092
a1.channels.c1.kafka.topic = topic_log
a1.channels.c1.parseAsFlumeEvent = false
#组装 
a1.sources.r1.channels = c1

Flume启动脚本

# 日志采集Flume启停脚本
# 在hadoop102节点的/home/alpfree/bin目录下创建脚本f1.sh
vim f1.sh
#!/bin/bash
case $1 in
"start"){
    echo " --------启动 hadoop102 采集flume-------"
    ssh hadoop1 "nohup /opt/module/flume/bin/flume-ng agent -n a1 -c /opt/module/flume/conf/ -f /opt/module/flume/job/file_to_kafka.conf >/dev/null 2>&1 &"
};; 
"stop"){
    echo " --------停止 hadoop102 采集flume-------"
    ssh hadoop1 "ps -ef | grep file_to_kafka | grep -v grep |awk  '{print \$2}' | xargs -n1 kill -9 "
};;
esac
# 增加脚本执行权限
chmod 777 f1.sh
# f1启动\f1停止
f1.sh start
f1.sh stop

测试

# 启动Zookeeper、Kafka集群 zk.sh start kf.sh start
# 启动hadoop102的日志采集Flume f1.sh start
bin/flume-ng agent -n a1 -c conf/ -f job/file_to_kafka.conf
# 启动一个Kafka的Console-Consumer
bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic topic_log
# 生成数据,执行集群日志生成脚本
lg.sh test 100
# 观察Kafka消费者是否能消费到数据 kafka tool 
连接方式


故障

复制配置文件的时候,开头少写一个 a

可以看到消息,但kakfa中显示的是二进制文件,在kafka tool中更改下内容类型,再upate一下就正常显示了


参考资料

海波老师-电商数仓

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
16天前
|
存储 固态存储 网络协议
YashanDB安装前服务器准备
本文档源自YashanDB官网,详细介绍了YashanDB的安装前准备与部署配置要求。内容涵盖服务器配置(操作系统、CPU、内存、硬盘等推荐及最低标准)、共享存储配置、部署规模(单机主备、分布式、共享集群等场景)以及各类部署示例的服务器列表。特别提示,在虚拟机环境中需将硬盘设置为独立-永久模式以避免数据损坏。此文档为用户根据实际需求选择合适的部署方案提供了全面指导。
|
1月前
|
SQL 分布式计算 关系型数据库
基于云服务器的数仓搭建-hive/spark安装
本文介绍了在本地安装和配置MySQL、Hive及Spark的过程。主要内容包括: - **MySQL本地安装**:详细描述了内存占用情况及安装步骤,涉及安装脚本的编写与执行,以及连接MySQL的方法。 - **Hive安装**:涵盖了从上传压缩包到配置环境变量的全过程,并解释了如何将Hive元数据存储配置到MySQL中。 - **Hive与Spark集成**:说明了如何安装Spark并将其与Hive集成,确保Hive任务由Spark执行,同时解决了依赖冲突问题。 - **常见问题及解决方法**:列举了安装过程中可能遇到的问题及其解决方案,如内存配置不足、节点间通信问题等。
208 1
基于云服务器的数仓搭建-hive/spark安装
|
18天前
|
JSON JavaScript 前端开发
怎么安装JSON服务器?JSON服务器最新安装教程
JSON Server是一款轻量级工具,基于Node.js运行,可通过单个JSON文件快速模拟RESTful API,适用于开发与测试场景。其支持CRUD操作、自定义路由及高级功能如排序、搜索、分页等,同时允许通过中间件扩展功能。为确保安全性,建议在受控环境中使用,并避免处理敏感数据。此外,还有Mirage JS、Mockoon、WireMock和Postman等替代方案,可根据项目需求选择合适的工具。
46 0
|
1月前
|
弹性计算 运维 Ubuntu
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
393 4
|
2月前
|
存储 分布式计算 物联网
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
|
2月前
|
SQL 存储 OLAP
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
|
6月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
6月前
|
人工智能 分布式计算 数据管理
阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别
国际数据公司( IDC )首次发布了《IDC MarketScape: 中国实时湖仓市场 2024 年厂商评估》,阿里云在首次报告发布即位居领导者类别。
|
6月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
401 0
|
7月前
|
存储 机器学习/深度学习 监控
阿里云 Hologres OLAP 解决方案评测
随着大数据时代的到来,企业面临着海量数据的挑战,如何高效地进行数据分析和决策变得尤为重要。阿里云推出的 Hologres OLAP(在线分析处理)解决方案,旨在为用户提供快速、高效的数据分析能力。本文将深入探讨 Hologres OLAP 的特点、优势以及应用场景,并针对方案的技术细节、部署指导、代码示例和数据分析需求进行评测。
252 7

热门文章

最新文章