参加大数据第二期感想

举报
wuyicom 发表于 2021/12/19 16:43:08 2021/12/19
【摘要】     参加大数据全栈第一期获得不错的奖品和证书,同时还建议配合华为大数据能出一期大数据。果然现在出了大数据全栈第二期,原本还充满信心好好学习,但是在第一和第三考核遇到了问题。既然是我因在8月份参加华为云大数据分析7天训练营,免费试用过DLI,导致现在不能免费试用。还有第三考核还需要到mysql也因配额满了无法购买,按需购买kafka实例不能单买,要三个以上。看到这种情况原本打算放弃了。刚好...

    参加大数据全栈第一期获得不错的奖品和证书,同时还建议配合华为大数据能出一期大数据。果然现在出了大数据全栈第二期,原本还充满信心好好学习,但是在第一和第三考核遇到了问题。既然是我因在8月份参加华为云大数据分析7天训练营,免费试用过DLI,导致现在不能免费试用。还有第三考核还需要到mysql也因配额满了无法购买,按需购买kafka实例不能单买,要三个以上。这种情况原本打算放弃了。刚好看到之前自己的博客DLI Flink SQL进行电商实时业务数据分析的操作感想https://bbs.huaweicloud.com/blogs/290030 ,通过上面的方法可以减少费用,最后还是坚持把第一和第三考核完成。

    1. 已经购买MapReduce服务完成了第二考核,刚好需要MapReduce服务的一台云服务来搭建kafkamysql

    1.1 为了方便远程操作,给云服务器配置一个1M弹性IP不需要安装安装ssh服务,只需设置端口即可。查看一下安全组————入口方向 添加TCP22

    1.2 安装docker

根据华为云鲲鹏介绍,建议docker-18.09.8及以上,推荐使用官方二进制包安装,选择docker-18.09.9.tgz

mkdir -p /opt/softwares

mkdir -p /opt/modules

cd /opt/softwares

wget https://download.docker.com/linux/static/stable/aarch64/docker-18.09.9.tgz

tar xzvf docker-18.09.9.tgz -C /opt/modules

cd /opt/modules

cp docker/* /usr/bin/

    1.3 配置system服务

touch /lib/systemd/system/docker.socket

vim /lib/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target


[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=infinity

LimitNPROC=infinity

TimeoutStartSec=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s


[Install]

WantedBy=multi-user.target

************************

chmod +x /lib/systemd/system/docker.service

systemctl start docker

    1.4 特别注意mysq修改docker下载镜像源。特别注意mysql5.7的版本,要mysql:5.7.30以上的版本才能支持arm64为了避免麻烦,还是建议使用mysql8版本

docker pull mysql/mysql-server

docker run -itd --name mysql8 --hostname=mysql8 --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxxx mysql/mysql-server

docker exec -it mysql8 /bin/bash

mysql -uroot p

#授权

CREATE USER 'root'@'%' IDENTIFIED BY 'xxxxx';

GRANT ALL ON *.* TO 'root'@'%';

#刷新权限

flush privileges;

记得设置安全组——入口方向 添加TCP3306否则无法远程连接。

使用mysql8好处需要设置字符集,原本就是utf8mb3

    2. 部署docker版的kafka,经过mysql的经验,要找支持arm64dockerkafka

    2.1 先部署支持arm64zookeeper,命令如下:

docker pull pi4k8s/k8szk:v3.4.14

docker run -itd --name zookeeper -p 21810:2181 -e ZK_REPLICAS=1 -e ZK_HEAP_SIZE=512M --hostname=zk-1 -v /opt/moudles/zookeeper/data:/var/lib/zookeeper -v /opt/moudles/zookeeper/log:/var/log/zookeeper pi4k8s/k8szk:v3.4.14 /bin/bash -c "/usr/bin/zkGenConfig.sh && /usr/bin/zkServer.sh start-foreground"

    2.2 部署支持arm64kafka

docker pull iecedge/cp-kafka-arm64:5.0.1

docker run -d --name=kafka -p 1099:1099 -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.2:21810 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.2:9092 -e KAFKA_JMX_PORT=1099 -e KAFKA_JMX_HOSTNAME=192.168.0.2 -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 -e KAFKA_HEAP_OPTS="-Xmx512M -Xms512M" -v /opt/moudles/kafka/data:/var/lib/kafka/data iecedge/cp-kafka-arm64:5.0.1

    2.3 部署完后,下载kafka的源码包:

cd /opt/softwares

wget https://archive.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz

tar zxf /opt/softwares/kafka_2.12-2.3.0.tgz -C /opt/modules/

cd /opt/modules/kafka_2.12-2.3.0/bin

    2.4 创建topic

./kafka-topics.sh --create --zookeeper 192.168.0.2:21810 --replication-factor 1 --partitions 1 --topic trade_order

    2.5查看创建topic的数目

./kafka-topics.sh --list --zookeeper 192.168.0.2:21810

    2.6 kafka生产者

./kafka-console-producer.sh --broker-list 192.168.0.2:9092 --topic trade_order

    2.7 kafka消费者

./kafka-console-consumer.sh --bootstrap-server 192.168.0.2:9092 --topic trade_order --from-beginning

特别注意要放开9092Kafka连接端口)

建立数据库dli-demo

create database dli_demo;

DROP TABLE `dli_demo`.`trade_channel_collect`;

CREATE TABLE `dli_demo`.`trade_channel_collect` (

`begin_time` VARCHAR(32) NOT NULL,

`channel_code` VARCHAR(32) NOT NULL,

`channel_name` VARCHAR(32) NULL,

`cur_gmv` DOUBLE UNSIGNED NULL,

`cur_order_user_count` BIGINT UNSIGNED NULL,

`cur_order_count` BIGINT UNSIGNED NULL,

`last_pay_time` VARCHAR(32) NULL,

`flink_current_time` VARCHAR(32) NULL,

PRIMARY KEY (`begin_time`, `channel_code`)

) ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8mb3

COLLATE = utf8mb3_general_ci

COMMENT = '各渠道的销售总额实时统计';

队列测试结果不可达,在记得设置安全组——入口方向 添加TCP设置33069092端口都还是不可达,解决方法是全部开通。

    在使用kafka生成者产生数据消费者可以查看,但是无法通过dli数据写入到mysql8。更换mysql-onlinelab:5.7.30-arm64v8版本后,可以写入数据。但是这个版本不能重启,无法设置字符集,有中文就会出现乱码。使用以前的版本的mysql会出现standard_init_linux.go:211: exec user process caused "exec format error"这个错误。还是建议下载源码包安装mysql还要DLI购买队列时,要注意选择资源模式,要在跨源连接找不到队列的名称。

    已经大数据二期所有考核,但是这次的学习体验不是很建议以后开展这些活动,要不就给参加学习活动人都申请试用,不就提前告诉之前有参加过类似活动的人不能参加试用。想参加花钱购买资源。不要像这次活动,放弃浪费之前的时间,真纠结。不过通过这次学习,了解到华为云DLI不但可以在华为云产品搭配使用,也可以在使用华为云弹性服务器搭建大数据平台上使用。根据业务需要灵活使用。
















【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。