当前位置: 首页 > news >正文

数仓项目环境搭建

目录

一、安装CentOS

1.1、修改映射关系:

1.2、免密登录:

1.3、关闭防⽕墙:

1.4、修改linux的安全机制:

1.5、修改yum源:

二、安装JDK

2.1、创建文件夹:

2.2、解压安装:

2.3、配置环境变量:

2.4、刷新环境变量:

2.5、验证:

三、安装Hadoop[伪分布式]

3.1、安装hdfs:

3.2、修改配置:

3.3、安装Yarn:

四、安装MySQL8.0

4.1、删除mysql相关的内容

4.2、上传解压

4.3、安装服务

4.4、服务启动

4.5、修改密码

4.6、远程授权:

4.7、自动化安装脚本:

五、安装Hive

5.1、修改为本地模式

5.2、配置环境变量

5.3、修改配置文件

六、安装Flume、DataX和SQOOP

6.1、解压、重命名

6.2、配置环境变量

6.3、修改配置文件

6.4、拷贝mysql8.0的驱动包

七、安装DS[单机版]

7.1、上传,解压

7.2、拷贝mysql8.0的驱动包

7.3、在mysql中创建数据库

八、总结


搭建数仓项目环境是数据工程师工作的重要组成部分,它确保数据从源头到数据仓库的采集、清洗、存储、分析等环节高效稳定。以下是如何搭建一个典型数仓项目环境的详细指南:

安装所需的安装包(飞书):软件安装包

一、安装CentOS

1.1、修改映射关系:

vi /etc/hosts

1.2、免密登录:

ssh-keygen -t rsa
ssh-copy-id shucang

1.3、关闭防⽕墙:

systemctl stop firewalld
systemctl disable firewalld

1.4、修改linux的安全机制:

vi /etc/selinux/config
# 修改文件⾥⾯ SELINUX=disabled

1.5、修改yum源:

#修改阿里云的镜像文件:
1、cd /etc/yum.repos.d/
2、备份⼀下:mv CentOS-Base.repo CentOS-Base.repo.bak
3、下载阿⾥云镜像到本地:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4、清除yum的缓存 yum clean all yum makecache
5、安装 yum install -y ntpdate yum install -y vim yum install -y net-tools

二、安装JDK

2.1、创建文件夹:

mkdir -p /opt/modules
mkdir -p /opt/installs

2.2、解压安装:

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/installs/ mv jdk1.8.0_171/ jdk

2.3、配置环境变量:

export JAVA_HOME=/opt/installs/jdk
export PATH=$PATH:$JAVA_HOME/bin

2.4、刷新环境变量:

source /etc/profile

2.5、验证:

java -version

三、安装Hadoop[伪分布式]

3.1、安装hdfs:

tar -zxvf hadoop-3.3.1.tar.gz -C /opt/installs/
mv hadoop-3.3.1/ hadoop
#环境变量:
export HADOOP_HOME=/opt/installs/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#刷新环境变量 source /etc/profile
#验证: hadoop version

3.2、修改配置:

1、修改core-site.xml

<configuration>
<!-- 设置namenode节点 -->
<!-- 注意: hadoop1.x时代默认端⼝9000 hadoop2.x时代默认端⼝8020 hadoop3.x时 代默认端⼝ 9820 --> <property>
<name>fs.defaultFS</name>
<value>hdfs://shucang:9820</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的⼀个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/installs/hadoop/tmp</value>
</property>
</configuration>

2、修改hdfs-site.xml

<configuration>
<property>
<!--备份数量-->
<name>dfs.replication</name>
<value>1</value>
</property>
<!--secondarynamenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>shucang:9868</value>
</property>
<!-- namenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.http-address</name>
<value>shucang:9870</value>
</property>
</configuration>

3、修改hadoop-env.sh

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export JAVA_HOME=/opt/installs/jdk

4、修改workers 文件

shucang

5、格式化namenode

hdfs namenode -format

3.3、安装Yarn:

1、修改mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
#指定mapreduce运行平台为yarn

2、检查hadoop-env.sh

export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

3、配置yarn-site.xml

为了防止报AppMaster的错误,需要如下配置:

<property>
<name>yarn.application.classpath</name>
<value>/opt/installs/hadoop/etc/hadoop:/opt/installs/hadoop/share/hadoop/common/lib/*:/opt/installs/hadoop/share/hadoop/common/*:/opt/installs/hadoop/share/hadoop/hdfs:/opt/installs/hadoop/share/hadoop/hdfs/lib/*:/opt/installs/hadoop/share/hadoop/hdfs/*:/opt/installs/hadoop/share/hadoop/mapreduce/*:/opt/installs/hadoop/share/hadoop/yarn:/opt/installs/hadoop/share/hadoop/yarn/lib/*:/opt/installs/hadoop/share/hadoop/yarn/*</value>
</property>

获取classpath的值:

hadoop classpath

4、启动和停止yarn平台:

#启动
start-yarn.sh
#停止
stop-yarn.sh

5、web访问一下:

http://shucang:8088

四、安装MySQL8.0

4.1、删除mysql相关的内容

rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

4.2、上传解压

mkdir /opt/modules/mysql_rpm
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C /opt/modules/mysql_rpm

4.3、安装服务

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
yum install libaio
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

4.4、服务启动

systemctl start mysqld #这个是启动
mysql systemctl status mysqld #查看mysql的状态 
systemctl stop mysqld #关闭服务

4.5、修改密码

#查看默认密码
grep password /var/log/mysqld.log

进入mysql:

mysql -uroot -p 敲回车 粘贴密码即可

修改密码:

alter user root@localhost identified by 'Y1u2n3h4e5!';

修改密码校验规则:

show variables like '%validate_password%'; # 查看密码策略
set global validate_password.policy=LOW; # 修改密码策略等级为LOW
set global validate_password.length=4; # 密码的最小长度 set global validate_password.mixed_case_count=0; # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password.number_count=0; # 设置密码中至少要包含0个数字
set global validate_password.special_char_count=0; # 设置密码中至少要包含0个特殊字符

再次修改密码:

alter user root@localhost identified by '123456';

4.6、远程授权:

create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

4.7、自动化安装脚本:

#!/bin/bash
####################################
# 1.建立临时文件夹
# 2.tar文件 ,与此脚本放同一目录
# 3.删除centos7自带的MySQL
# 4.按顺序安装MySQL相关的依赖包
# 5.修改MySQL的密码 -- 默认使用密码为123456
# 6.配置MySQL可以被远程访问(实际开发中也是,有些机器需要有访问这个机器MySQL的权限)
# 7.开放3306端口,提供远程访问 # $? => 代表上一个命令执行后的退出状态: 0->成功,1->失败 # example => sh mysql8.0.26.sh 
####################################
# echo -e "\e[1;32m****\e[0m" # 安装vim yum install -y vim
#第一步、创建一个临时的文件夹
mkdir mysql_rpm
#第二步、把新上传的MySQL的安装包移动到mysql_rpm下
mv mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar mysql_rpm
#进入到mysql_rpm目录下,开始执行下面的操作
cd mysql_rpm
#解压MySQL的安装包,在当前目录下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
#查看集群上现有的MySQL,需要删除掉
mysql_old=`rpm -qa | grep mariadb` echo -e "\e[1;32m当前centos中MySQL版本是: ${mysql_old}\e[0m"
#删除自带的MySQL
rpm -e --nodeps ${mysql_old}
#验证旧版本的MySQL是否被删除掉
mysql_validate=`rpm -qa | grep mariadb` echo -e "\e[1;32m验证旧版的MySQL是否被删除干净: ${mysql_validate}\e[0m"
#开始安装MySQL,注意:这些包安装是有顺序的
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
#判断安装的过程是否成功
if [ $? == 0 ];then
echo -e "\e[1;32m安装------mysql-community-common-8.0.26-1.el7.x86_64.rpm -- 第1个包------- 成功\e[0m"
else
echo -e "\e[1;31m安装------mysql-community-common-8.0.26-1.el7.x86_64.rpm -- 第1个包------- 失败\e[0m"
fi
#第二个包
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
echo -e "\e[1;32m安装------mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm -- 第2个包------- 成功\e[0m"
else
echo -e "\e[1;31m安装------mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm -- 第2个包------- 失败\e[0m"
fi
#第三个包:安装rpm -ivh numactl* 这是安装以前缀numactl开始的所有安装包
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
echo -e "\e[1;32m安装------mysql-community-libs-8.0.26-1.el7.x86_64.rpm -- 第3个包------- 成功\e[0m"
else
echo -e "\e[1;31m安装------mysql-community-libs-8.0.26-1.el7.x86_64.rpm -- 第3个包------- 失败\e[0m"
fi
#第四个包:安装mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
echo -e "\e[1;32m安装------mysql-community-client-8.0.26-1.el7.x86_64.rpm 第4个包------- 成功\e[0m"
else
echo -e "\e[1;31m安装------mysql-community-client-8.0.26-1.el7.x86_64.rpm 第4个包------- 失败\e[0m"
fi
yum install -y net-tools
yum install -y perl
yum install libaio
#第五个包:安装 mysql-community-server-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
echo -e "\e[1;32m安装------mysql-community-server-8.0.26-1.el7.x86_64.rpm -- 第5个包------- 成功\e[0m"
else
echo -e "\e[1;31m安装------mysql-community-server-8.0.26-1.el7.x86_64.rpm -- 第5个包------- 失败\e[0m"
fi
#启动MySQL
# service mysqld start
systemctl start mysqld
#验证是否启动成功可以查看MySQL的启动状态
service mysqld status >start.log
#查看MySQL的初始密码,把携带密码信息加载到下面这个文件中
grep 'temporary password' /var/log/mysqld.log >result.txt
#读取文件中的密码,用于登录MySQL
password_mysql=`cat result.txt | grep 'localhost' | awk -F ': ' '{print $2}'`
echo -e "\e[1;32m查看MySQL的原始密码是啥 \e[0m --> \e[1;31m ${password_mysql}\e[0m"
#连接MySQL的几个参数
hostname="localhost"
username="root"
port="3306"
#进入MySQL的交互模式,修改相应的参数,设置简单的密码为123456,为了以后自己用方便,实际上生产的密码都比较复杂一些
#mysql -h${hostname} -u${username} -P${port} -p${password_mysql} <<EOF
mysql -u${username} -p${password_mysql} --connect-expired-password <<EOF
set global validate_password.policy=LOW;
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
alter user root@localhost identified by '123456';
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
quit EOF
# 防火墙开启状态下,开放3306端口
# openPort(){ # echo -e "\e[1;32m开放3306端口"
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# echo -e "\e[1;32m重启firewall..."
# firewall-cmd --reload # } # openPort

五、安装Hive

5.1、修改为本地模式

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/installs/
mv apache-hive-3.1.2-bin/ hive

5.2、配置环境变量

export HIVE_HOME=/opt/installs/hive
export PATH=$PATH:$HIVE_HOME/bin
#刷新环境变量
source /etc/profile

5.3、修改配置文件

mv hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

hive-env.sh

export HIVE_CONF_DIR=/opt/installs/hive/conf
export JAVA_HOME=/opt/installs/jdk
export HADOOP_HOME=/opt/installs/hadoop
export HIVE_AUX_JARS_PATH=/opt/installs/hive/lib
export HADOOP_HEAPSIZE=4096

hive-site.xml

将以前的设置全部删除

<!--配置MySql的连接字符串-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description>
</property>
<!--配置MySql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!--配置登录MySql的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!--配置登录MySql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<!-- 以下两个不需要修改,只需要了解即可 -->
<!-- 该参数主要指定Hive的数据存储目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 该参数主要指定Hive的临时文件存储目录 -->
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
</property>
<!--Hive工作的本地临时存储空间--> 
<property>
<name>hive.exec.local.scratchdir</name>
<value>/opt/installs/hive/iotmp/root</value>
</property>
<!--如果启用了日志功能,则存储操作日志的顶级目录-->
<property>
<name>hive.server2.logging.operation.log.location</name> <value>/opt/installs/hive/iotmp/root/operation_logs</value>
</property>
<!--Hive运行时结构化日志文件的位置-->
<property> <name>hive.querylog.location</name> <value>/opt/installs/hive/iotmp/root</value>
</property>
<!--用于在远程文件系统中添加资源的临时本地目录-->
<property>
<name>hive.downloaded.resources.dir</name> <value>/opt/installs/hive/iotmp/${Hive.session.id}_resources</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>shucang</value>
<description>Bind host on which to run the HiveServer2 Thrift service.</description> </property>
<property>
<name>hive.server2.thrift.port</name> <value>10000</value>
<description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://shucang:9083</value>
</property>

5、创建各种目录和文件夹

hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /tmp/hive/
hdfs dfs -chmod 750 /user/hive/warehouse
hdfs dfs -chmod 777 /tmp/hive cd /opt/installs/hive/
mkdir iotmp chmod 777 iotmp

拷贝驱动包到lib

core-site.xml[hadoop]

<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 不开启权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

格式化元数据

schematool --initSchema -dbType mysql

启用元数据 metastore

-- 拷贝一个脚本
hive-service-manager.sh
cd /usr/local/bin chmod 777
hive-server-manager.sh

hive-service-manager.sh

#!/bin/bash
# hive 服务控制脚本,可以控制 Hive 的 metastore 和 hiveserver2 服务的启停
# 使用方式: hive-server-manager.sh [start|stop|status] [metastore|hiveserver2]
# - start : 一键开启metastore和hiveserver2服务,也可以指定服务开启
# - stop : 一键停止metastore和hiveserver2服务,也可以指定服务停止
# - status : 一键查看metastore和hiveserver2服务,也可以指定服务查看
help_info() {
echo "+--------------------------------------------------------------------------------+"
echo "| 本脚本可以一键控制 Hive 的 metastore 和 hiveserver2 服务 |"
echo "| 使用方式: hive-server-manager.sh [start|stop|status] [metastore|hiveserver2] |" echo "+--------------------------------------------------------------------------------+" 
echo "| 第一个参数用来指定操作命令,可以选择 开始(start)、停止(stop)、状态查看(status) |"
echo "| 第二个参数用来指定操作的服务,可以选择 metastore、hiveserver2,默认为全部 |"
echo "+--------------------------------------------------------------------------------+" 
echo "| - start : 一键开启metastore和hiveserver2服务,也可以指定服务开启 |"
echo "| - stop : 一键停止metastore和hiveserver2服务,也可以指定服务停止 |"
echo "| - status : 一键查看metastore和hiveserver2服务,也可以指定服务查看 |"
echo "+--------------------------------------------------------------------------------+" exit -1
}
# 获取操作命令
op=$1
# 获取操作的服务
server=$2
# 检查参数是否正确
if [ ! $op ]; then
help_info
elif [ $op != "start" -a $op != "stop" -a $op != "status" ]; then
help_info
fi
# 检查进程状态
metastore_pid=`ps aux | grep org.apache.hadoop.hive.metastore.HiveMetaStore | grep -v grep | awk '{print $2}'`
hiveserver2_pid=`ps aux | grep proc_hiveserver2 | grep -v grep | awk '{print $2}'`
# 检查日志文件夹的存在情况,如果不存在则创建这个文件夹 log_dir=/var/log/my_hive_log
if [ ! -e $log_dir ]; then
mkdir -p $log_dir
fi
# 开启服务
start_metastore() {
# 检查是否开启,如果未开启,则开启 metastore 服务
if [ $metastore_pid ]; then
echo "metastore 服务已经开启,进程号: $metastore_pid,已跳过"
else
nohup hive --service metastore >> $log_dir/metastore.log 2>&1 & echo "metastore 服务已经开启,日志输出在 $log_dir/metastore.log"
fi
}
start_hiveserver2() {
# 检查是否开启,如果未开启,则开启 hiveserver2 服务
if [ $hiveserver2_pid ]; then
echo "hiveserver2 服务已经开启,进程号: $hiveserver2_pid,已跳过"
else
nohup hive --service hiveserver2 >> $log_dir/hiveserver2.log 2>&1 & echo "hiveserver2 服务已经开启,日志输出在 $log_dir/hiveserver2.log"
fi
}
# 停止服务
stop_metastore() {
if [ $metastore_pid ]; then
kill -9 $metastore_pid fi echo "metastore 服务已停止"
}
stop_hiveserver2() {
if [ $hiveserver2_pid ]; then
kill -9 $hiveserver2_pid
fi
echo "hiveserver2 服务已停止"
}
# 查询服务
status_metastore() {
if [ $metastore_pid ]; then
echo "metastore 服务已开启,进程号: $metastore_pid"
else
echo "metastore 服务未开启"
fi
}
status_hiveserver2() {
if [ $hiveserver2_pid ]; then echo "hiveserver2 服务已开启,进程号: $hiveserver2_pid"
else
echo "hiveserver2 服务未开启"
fi
}
# 控制操作
if [ ! $server ]; then
${op}_metastore ${op}_hiveserver2
elif [ $server == "metastore" ]; then
${op}_metastore
elif [ $server == "hiveserver2" ]; then
${op}_hiveserver2
else 
echo "服务选择错误"
help_info
fi

设置远程连接

hive-server-manager.sh start

六、安装Flume、DataX和SQOOP

6.1、解压、重命名

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/installs/
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop#也可以使用如下命令:--strip-components 1 解压后获取一层里面的内容
mkdir /opt/installs/sqoop && tar -xzvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/installs/sqoop --strip-components 1

6.2、配置环境变量

export SQOOP_HOME=/opt/installs/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#刷新环境变量
source /etc/profile

6.3、修改配置文件

cp sqoop-env-template.sh sqoop-env.shvi sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/installs/hadoop
export HADOOP_MAPRED_HOME=/opt/installs/hadoop
export HIVE_HOME=/opt/installs/hive

6.4、拷贝mysql8.0的驱动包

cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar /opt/installs/sqoop/lib/

七、安装DS[单机版]

7.1、上传,解压

tar -zxvf  apache-dolphinscheduler-3.1.8-bin.tar.gz  -C /opt/installs/
mv apache-dolphinscheduler-3.1.8-bin dolphinscheduler

7.2、拷贝mysql8.0的驱动包

cd /opt/installs/dolphinschedulercp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./api-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./alert-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./master-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./worker-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./tools/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./standalone-server/libs/standalone-server/

7.3、在mysql中创建数据库

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

在Linux黑窗口运行:

export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://shucang:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=root
export SPRING_DATASOURCE_PASSWORD=123456

初始化数据库:

bash tools/bin/upgrade-schema.sh

修改配置文件:/opt/installs/dolphinscheduler/standalone-server/conf

修改 DolphinScheduler 的配置
在 DolphinScheduler 的安装目录下找到 conf/application.yaml 文件。
将其中关于数据库连接的部分修改为指向你的 MySQL 实例,包括用户名、密码、数据库名等信息。以下是修改后的示例:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://shucang:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456

如何启动和关闭单机版:

注意: Standalone 仅建议 20 个以下工作流使用,因为其采用内存式的 H2 Database, Zookeeper Testing Server,任务过多可能导致不稳定,并且如果重启或者停止 standalone-server 会导致内存中数据库里的数据清空。 如何启动和关闭单机版:
# 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
bash ./bin/dolphinscheduler-daemon.sh status standalone-server

单机模式比较省内存:

访问地址:http://shucang:12345/dolphinscheduler/ui
账号和密码:  admin  dolphinscheduler123

问题:上传资源提示 存储未启用 如何开启HDFS

这个软件下面有很多的服务,将每一个服务下的common.properties中的内容全部修改一遍,最后重启服务

#修改所有组件下的common.propertiesresource.storage.type=HDFS
resource.storage.upload.base.path=/dolphinscheduler
resource.hdfs.fs.defaultFS=hdfs://shucang:9820#修改hdfs的权限:
hdfs dfs -chmod 777 /

八、总结

搭建数仓项目环境涉及多个组件和工具的安装与配置,每个步骤都至关重要。本文介绍了从JDK安装、Hadoop、Hive的搭建,到数据采集工具Flume、数据同步工具DataX以及调度工具DS的完整流程。通过这些工具的协同工作,可以实现高效稳定的数据仓库环境。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 828华为云征文 | 云服务器Flexus X实例,搭建上线前后端项目
  • 电脑桌面如何分区展示工作任务?
  • 唯品会大数据面试题及参考答案(3万字长文)
  • Qt与Udp
  • 力扣最热一百题——合并两个有序链表
  • 运维工程师面试整理-安全常见安全漏洞及修复
  • 【RabbitMQ 项目】服务端:数据管理模块之虚拟机模块
  • XWiki中添加 html 二次编辑失效
  • 4.qml单例模式
  • Windows系统通过部署wsl + Goland进行跨平台开发
  • 劳特巴赫ICD调试器CMM调用烧录框架固件研究之C语言版本
  • Android 中使用高德地图实现根据经纬度信息画出轨迹、设置缩放倍数并定位到轨迹路线的方法
  • 浅谈人工智能之基于HTTP方式调用本地QWen OPenAI接口(Java版)
  • Qt_按钮类控件
  • 今日leetcode 349.两个数组的交集
  • CSS魔法堂:Absolute Positioning就这个样
  • echarts花样作死的坑
  • express如何解决request entity too large问题
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Object.assign方法不能实现深复制
  • PHP变量
  • React-flux杂记
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • V4L2视频输入框架概述
  • vuex 学习笔记 01
  • Vue学习第二天
  • Wamp集成环境 添加PHP的新版本
  • 测试开发系类之接口自动化测试
  • 第2章 网络文档
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 解析带emoji和链接的聊天系统消息
  • 日剧·日综资源集合(建议收藏)
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 微信小程序开发问题汇总
  • 小而合理的前端理论:rscss和rsjs
  • 用Visual Studio开发以太坊智能合约
  • MyCAT水平分库
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # Kafka_深入探秘者(2):kafka 生产者
  • ## 基础知识
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .Net mvc总结
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET 指南:抽象化实现的基类
  • .NET 中让 Task 支持带超时的异步等待
  • .NET开发不可不知、不可不用的辅助类(一)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国