如何更改网站域名,织梦调用网站名称,wordpress安装权限,雷州手机网站建设公司文章目录 一、Spark1.1 NetWork 网络1.2 安装 Java81.3 安装 Python 环境1.4 Spark 安装部署 二、Kafka三、StarRocks四、Redis五、Rabbitmq六、Emqx6.1 前言6.2 安装部署 七、Flink八、Nacos九、Nginx 一、Spark
1.1 NetWork 网络
docker network lsdocker network create -… 文章目录 一、Spark1.1 NetWork 网络1.2 安装 Java81.3 安装 Python 环境1.4 Spark 安装部署 二、Kafka三、StarRocks四、Redis五、Rabbitmq六、Emqx6.1 前言6.2 安装部署 七、Flink八、Nacos九、Nginx 一、Spark
1.1 NetWork 网络
docker network lsdocker network create --driverbridge hadoop-network1.2 安装 Java8 下载基础镜像
docker pull centos:71.3 安装 Python 环境 Miniconda3 安装
roothadoop:~# apt install wgetroothadoop:~# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shroothadoop:~# bash Miniconda3-latest-Linux-x86_64.shroothadoop:~# source .bashrc
(base) roothadoop:~# python
Python 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 15:12:24) [GCC 11.2.0] on linux
Type help, copyright, credits or license for more information.exit()可参考Miniconda安装教程
1.4 Spark 安装部署 上传安装包
docker cp spark-2.4.0-bin-hadoop2.7.tgz ubuntu-java8:/usr/localdocker cp scala-2.11.12.tgz ubuntu-java8:/usr/local解压
# 解压
tar -zxf spark-2.4.0-bin-hadoop2.7.tgz
tar -zxf scala-2.11.12.tgz# 删除
rm -rf spark-2.4.0-bin-hadoop2.7.tgz
rm -rf scala-2.11.12.tgz修改配置要运行本地模式的话可忽略
cd /usr/local/spark-2.4.0-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh# 添加内容
export JAVA_HOME/usr/java/jdk1.8.0_212
export SCALA_HOME/usr/local/scala-2.11.12
export SPARK_HOME/usr/local/spark-2.4.0-bin-hadoop2.7
export HADOOP_INSTALL/usr/local/hadoop-3.0.0
export HADOOP_CONF_DIR$HADOOP_INSTALL/etc/hadoop注默认没有 vi 和 vim 命令需要安装安装命令apt install vim 环境变量
roothadoop:~# vim .bashrc
# SPARK_HOME
export SPARK_HOME/usr/local/spark-2.4.0-bin-hadoop2.7
export PATH$SPARK_HOME/bin:$PATH测试命令
spark-submit --master local[*] --class org.apache.spark.examples.SparkPi $SPARK_HOME/examples/jars/spark-examples_2.11-2.4.0.jar 20二、Kafka 下载镜像
docker pull bitnami/kafka:3.6.0启动容器
docker run -d --name kafka \
-p 9092:9092 \
--network hadoop-network \
-e KAFKA_ADVERTISED_PORT9092 \
-e KAFKA_ENABLE_KRAFTyes \
-e KAFKA_CFG_PROCESS_ROLESbroker,controller \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAPCONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMESCONTROLLER \
-e KAFKA_CFG_LISTENERSPLAINTEXT://:9092,CONTROLLER://:9093 \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS1127.0.0.1:9093 \
-e KAFKA_KRAFT_CLUSTER_IDjkUlhzQmQkic54LMxrB1oV \
-e ALLOW_PLAINTEXT_LISTENERyes \
-e KAFKA_BROKER_ID1 \
-e KAFKA_CFG_NODE_ID1 \
bitnami/kafka:3.6.0-d选项以守护程序模式运行容器。
--name kafka为容器指定一个名称。
-p 9092:9092将容器中的 9092 端口(后面的)映射到主机的 9092 端口前面的。要验证 Kafka 是否正在运行请使用以下命令检查容器的日志
docker logs kafka。。。
[2024-09-25 09:02:34,287] INFO Kafka version: 3.6.0 (org.apache.kafka.common.utils.AppInfoParser)
[2024-09-25 09:02:34,287] INFO Kafka commitId: 60e845626d8a465a (org.apache.kafka.common.utils.AppInfoParser)
[2024-09-25 09:02:34,287] INFO Kafka startTimeMs: 1727254954286 (org.apache.kafka.common.utils.AppInfoParser)
[2024-09-25 09:02:34,289] INFO [KafkaRaftServer nodeId1] Kafka Server started (kafka.server.KafkaRaftServer)创建主题
docker exec -it kafka /bin/bash# data解析
kafka-topics.sh --create --topic xiaoqiang-result-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1kafka-topics.sh --bootstrap-server localhost:9092 --list三、StarRocks
集群部署参考文档通过 docker-compose 快速部署 StarRocks 保姆级教程 下载官方镜像
docker pull starrocks/allin1-ubuntu:3.1.13运行容器
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd --name starrocks starrocks/allin1-ubuntu:3.1.13# 进入容器
docker exec -it starrocks mysql -P 9030 -h 127.0.0.1 -u root四、Redis 下载镜像
docker pull redis编辑配置文件 /home/bigdata/redis/redis.conf使 Redis 支持数据持久化
protected-mode noport 6379tcp-backlog 511
#redis密码 强烈建议设置复杂一些
requirepass ABCabc123timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile
databases 30
always-show-logo yessave 900 1
save 300 10
save 60 10000stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdbdir ./replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay noreplica-priority 100lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush noappendonly yesappendfilename appendonly.aofno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mbaof-load-truncated yes
aof-use-rdb-preamble yeslua-time-limit 5000
slowlog-max-len 128notify-keyspace-events hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512zset-max-ziplist-entries 128
zset-max-ziplist-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4096
stream-node-max-entries 100activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes启动容器
sudo docker run --restartalways \
--log-opt max-size100m \
--log-opt max-file2 \
-p 6379:6379 \
--name redis \
-v /home/bigdata/redis/redis.conf:/etc/redis/redis.conf \
-v /home/bigdata/redis/data:/data \
-itd redis:latest redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass qwe123参数的意义
【 --restartalways】 开机启动失败也会一直重启【–log-opt max-size100m】意味着一个容器日志大小上限是100M;【–log-opt max-file2】意味着一个容器有2个日志分别是id.json、id1.json;【-p 6379:6379】 将宿主机6379端口与容器内6379端口进行映射【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射【-itd】 i以交互模式运行容器通常与 -t 同时使用 t为容器重新分配一个伪输入终端通常与 -i 同时使用 d表示后台启动redis【–name】 给容器命名【–appendonly yes】 开启redis 持久化【–requirepass 123456】 强烈建议设置密码并且将密码设置为高强度复杂【redis-server /etc/redis/redis.conf】 以配置文件启动redis加载容器内的conf文件 查看启动日志是否正常启动
docker logs redis # 后面跟容器名 or 容器ID 都可以
docker logs --since 30m redis # --since 30m 是查看此容器30分钟之内的日志情况。查看本机 Docker 运行的容器
docker ps -a | grep redis查看 redis 命令是否正常
docker exec -it redis redis-cli测试连接
127.0.0.1:6379 select 1
(error) NOAUTH Authentication required.
127.0.0.1:6379 auth 123456
OK
127.0.0.1:6379 select 1
OK
127.0.0.1:6379[1] set k1 v1
OK
127.0.0.1:6379[1] get k1
v1
127.0.0.1:6379[1]参考Docker安装redis(保姆级教程图文并茂)
五、Rabbitmq 拉取 RabbitMQ 镜像
docker pull rabbitmq:3.8-management创建目录授权文件夹
# 创建目录
mkdir -p /data/rabbitmq/{conf,data,log}
# 授权文件夹
chmod -R 777 /data/rabbitmq/{conf,data,log}创建 RabbitMQ 容器
docker run --restartalways --name rabbitmq \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_DEFAULT_USERrabbit \
-e RABBITMQ_DEFAULT_PASSrabbit \
-v /data/rabbitmq/data:/var/lib/rabbitmq \
-v /data/rabbitmq/conf:/etc/rabbitmq \
-v /data/rabbitmq/log:/var/log/rabbitmq \
-d rabbitmq:3.8-management相关参数解释
docker run: 启动一个新的 Docker 容器。–restartalways: 容器意外退出或 Docker 服务重启Docker 将始终自动重新启动该容器。–name rabbitmq: 给容器命名为 rabbitmq以便于管理和引用该容器。-p 15672:15672 -p 5672:5672: 端口映射。将主机的 5672 端口映射到容器的 5672 端口。-e RABBITMQ_DEFAULT_USERrabbit: 指定默认的 RabbitMQ 用户名为 rabbit。-e RABBITMQ_DEFAULT_PASSrabbit: 指定默认的 RabbitMQ 密码为 rabbit。-v /data/rabbitmq/data:/var/lib/rabbitmq: 数据持久化-v /data/rabbitmq/conf:/etc/rabbitmq: 配置文件持久化-v /data/rabbitmq/log:/var/log/rabbitmq: 日志文件持久化-d: 容器将在后台运行而不是占用当前的终端会话。 查看 RabbitMQ 启动日志docker logs -f rabbitmq 访问 RabbitMQ 控制台
服务器IP / 虚拟机静态IP : 15672
例如我的控制台地址为 : http://172.29.32.233:15672/访问发现无法访问开启控制台管理 : 进入 RabbitMQ 容器后开启控制台管理
# 进入 RabbitMQ 容器
docker exec -it rabbitmq bash
# 开启控制台管理
rabbitmq-plugins enable rabbitmq_management登录 RabbitMQ 控制台 进入 RabbitMQ 容器添加管理员账号授权账号管理员权限查看账号列表
# 进入 RabbitMQ 容器
docker exec -it rabbitmq bash
# 添加管理员账号
rabbitmqctl add_user 用户名 密码
# 授权账号管理员权限
rabbitmqctl set_user_tags 用户名 administrator
# 查看账号列表
rabbitmqctl list_users重启 RabbitMQ 容器再次访问成功访问 !
# 重启容器
docker restart rabbitmq参考 Docker 部署 RabbitMQ (图文并茂超详细) Docker之安装RabbitMq_docker 安装rabbitmq
六、Emqx
6.1 前言
什么是 MQTT
MQTTMessage Queuing Telemetry Transport消息队列遥测传输协议是一种基于发布/订阅publish/subscribe模式的轻量级通讯协议关键词通讯协议
什么是EMQ(emqx的简称)?
EMQ X Broker 是基于高并发的 Erlang/OTP 语言平台开发支持百万级连接和分布式集群架构发布订阅模式的开源 MQTT 消息服务器。关键词消息服务器
端口描述18083web端后台管理页端口1883MQTT TCP 端口8883MQTT TCP TLS/SSL 端口8083HTTP and WebSocket 端口8084HTTPS and WSS 端口8080MGMT API 端口
MGMT 端口 MGMT是网络管理端口可以直接用网线连接登陆进防火墙以网页模式管理。
6.2 安装部署 获取 Docker 镜像
docker pull emqx/emqx-enterprise:5.7.1运行以下命令启动 Docker 容器
docker run -d --name emqx-enterprise -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:5.7.1如果需要持久 Docker 容器 请将以下目录挂载到容器外部这样即使容器被删除数据也不会丢失
/opt/emqx/data
/opt/emqx/log启动容器并挂载目录挂载失败后续排查
docker run -d --name emqx-enterprise \-p 1883:1883 -p 8083:8083 \-p 8084:8084 -p 8883:8883 \-p 18083:18083 \-v $PWD/data:/opt/emqx/data \-v $PWD/log:/opt/emqx/log \emqx/emqx-enterprise:5.7.1参考 通过 Docker 运行 EMQX docker实现搭建emqx服务 EMQX的docker部署与使用(mqtt)
七、Flink 拉取镜像
docker pull flink:1.17.2编辑 docker-compose.yml 文件
version: 3
services:jobmanager:image: flink:1.17.2expose:- 6123ports:- 8081:8081command: jobmanagerenvironment:- JOB_MANAGER_RPC_ADDRESSjobmanagertaskmanager:image: flink:1.17.2expose:- 6121- 6122depends_on:- jobmanagercommand: taskmanagerlinks:- jobmanager:jobmanagerenvironment:- JOB_MANAGER_RPC_ADDRESSjobmanagerscale: 3 #指定taskmanager数量在文件夹路径下执行
docker-compose up -d通过在浏览器的地址栏中输入 localhost:8081 即可打开 Flink 的 UI 页面
参考 手把手教你在Docker中如何使用flink实现将mySQL数据同步写入kafka中 Docker下的Flink
八、Nacos 拉取镜像
docker pull nacos/nacos-server:v2.1.1创建目录创建容器拷贝文件授权文件删除容器
# 创建目录
mkdir -p /data/nacos/{conf,logs,data}# 创建容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:v2.1.1# 拷贝文件
docker cp nacos:/home/nacos/conf /data/nacos
docker cp nacos:/home/nacos/data /data/nacos
docker cp nacos:/home/nacos/logs /data/nacos# 授权文件
chmod 777 /data/nacos/{conf,logs,data}# 删除容器
docker rm -f nacos参考 Docker 部署 Nacos (图文并茂超详细)
九、Nginx 拉取镜像
docker pull nginx:1.16.1首先测试下 nginx 镜像是否可用使用 docker run -d --name nginx -p 80:80 nginx:1.16.1 创建并启动 nginx 容器
-d 指定容器以守护进程方式在后台运行–name 指定容器名称此处我指定的是mynginx-p 指定主机与容器内部的端口号映射关系格式 -p[宿主机端口号][容器内部端口]此处我使用了主机80端口映射容器80端口0839 是nginx的镜像IMAGE ID前4位 页面展示如下那么恭喜你 Nginx 已经成功安装并运行啦 参考 使用docker安装nginx 手把手教你在Docker中安装Nginx图文超详细