首页 > 其他分享 >数仓项目环境搭建

数仓项目环境搭建

时间:2024-09-18 11:48:31浏览次数:11  
标签:opt 数仓 installs 环境 hive metastore mysql rpm 搭建

目录

一、安装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.sh

vi 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/dolphinscheduler

cp /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.Driver
    url: jdbc:mysql://shucang:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: 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.properties

resource.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的完整流程。通过这些工具的协同工作,可以实现高效稳定的数据仓库环境。

标签:opt,数仓,installs,环境,hive,metastore,mysql,rpm,搭建
From: https://blog.csdn.net/m0_70691645/article/details/142218034

相关文章

  • GBASEDBTSERVER 环境变量7GBASEDBTSHMBASE 环境变量 (UNIX™)
    GBASEDBTSERVER环境变量GBASEDBTSERVER环境变量指定SQLAPI客户机、DB-Access实用程序或其他GBase8s产品与之建立显式或隐式连接的缺省数据库服务器。必须先设置此环境变量,才能使用GBase8s客户机产品。它具有以下语法。dbservername是缺省数据库服务器的名称。GBA......
  • HTML页面中搭建WebSocket服务和调试部署的手把手操作教程
    好的,以下是一份关于“在HTML页面中搭建WebSocket服务和调试部署”的手把手操作流程,由浅入深,先整体后分部:一、引言WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许服务器主动发送信息给客户端,使得实时应用成为可能。本文将详细介绍如何在HTML页面中搭建WebSoc......
  • 在CentOS系统中如何配置Java开发环境环境变量的手把手操作流程
    以下是一份关于“在CentOS系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在CentOS系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如何......
  • 在Windows系统中如何配置Java开发环境环境变量&零基础手把手教程
    以下是一份关于“在Windows系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在Windows系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如......
  • Springboot基于BS的校园招聘网站u3o9e(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着高等教育的普及和就业压力的增大,校园招聘成为大学生求职的重要途径。然而,传统招聘方式存在信息不对称、效率低下等问题,给学生和企......
  • Springboot机票订购系统的设计与实现gz7ete程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着全球经济的不断发展和人们生活水平的提高,航空旅行已成为现代社会中不可或缺的出行方式之一。然而,传统的机票订购方式存在信......
  • 精简实用!一分钟搭建文件管理服务!
    大家好,我是Java陈序员。今天,给大家介绍一款精简实用的文件托管服务,一分钟即可搭建使用!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍Dufs——一款多功能的实用文件服务器。不仅支持静态文件的托管服务,还具备文件上......
  • [附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
    今天带来一款优秀的项目:个人博客系统源码 。系统采用的流行的前后端分离结构,内含功能包括"写博客文章",“修改博客文章”,“富文本编辑器”,“评论管理”“管理员角色”,“游客角色”,“文章标签”,“文章分类”如果您有任何问题,也请联系小编,小编是经验丰富的程序员! 一.系统演......
  • 极狐gitlab 搭建
    1、安装参考:https://gitlab.cn/install/2、启动容器:注意:$GITLAB_HOME变量需要提前设置sudodockerrun--detach\--hostnamelocalhost\--publish13443:443--publish13800:80--publish13822:22\--namegitlab\--restartalways\--volume$GITLAB_HOME/config:......
  • windows 上 Tauri 开发环境配置
    Tauri是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成HTML、JavaScript和CSS的前端框架,同时可以在必要时使用Rust、Swift和Kotlin等语言编写后端逻辑。Tauri使用MicrosoftC++构建工具进行开发以......