赞
踩
基础软件环境信息
序号 | 软件名称 | 版本信息 | 备注 |
---|---|---|---|
1 | Centos操作系统发行版 | CentOS Linux release 7.9.2009 x86_64 | CDH要求7.2或更高 |
2 | MySQL数据库 | 5.7.43 x86_64 | CDH6推荐5.7或更高,务必使用utf8编码而非utf8mb4编码 |
3 | JDK | 1.8.0_181 x86_64 | CDH6将不再支持JDK1.7,推荐1.8u181 |
4 | python | 2.7.5 | |
5 | CDH | 6.3.2 | |
6 | CM | 6.3.1 |
CDH、CM和JDK安装包需要提前下载,目前官方不提供免费下载,我已经上传到百度网盘方便大家使用,链接地址: CDH全部安装包,如果链接失效了请留言或私信我,下载网盘里的cdh文件夹并保存到本地。
[root@node1 cdh]# tree CDH6.3.2/
CDH6.3.2/
├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
└── manifest.json
0 directories, 4 files
[root@node1 cdh]# tree CM6.3.1
CM6.3.1
├── allkeys.asc
├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
└── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
0 directories, 6 files
[root@node1 cdh]# tree JDK
JDK
└── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
0 directories, 1 file
Centos7静态网络配置文件是/etc/sysconfig/network-scripts/ifcfg-,我本机网络接口名称为p2p1,修改所有节点网络配置,具体参数如下:
[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-p2p1 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="yes" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="p2p1" # 网络接口名称 UUID="31b15de1-225f-4540-b135-b80d5da6f335" DEVICE="p2p1" ONBOOT="yes" # 设置开机启动,确保网络配置有效,否则无法建立网络连接 IPADDR="192.168.5.10" # 静态IP地址 PREFIX="24" # 子网掩码,相当于255.255.255.0 GATEWAY="192.168.5.1" # 默认网关IP地址 DNS1="192.168.1.1" # 首选DNS服务器IP地址,上网必备 IPV6_PRIVACY="no" # 禁用IPV6
重启网络可立即生效
systemctl restart network
修改所有节点的hostname,重启节点立即生效
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
配置所有节点的IP和域名映射关系
# vim /etc/hosts
192.168.5.10 node1
192.168.5.11 node2
192.168.5.12 node3
ssh-keygen
用于生成和管理 SSH 密钥对,SSH 密钥对由公钥和私钥组成,公钥用于在 SSH 认证过程中提供给远程服务器进行安全认证,通常会添加到远程服务器的 authorized_keys
文件中,而私钥则默认保存在本地,root用户默认将私钥对保存在/root/.ssh目录下。
创建密钥对
node1和node2节点上生成ssh密钥对,执行ssh-keygen命令,过程如下:
# 一路回车,生成密钥对 [root@node1 ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:AJWzRl9kwU3kbQ7C518oIKCmQdpvKNeQxiIvxo4ly/w root@node1 The key's randomart image is: +---[RSA 2048]----+ | . ..o. o+=o | | = . o+. oo... | |+ B o..+..+ + o | |o+ O o... = + . | |+o* +. S o o .| |*B . o . | |o+ . | | . | | E | +----[SHA256]-----+
[root@node1 ~]# ll .ssh
total 8
-rw-------. 1 root root 1675 Aug 22 09:06 id_rsa
-rw-r--r--. 1 root root 392 Aug 22 09:06 id_rsa.pub
copy公钥到各个节点,以本机为例,执行过程如下:
[root@node1 ~]# ssh-copy-id node1 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host 'node1 (192.168.5.10)' can't be established. ECDSA key fingerprint is SHA256:WoqiUZLXfc+dFxBBkVaC/hJybMxqwqwvuHCR1seMkLE. ECDSA key fingerprint is MD5:f5:9e:e3:ba:f4:15:4d:aa:96:16:bc:df:4c:05:98:ac. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@node1's password: Permission denied, please try again. root@node1's password: # 首次需要输入密码 Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'node1'" and check to make sure that only the key(s) you wanted were added.
[root@node1 ~]# ssh node2
Last login: Sun Aug 20 21:22:36 2023 from 192.168.5.117
开源工具pssh工具可用于在多台服务器上执行远程批量操作命令,大大简化了集群管理,提升了效率和准确性。
node1节点安装pssh工具包
# 下载
https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz
# 解压
tar xvf pssh-2.3.1.tar.gz
# 安装
python setup.py install
# 验证
pssh --version
执行命令前务必提前配置好ssh免密登录,验证如下:
[root@node1 ~]# pssh -H root@node2 date
[1] 10:43:30 [SUCCESS] root@node2
创建nodes文件,配置好所有节点
[root@node1 ~]# vim nodes
root@node1
root@node2
root@node3
pssh批量禁用和关闭所有节点防火墙
[root@node1 ~]# pssh -h ./nodes -i 'systemctl disable firewalld'
[1] 10:50:18 [SUCCESS] root@node1
[2] 10:50:18 [SUCCESS] root@node2
[3] 10:50:18 [SUCCESS] root@node3
[root@node1 ~]# pssh -h ./nodes -i 'systemctl stop firewalld'
[1] 10:49:59 [SUCCESS] root@node1
[2] 10:49:59 [SUCCESS] root@node2
[3] 10:49:59 [SUCCESS] root@node3
pssh批量修改所有节点的/etc/sysconfig/selinux,永久禁用
pssh -h ./nodes -i "sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux"
pssh批量验证修改是否成功
[root@node1 ~]# pssh -h ./nodes -i "cat /etc/sysconfig/selinux | grep SELINUX="
[1] 11:05:38 [SUCCESS] root@node1
# SELINUX= can take one of these three values:
SELINUX=disabled
[2] 11:05:38 [SUCCESS] root@node2
# SELINUX= can take one of these three values:
SELINUX=disabled
[3] 11:05:38 [SUCCESS] root@node3
# SELINUX= can take one of these three values:
SELINUX=disabled
内核参数swappiness用于控制系统在内存紧张时将内存中的数据交换到硬盘交换空间(swap)中 ,一般而言,swappiness值可以设置在 0 到 100 之间。内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上推荐设置一个比较小的值,而不要禁用交换。
pssh批量给所有节点添加vm.swappiness=1,重启机器永久生效
pssh -h ./nodes -i 'echo vm.swappiness = 1 >> /etc/sysctl.conf' # 永久生效配置
pssh -h ./nodes -i 'sysctl -p' # 动态加载使当前会话生效
验证是否添加成功
[root@node1 ~]# pssh -h ./nodes -i "cat /etc/sysctl.conf | grep vm.swappiness"
[1] 11:26:41 [SUCCESS] root@node1
vm.swappiness = 1
[2] 11:26:41 [SUCCESS] root@node2
vm.swappiness = 1
[3] 11:26:41 [SUCCESS] root@node3
vm.swappiness = 1
[root@node1 log]# vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
RAC环境下透明大页(Transparent HugePages )会导致异常节点重启和性能问题,即使单机环境也可能有性能问题,总之不建议启用透明大页。
注意:如果不关闭透明大页,CM Server安装过程中检查主机项还会显示黄色告警。
临时有效解决方法:pssh批量关闭透明大页
[root@node1 ~]# pssh -h ./nodes -i "echo never > /sys/kernel/mm/transparent_hugepage/defrag"
[1] 11:38:37 [SUCCESS] root@node1
[2] 11:38:37 [SUCCESS] root@node2
[3] 11:38:37 [SUCCESS] root@node3
[root@node1 ~]# pssh -h ./nodes -i "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
[1] 11:38:39 [SUCCESS] root@node1
[2] 11:38:39 [SUCCESS] root@node3
[3] 11:38:39 [SUCCESS] root@node2
永久有效解决方法
[root@node1 log]# vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
[root@node1 log]# chmod +x /etc/rc.d/rc.local
验证是否关闭成功
[root@node1 ~]# pssh -h ./nodes -i "cat /sys/kernel/mm/transparent_hugepage/defrag;cat /sys/kernel/mm/transparent_hugepage/enabled"
[1] 10:14:28 [SUCCESS] root@node2
always madvise [never]
always madvise [never]
[2] 10:14:28 [SUCCESS] root@node3
always madvise [never]
always madvise [never]
[3] 10:14:28 [SUCCESS] root@node1
always madvise [never]
always madvise [never]
用户的进程和文件句柄数配置文件是/etc/security/limits.conf,类型包括硬限制(hard)和软限制(soft),*表示所有用户,nproc表示打开最大进程数,nofile表示最大文件句柄数。Cloudera推荐最大进程数nproc为65536或26214。
pssh批量修改所有用户的进程和文件句柄最大限制
pssh -h ./nodes -i "echo '* soft nproc 65535' >> /etc/security/limits.conf"
pssh -h ./nodes -i "echo '* hard nproc 65535' >> /etc/security/limits.conf"
pssh -h ./nodes -i "echo '* soft nofile 65535' >> /etc/security/limits.conf"
pssh -h ./nodes -i "echo '* hard nofile 65535' >> /etc/security/limits.conf"
Linux文件系统会保留记录每个文件访问时间的元数据,这可能会导致即使是读取操作也会导致磁盘写入。为了提高文件读取性能,Cloudera建议在/etc/fstab
配置文件中使用noatime挂载选项来禁用atime选项。
pssh批量禁用文件最后访问时间,本机的挂载数据目录是/data,修改如下:
# 数据目录添加noatime
pssh -h ./nodes -i "sed -i 's/\/data ext4 defaults/\/data ext4 defaults,noatime/' /etc/fstab"
# 重新挂载不需要重启节点
mount -o remount /data
Centos7默认使用Chrony工具而非NTP进行时间同步,Chrony和NTP两者有冲突只能选其一,CDH6推荐使用Chrony,安装和启动命令如下:
# 安装
yum -y install chrony
# 启动
systemctl start chronyd
如果已安装可跳过,修改硬件时钟为UTC,时区为本地时区
# 硬件时钟设置为UTC
pssh -h ./nodes -i "timedatectl set-local-rtc 0"
# 设置本地时区,显示本地时间
pssh -h ./nodes -i "timedatectl set-timezone Asia/Shanghai"
# 手动加载RTC设置
pssh -h ./nodes -i "hwclock --systohc"
通过timedatectl查看时间
[root@node1 ~]# timedatectl
Local time: Tue 2023-08-22 15:14:57 CST
Universal time: Tue 2023-08-22 07:14:57 UTC
RTC time: Tue 2023-08-22 07:14:57
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Cloudera推荐安装JDK1.8u181版本,打开CDH安装包,oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm包已经放在了JDK目录中,在所有节点上安装该版本JDK,安装配置比较简单,请移步我的另一篇文章:Centos7安装64位JDK1.8,参考”使用rpm安装“内容执行安装。Centos7安装64位JDK1.8
node1节点安装部署MySQL5.7服务器,具体安装步骤请移步我的另一篇文章:Linux安装和卸载MySQL5.7详细教程。
MySQL的配置文件是/etc/my.cnf, Cloudera的推荐配置如下:
注意此处有坑:对于MySQL5.7高版本,启动CM Server连接MySQL时可能会报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常,原因是默认开启了SSL认证,相当于useSSL=true,解决方法就是在配置中添加skip-ssl重启MySQL服务,另外[mysqld_safe]配置项已废弃不用,以下的配置均已经过验证。
[mysqld] # 务必禁用掉ssl,相当于useSSL=false skip-ssl datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # transaction-isolation = READ-COMMITTED # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: symbolic-links = 0 key_buffer_size = 32M max_allowed_packet = 16M thread_stack = 256K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 # 设置数据库错误日志时间显示为系统时间 log_timestamps=system # 设置安全策略 validate_password_policy=LOW validate_password_length=4 validate_password_mixed_case_count=1 validate_password_number_count=1 validate_password_special_char_count=1 max_connections = 550 #expire_logs_days = 10 #max_binlog_size = 100M #log_bin should be on a disk with enough free space. #Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your #system and chown the specified folder to the mysql user. log_bin=/var/lib/mysql/mysql_binary_log #In later versions of MySQL, if you enable the binary log and do not set #a server_id, MySQL will not start. The server_id must be unique within #the replicating group. server_id=1 binlog_format = mixed read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M # InnoDB settings innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 4G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M # [mysqld_safe] 5.7已废弃该配置 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid sql_mode=STRICT_ALL_TABLES
重启MySQL服务器使配置生效
systemctl restart mysqld
Cloudera官网要求初始化的数据库及用户如下:
创建以上所有组件数据库,执行以下脚本:
[root@node1 ~]# mysql -uroot -p # scm CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'abcd1234'; # amon CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'abcd1234'; # rman CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'abcd1234'; # hue CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'abcd1234'; # hive CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'abcd1234'; # sentry CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'abcd1234'; # nav CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'abcd1234'; # navms CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'abcd1234'; # oozie CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'abcd1234'; # 最后刷新一下权限 flush privileges; # 检查 show databases;
用于各节点连接数据库,Cloudera要求必须创建在/usr/share/java目录下才能被组件使用。
# 创建目录
pssh -h ./nodes -i 'mkdir -p /usr/share/java/'
# 复制到各个节点
pscp -h ./nodes /var/www/html/cdh/mysql/mysql-connector-java-5.1.46-bin.jar /usr/share/java/
# 修改权限
pssh -h ./nodes -i 'cd /usr/share/java;chmod 777 mysql-connector-java-5.1.46-bin.jar'
# 重命名jar包以便找到
pssh -h ./nodes -i 'cd /usr/share/java;ln -s mysql-connector-java-5.1.46-bin.jar mysql-connector-java.jar'
# 验证是否创建成功
pssh -h ./nodes -i 'tree /usr/share/java'
制作CDH和CM的本地repo源,方便内网集群节点访问。
node1节点安装Apache httpd服务,用于后续通过Http方式访问和下载CDH和CM安装包。
# 安装httpd和createrepo
yum -y install httpd createrepo
# 启动
systemctl start httpd
# 开机启动
systemctl enable httpd
注意:httpd服务在传输parcel文件时,默认会设置“Content-Encoding”,导致CM Server认为parcel文件已经被httpd压缩并尝试解压缩,结果会报错,解决办法是修改httpd的配置文件。
修改配置文件 /etc/httpd/conf/httpd.conf,在<IfModule mime_module>中添加支持.parcel文件类型,用于远程下载parcel文件。
[root@node1 ~]# vim /etc/httpd/conf/httpd.conf
<IfModule mime_module>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz .parcel
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
重启httpd服务
systemctl restart httpd
node1节点移动cdh到httpd服务的根目录/var/www/html下,生成repo元数据,用于通过Yum访问。
[root@node1 ~]# mv /opt/apps/cdh /var/www/html [root@node1 ~]# tree /var/www/html /var/www/html └── cdh ├── CDH6.3.2 │ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel │ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 │ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256 │ └── manifest.json ├── CM6.3.1 │ ├── allkeys.asc │ ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm │ ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm │ ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm │ ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm │ └── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm ├── JDK │ └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm └── mysql ├── 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm ├── 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm ├── 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm ├── 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm ├── 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm └── mysql-connector-java-5.1.46-bin.jar 5 directories, 17 files [root@node1 ~]# cd /var/www/html/cdh/CM6.3.1/ [root@node1 CM6.3.1]# createrepo .
验证http访问
在/etc/yum.repos.d目录下创建cm-local.repo配置文件,添加如下内容:
[root@node1 yum.repos.d]# vim cm-local.repo [cm-repo] name=cm-repo baseurl=http://192.168.5.10/cdh/CM6.3.1 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。** ![img](https://img-blog.csdnimg.cn/img_convert/93e59eb7d5ede59965456e547dd848cb.png) ![img](https://img-blog.csdnimg.cn/img_convert/0fe60d35fb8e1dc75dded1446f4e21fa.png) ![img](https://img-blog.csdnimg.cn/img_convert/fe31a410ee5ba0dbafac459964a70ce3.png) ![img](https://img-blog.csdnimg.cn/img_convert/7fc4a9294051d4f5f7bbcf9ea7d747b2.png) ![img](https://img-blog.csdnimg.cn/img_convert/92e1c76bc88519795b946aa88de31caa.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)** ![img](https://img-blog.csdnimg.cn/img_convert/6b53af0d1d22ec49f5f5b00e264bf7b6.png) **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** baseurl=http://192.168.5.10/cdh/CM6.3.1 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。** [外链图片转存中...(img-OuJ4qESC-1712953889849)] [外链图片转存中...(img-2H5cjKZT-1712953889850)] [外链图片转存中...(img-PJqM644G-1712953889850)] [外链图片转存中...(img-Sr5m0Wvj-1712953889850)] [外链图片转存中...(img-aa49TPAo-1712953889850)] **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)** [外链图片转存中...(img-k51sxANq-1712953889851)] **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。