Hadoop 分布式集群构建(二)

Hadoop分布式集群搭建 本文介绍了在三台电脑上搭建Hadoop分布式集群,每台电脑创建一个UbuntuKylin虚拟机,集群以三台UbuntuKylin虚拟机为基础搭建。 阅读详情

jdk 配置和修改主机名
*卸载预装的 openjdk

rpm -qa | grep jdk #会显示你所有包含 jdk 这个字符串的安装包
# 或者:rpm -qa | grep java
#或者:rpm -qa | grep gcj
rpm -e --nodeps 对应的每个包名 #会卸载对应的包
java -version # 检查

*安装 jdk
1.上传 jdk
建构/opt/apps
把 jdk 上传到此目录
2.解压 jdk

[hadoop@master apps]$ tar -zxvf jdk-8u121-linux-x64.tar.gz 

3.改名

[hadoop @master apps]$ ls
jdk1.8.0_121 jdk-8u121-linux-x64.tar.gz
[hadoop @ master apps]$ mv jdk1.8.0_121/ java 
[hadoop @ master apps]$ ls
java jdk-8u121-linux-x64.tar.gz

4.配置/etc/profile
使用 root 用户操作或 sudo

[hadoop @master apps]$sudo vim /etc/profile 

在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 这一行上面
写下面的代码
#加上

export JAVA_HOME=/opt/apps/java
export PATH=$PATH:$JAVA_HOME/bin

5.刷新/etc/profile

[hadoop @master apps]$ source /etc/profile
[hadoop @ master apps]$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

6.修改主机名
Master 机:

[hadoop @master ~]$ hostname master 
[hadoop @master ~]$ hostname
master
[hadoop @master ~]$sudo vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master

7.修改 hosts 配置(IP 与主机名的关系)

[hadoop @master ~]$sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.101 master
192.168.11.102 slave01
192.168.11.103 slave02
Hadoop分布式集群搭建以及案例运行-fs操作 Hadoop分布式集群搭建案例步骤(也可以叫分布式文件系统)一:创建分布式集群环境二:设置静态ip以及主机名与映射关系三:创建用户、配置SSH无密登录四:子机dn操作五:配置主机jdk、hadoop的环境以及hadoop文件六:打包、远程传输至子机七:启动hadoop集群以及运行案例基于hadoop的整体分布式模块交互 1)分布式系统的定义  把数据放到一个服务器集群上面,分为:主控服务器(Mas... 阅读详情

相关推荐

【Docker】Docker安装Hadoop分布式集群

hadoop目录安装在:/usr/local/hadoop-2.7.0/etc/hadoop。访问Hadoop102:9870,查看是否能够看到hdfs界面。访问hadoop103:8088,查看能够看到yarn界面。在yarn上可以看到执行情况。

weixin_46429290的博客 3459

搭建Hadoop分布式集群的详细教程

本文包括VMware创建配置虚拟机的基本方法,Centos的安装与配置,Hadoop集群安装与配置方法

程序员小木的博客 2万+

Hadoop分布式集群搭建完全教程

最近在学Hadoop,试着在自己机子上搭了个分布式环境,测试成功,现将搭建过程分享给大家。实验环境: 系统:win7 内存:8G(因要开虚拟机,内存建议不低于8G) 硬盘:建议固态 虚拟机:VMware 12 Linux:Centos 7 jdk1.7.0_67 hadoop-2.5.0.tar.gz 1.安装VMware虚拟机环境 2.安装Centos操作系统 3.修改主机名配置网络

小满麦渐黄 4837

Ubuntu下搭建Hadoop分布式集群

应学校课程要求,这学期学习到了云计算与大数据,这次实验就是让我们在ubuntu中配置好hadoop分布式集群,这两天就从网上一边各种搜寻教程结合课本(课本上是使用的centos,而且版本较老,不太适用)一边自己动手做,顺便自己也写一篇教程记录一下,其中也包含一些遇到的问题及解决方法。因为第一次接触到这方面所以有很多不足的地方,见谅,我只能做到尽量详细 在搭建的过程中,发现几篇写得很详细且文章排版清晰的博客,可供参考一下: https://blog.youkuaiyun.com/zyw2002/article/detai

xk1835217729的博客 3万+

使用Docker搭建Hadoop分布式集群

文章目录Hadoop分布式集群介绍准备docker-compose相关文件构建resourcemanager镜像启动Hadoop集群 Hadoop分布式集群介绍 本次Hadoop搭建使用GitHub - kiwenlau/hadoop-cluster-docker: Run Hadoop Custer within Docker Containers进行。 首先需要明确Hadoop集群的启动顺序如...

pjyex的博客 1258

hadoop分布式集群之MySQL分布式集群搭建

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数...

Java666999的博客 2360

Hadoop教程(五)Hadoop分布式集群部署安装

在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步activenamenode的状态,以便能够在它失败时快速进行切换。 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数J

yuan_xw的专栏 1万+

UR5 机械臂手眼标定(Eye-in-Hand)实战:OpenCV 求解 AX=XB,误差 < 2mm

本文详细介绍了UR5机械臂在Eye-in-Hand配置下的手眼标定实战,通过OpenCV实现高精度标定,最终达到误差小于2mm的工业级精度要求。文章涵盖了标定基础原理、环境搭建、数据采集策略、核心算法实现及误差分析与优化,为视觉机械臂的自主抓取提供了实用指南。

weixin_31476015的博客 295

Hadoop分布式集群搭建教程

本篇博客主要讲解如何在Linux虚拟机上搭建Hadoop的分布式集群

n04j04h06的博客 1855

cadence CIS 库建立--建立自己维护的CIS数据库

遇到一个问题,在使用cadecnce的时候,就是没有自己的本地/分享的数据库。 在画原理图或者PCB的时候,如果能搭建一个自己的数据库,在局域网或者本地 就好了。出于这样的想法,做了一些探索,找到了一种可能的答案。 由于数据库编制知识的缺乏,要自己建一个数据库似乎花费的时间会比较多。 偶发奇想,如果能够改编CIS 自带的数据库 另建立副本进行维护 就能够省下不少麻烦。 先说下CIS 是个啥。网上一搜:总之CIS 是个好东西。 功能强大。 点击CIS capture 中的 Options CIS Config

qq_29776365的博客 2万+

ArcGIS小白必看:如何用3D Analyst工具将二维点线秒变三维模型(附详细步骤)

本文为ArcGIS初学者提供了利用3D Analyst工具将二维点、线数据快速转换为三维模型的完整指南。详细讲解了基于属性字段和数字高程模型(DEM)两种核心方法,并附上从数据准备、工具操作到三维场景可视化与问题排查的详细步骤,帮助用户轻松实现从平面到立体的空间数据建模。

nft7creator的博客 140

搭建Hadoop分布式集群

Hadoop框架是采用Java语言编写,需要java环境(jvm) JDK版本:JDK8版本 ,本次使用的是 Java: jdk-8u431-linux-x64.tar.gz三台Linux虚拟节点: CentOS-7-x86_64-DVD-2009.iso通过虚拟机设置共享文件夹将需要的安装包复制到linux虚拟机中。

不积跬步,无以至千里;不积小流,无以成江海。 1577

【逆强化学习-1】学徒学习(Apprenticeship Learning)

逆强化学习算法1:学徒学习。算法原理+算法步骤+代码+仿真:一个基于gym的小车上山的仿真。附赠学徒学习+Q-Table及学徒学习+DQN的全套代码。

体会编程语言独到的美 7494

CDH大数据平台搭建之HADOOP分布式集群搭建

CHD大数据平台搭建之HADOOP安装一、什么是HADOOP?二、如何下载1.官网下载2.网盘下载三、搭建集群1.准备5台虚拟机2.安装JDK3.安装ZOOKEEPER4.集群规划5.安装HADOOP6.修改配置文件1、进入配置文件目录:2、修改env文件3、修改core-site.xml文件4、修改hdfs-site.xml文件5、配置mapred-site.xml文件6、修改yarn-site.xml文件7、修改slaves文件8、分发文件9、配置环境变量四、启动集群1.启动ZOOKEEPER集群2.启

qq_41924766的博客 4834

USB2.0基础知识总结

目录 1、协议层: 1.1、域分类 1.2 、USB传输方式: 1、协议层: 域和包定义:包是一次传输的单位,每个包由多个域组成; USB中是按照LSB进行字节传输; 1.1、域分类 1.1.1: 同步域(SYNC field) 所有的包都开始于同步域,在低速和全速通信中SYNC field用7个0和1个1来表示。 由于USB2.0使用了NRZI编码(0用翻转来表示,1用不翻转表示),所以00000001就是上图那样。 ...

qq_32938605的博客 4408

用 deepseek 写小说(通用版提示词模板)

#Initialization:作为[Role],在[Goals]下,回顾你的[Skill],严格遵守[Constraints],5.第五步:人物大纲,给小说里的每个人物撰写背景故事,深挖人物过去的经历,原生家庭,住所:一栋位于市郊的房子,有三个卧室,房龄 10 年,厨房很大,当中有一个鸟式大理石。示例 2.戈德里洛克先去了熊老爹的工作坊,尝试用大纲法写作,却发现这种方法无聊透顶,1.第一步:一句话概括,一句话概述小说内容,主要包含小说癸型,主角,以及故事中需要。大灰狼的暴行彻底激怒了戈德里洛克,

陈奕昆的博客 2967

Hadoop 分布式集群搭建

Hadoop 分布式集群搭建

slb190623的博客 2492

移动端HDR

移动HDR是近年来移动设备最大的技术进步之一。自2017年起,它就开始出现在旗舰手机上,包括苹果(Apple)和三星(Samsung)在内的大多数制造商都加入了这一行列。这一趋势在过去几年里席卷了整个电视行业,但在最近几年才真正深入人心。而且,最近,将更多的HDR内容放到移动设备上的趋势已经加快。对于这种新兴技术来说,它还处于相对早期的阶段,但它也非常有趣,值得关注。 HDR是什么? HDR是...

ISP行业的忠实粉丝 1340

Zookeeper和Hadoop分布式集群搭建

Zookeeper和Hadoop分布式集群搭建 用三台虚拟机搭建如上集群 Zookeeper下载地址: https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz Hadoop下载地址: https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/ 环境配置:JDK1.8+Zookeeper3.5.8+hadoo

weixin_44468025的博客 1907

Android14 SystemUI如何实现下拉菜单栏高斯模糊背景效果(类似于毛玻璃效果)

我们都知道,从Android12起,下拉菜单栏控制中心都是黑色的,看起来非常不美观,而且国内的手机系统UI都做的比较美观,大部分的下拉菜单UI背景都是实现了高斯模糊效果,所以客户也会要求实现类似于这样的效果。在以前的Android项目中,实现下拉菜单栏的模糊背景就是通过截图的方式进行替换背景,而这种方式下拉菜单背景极易替换不了,就算是在各个地方都适配,还是有概率在复杂场景或者一些测试手法下出现背景是黑的情况,并且这种方式还比较影响性能,毕竟每次都要去截图一次,多做了额外的事。

热衷于Android Framework和系统APP的修改经验分享 1793

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

分布式Hadoop集群配置

上述命令先将hadoop​文件夹压缩为hadoop.master.tar.gz​文件,然后将压缩文件复制到spark02​和spark03​的/home/hadoop​目录下。同样地,在spark02​和spark03​中,使用sudo vim /etc/hosts​命令进入编辑模式,添加上述映射关系,保存并退出(保存退出操作与修改主机名时相同)。执行该命令后,系统会提示输入spark02​的登录密码,输入正确密码后,公钥将被传输到spark02​的/home/hadoop/​文件中。

weixin_74268353的博客 1355

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

在Hadoop分布式集群中安装hive

依赖环境 hadoop分布式集群环境为上一篇中搭建好的集群环境: 一台master主机名:ubuntu-01,两台slave节点,分别是 ubuntu-01-node1、ubuntu-01-node2 与hadoop一样,先在ubuntu-01上安装,然后将文件复制到其他节点中。 安装hive之前先启动集群,三台都要启动 提前下载好文件:apache-hive-2.3.2

H2OSIR的博客 6144

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

从零开始搭建Hadoop HDFS分布式集群

传统的数据存储方案,如关系型数据库和单机文件系统,在面对PB级别的非结构化数据时,早已力不从心。它将一个巨大的文件切分成若干个固定大小的数据块(Block,默认为128MB),并将这些数据块以多副本(默认为3份)的形式分布式地存储在整个集群的普通商用服务器上。通过将计算任务(如MapReduce)调度到数据所在的节点进行计算,极大地减少了网络传输开销,实现了数据本地化,从而提供了极高的数据吞吐率。

xiaolin030的博客 1910

使用docker搭建hadoop分布式集群

使用docker搭建部署hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装。 2:在centos7中安装docker,docker的版本为1.8.2 安装步骤如下: &amp;lt;1&amp;gt;安装制定版本的dockeryum install ...

大数据技术博客 6万+

Hadoop分布式集群的搭建

大数据相关概念,Hadoop3搭建分布式集群。

theVicTory的博客 3382

Hadoop分布式集群的安装(图解)

搭建是学习大数据的基础,大家一定要好好的搭建,可以试着多搭建几遍

qq_43325476的博客 6677
上一篇: Hadoop 分布式集群构建(一)
下一篇: Hadoop 分布式集群构建(三)
slowgood
博客等级 码龄7年 356粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值