Linux安装ElasticSearch-7.8.0

Linux上部署后端系统平台包含jdk11、Elasticsearch7.14.0、安装logstash7.14.0、安装kibana7.14.0、安装redis6.2.12、mysql8、nginx 如果还在INSERT模式,按ESC退出来,输入斜杠’/‘,后接daemonize,找到daemonize no。将这一行注掉,输入命令‘i’, 新加一行bind 0.0.0.0,为了能够远程连接redis。输入斜杠’/‘,后接requirepass,找到requirepass foobared。找到bind 127.0.0.1,可在配置文件输入斜杠’/‘,后接127.0.0.1。基本配置就配置完成了,按ESC退出编辑模式,输入冒号’:',后接wq,保存配置文件。修改sysctl.conf文件。 阅读详情

1.elasticsearch相关链接

ELK官网:https://www.elastic.co/

ELK官网文档:https://www.elastic.co/guide/index.html

ELK中文手册:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

ELK中文社区:https://elasticsearch.cn/

ELK-API : https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

2.确定好安装路径

我装在/usr/local/

3.下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz

4.解压

tar -xvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C 

5.修改配置

cd /usr/local/elasticsearch-7.8.0/
vim config/elasticsearch.yml 

6.yml配置文件内容

#设置ip地址,任意网络均可访问
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.name: "node-1"
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]
# # 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: "*"
http.max_content_length: 200mb
bootstrap.system_call_filter: false

7.修改jvm启动参数

vim /usr/local/elasticsearch-7.8.0/config/jvm.options
#根据自己机器内存情况将jvm.options这两个配置修改了
-Xms256m
-Xmx256m

8.修改sysctl.conf

vim /etc/sysctl.conf 
#修改一个进程在VMAS(虚拟内存区域)创建内存映射最大数量
vm.max_map_count=655360

9.配置生效

sysctl -p

10.创建新用户

#因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户elsearch
useradd es
#为用户赋elasticsearch-7.8.0这个文件的操作权限
chown -R es:es /usr/local/elasticsearch-7.8.0/
su - es
cd /usr/local/elasticsearch-7.8.0/bin
./elasticsearch
#后台运行
./elasticsearch -d
#启动成功后通过ip加上端口号9200就可以访问了,记得开启9200端口

如果遇到报错,参考

https://www.cnblogs.com/socketqiang/p/11363024.html

https://blog.youkuaiyun.com/qq_43655835/article/details/104637625

其他问题自行百度

11.设置开机自启

cd /etc/init.d  
vim /etc/init.d/elasticsearch

复制以下内容

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch

#jdk相关路径,这些配置我不需要
#export JAVA_HOME=/usr/java/jdk1.8
#export JAVA_BIN=/usr/java/jdk1.8/bin
#export PATH=$PATH:$JAVA_HOME/bin
#export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
#export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
    #es的启动账号名
    su 你的启动用户名<<!
    #es的安装路径
    cd /usr/local/elasticsearch-7.8.0
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
stop)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    ;;
restart)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    su 你的启动用户名<<!
    cd /usr/local/elasticsearch-7.8.0
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac

exit $?

退出保存即可

#为脚本增加执行权限
chmod +x elasticsearch
#开机启动
chkconfig --add elasticsearch
#重启服务器
reboot

访问http://IP:9200查看是否成功开机启动
在这里插入图片描述

12.安装分词器elasticsearch-analysis-ik

如果没有安装分词器,后期使用可能报错

{“error”:{“root_cause”:[{“type”:“mapper_parsing_exception”,“reason”:“analyzer [ik_max_word] not found for field [campaignTarget]”}],“type”:“mapper_parsing_exception”,“reason”:“Failed to parse mapping [_doc]: analyzer [ik_max_word] not found for field [campaignTarget]”,“caused_by”:{“type”:“mapper_parsing_exception”,“reason”:“analyzer [ik_max_word] not found for field [campaignTarget]”}},“status”:400}

  1. 根据elasticsearch版本下载对应版本分词器

    #各个版本分词器
    https://github.com/medcl/elasticsearch-analysis-ik/releases
    
  2. 进入plugin目录

    #plugins前面的路径是我的安装目录
    cd /usr/local/elasticsearch-7.8.0/plugins
    
    #创建ik目录
    mkdir ik
    
    # 上传或直接下载elasticsearch-analysis-ik-7.8.0.zip后,解压
    # https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
    unzip elasticsearch-analysis-ik-7.8.0.zip
    
    #重启elasticsearch就可以
    
ES爬坑记录 之 Elasticsearch的安装 ES数据库的安装 阅读详情

相关推荐

Elasticsearch在linux单节点部署(这里是7.8.0版本)

Elasticsearch在linux单节点部署

xiaowang1323322的博客 208

Linux安装Elasticsearch 7.8.0

因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户。软件放到 /opt/module/elasticsearch下面,然后解压。打开浏览器输出:http://192.168.176.131:9200/使用 ES 用户启动。

weixin_42460596的博客 424

JMeter脚本录制-快速上手篇

有的项目应用场景下,压测时,需要考虑带宽因素,压测不只是压测接口,静态资源也要一起压测。一般来说,静态资源比较多,如果一个个手工去写请求,是比较繁琐的,此时,可以使用Jmeter的脚本录制功能。 步骤1,创建脚本录制模版。 JMeter菜单:文件>模版,下拉选择到Recording,点击“Create”按钮; 填写录制参数: hostToRecord:填写要录制的主机域名,例如,我们这里填入:www.baidu.com schemeToRecord:填写要录制的模式,例如,htt...

软件测试大叔 5734

Linux搭建elasticsearch-7.8.0单机版本

Linux搭建elasticsearch-7.8.0单机版本

一恍过去 2万+

从零到一:RF-DETR如何通过神经架构搜索重塑实时目标检测的边界

RF-DETR通过创新的权重共享神经架构搜索(NAS)机制,重新定义了实时目标检测的技术边界。这项技术在COCO等基准测试中表现卓越,成为首个AP超过60的实时检测器,同时保持跨领域稳定性和高效推理速度。RF-DETR的动态架构调整能力使其能够适应从嵌入式设备到云端服务器的各种硬件环境,为工业质检、自动驾驶等场景提供灵活解决方案。

weixin_29061531的博客 469

InternVL 3.5 深度解析:开源多模态模型的新里程碑

InternVL 3.5是由上海人工智能实验室OpenGVLab团队推出的开源多模态大模型,在推理能力、效率和灵活性方面取得突破。该模型采用ViT-MLP-LLM架构,包含60亿参数的InternViT-6B视觉编码器和多种规格的语言模型骨干。核心创新包括:1)Cascade RL强化学习框架,通过离线热身和在线强化两阶段训练提升推理能力;2)ViR视觉分辨率路由器,动态调整图像处理分辨率以优化计算效率;3)DvD动态视觉token压缩技术。模型系列涵盖2B到241B参数规模,满足从边缘设备到高性能计算的不

m0_47999117的博客 1029

如何在Ubuntu上安装Elasticsearch

如何在Ubuntu上安装Elasticsearch

Leon_Jinhai_Sun的博客 388

STM32--基于STM32F103C8T6的OV7670摄像头显示

使用 STM32F103C8T6 微控制器驱动 OV7670 摄像头模组,并将图像数据显示在屏幕上,是嵌入式系统中常见的图像采集与显示应用。OV7670 是一款 CMOS VGA 图像传感器,具有高灵敏度、低电压等特点,适用于嵌入式应用。而 STM32F103C8T6 是一款常用的 MCU 控制器,具有丰富的管脚资源和较高的工作频率。

duierrorshuobu的博客 2145

Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)

Elasticsearch7.8.0版本——单机部署(linux环境-centos7)

小志的博客 2431

激光甲烷传感器DIY指南:从DFB激光器选型到Herriott池光路搭建

本文详细介绍了如何DIY激光甲烷传感器,从DFB激光器选型到Herriott池光路搭建的全过程。通过TDLAS技术实现ppm级甲烷检测,适用于家用燃气泄漏监测和农业沼气监测等场景。文章包含核心器件选型、光路搭建技巧、信号调理方案及系统集成优化,为创客提供实用指南。

f9g0h的博客 594

11、CUDA 内存优化:平铺矩阵乘法技术解析

本文深入解析了CUDA中的平铺矩阵乘法技术,重点介绍了如何利用共享内存和线程协作减少全局内存访问,提升计算效率。通过矩阵乘法实例,详细阐述了平铺算法的执行流程、内核代码实现及性能优化策略,包括平铺大小选择、线程同步机制和代码优化建议。文章还分析了该技术在深度学习、图像处理和科学计算等领域的应用价值,为CUDA程序的内存优化提供了系统性指导。

peace的博客 70

Linux下配置搜索引擎ElasticSearch7.8.0

项目需要搜索引擎,之前用的额solr,最近朋友介绍ElasticSearch更方便,更流行 1、解压 下载地址:https://www.elastic.co/cn/downloads/elasticsearch tar -zxvf elasticsearch-7.8.0.tar.gz 解压后,目录说明 bin :脚本文件,包括 ES 启动 & 安装插件等等 config : elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等 JDK

玩火的稻草人的博客 840

实现端到端加密的WebRTC视频会议终端

需要注意的是,上述示例代码中没有涉及到具体的加密算法和密钥交换过程,而是通过WebRTC API自动处理了加密和密钥交换的细节。然后,我们通过信令服务器将本地SDP发送给对方,并接收对方的SDP。最后,我们将对方的SDP设置为远程描述,并将最终的连接建立起来。最后,我们将对方的SDP设置为远程描述,并建立最终的连接。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。

WaJulia的博客 434

Elasticsearch-7.8.0安装最全(mac、Linux、window、centos7.5集群、docker)

Elasticsearch安装localhost、Kibana安装localhost适用于mac、window、linux单机测试。

2301_79479951的博客 1922

基于STM32、HAL库的GZP6816D气压传感器 驱动程序设计

测量范围:0-16kPa(可根据型号不同有变化)工作电压:1.8V-3.6V。高精度:±1% FS。

corlin6688的博客 217

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux 安装elasticsearch 8.7.0 +kibana+分词器ik

Plugin [analysis-ik] is missing a descriptor properties file. Linux 安装elasticsearch 8.7.0 +kibana+分词器ik

weixin_45220510的博客 935

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux安装Elasticsearch可视化插件Kibana-7.8.0

Linux安装Elasticsearch可视化插件Kibana-7.8.0

一恍过去 2万+

深度学习工具包 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")

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ElasticSearch ES 安装 常见错误 Kibana安装 设置 权限 密码

最近在学习ES数据库,所以将一些东西记录一下。以下所有的都是基于es7.8.0版本进行的。

m0_67392661的博客 1232

Linux Docker安装部署ES及Kibana

简称ES是基于Apache Lucene构建的开源搜索引擎,是当前流行的企业级搜索引擎。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。但是ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性。

weixin_44000133的博客 939

SkyWalking+ElasticSearch7实现日志追踪

修改elasticsearch-env ,elasticsearch7 先去获取本地的jdk 如果jdk 环境不存在则会使用 elasticsearch-7.8.0/jdk 下的jdk ,因为小编本地jdk版本为1.8 运行时会报错。ElasticSearch 7默认不能用root 用户启动 因此我们需要 添加专门的用户启动,负责会报错。默认端口是8080 如果端口被占用我们可以改成未被占用的端口。将 done <

苏谨 2374

Linux(CentOS) 安装ElasticSearch

1、安装java jdk环境 1.1 检查是否已经安装:java -version 1.2 安装方式:https://blog.csdn.net/qq_26900081/article/details/103615841 2、安装ElasticSearch 安装包比较大,最好事先下载好,然后再上传到linux。linux最好准备1G以上的内存,至少512。 ...

qq_26900081的博客 1676

ElasticSearch7.8.0下载与安装

ElasticSearch7.8.0下载与安装 1、ElasticSearch7.8.0下载 elasticsearch: 官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch 链接: https://pan.baidu.com/s/1wAKQoB3nhLhcnBlPfVOLxQ 提取码: t83n kibana: 链接: https://pan.baidu.com/s/156aD9zDdvUv8LFgDEIPoSw 提取码: jkw2 ik: 链

web18296061989的博客 1810

Linux AnolisOS8.4下安装Elasticsearch7.5.0

一:前言 Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。重点是通过JAVA开发的。 本次安装的版本Elasticsearch7.5.0 二: 准备工作 // 进入local目录 [root@xxxxxx ~]# cd /usr/local/ // 下载elasticsearch7.5.0安装包 [root@xxxxxx local]# wget https://artifacts.elastic.co/downloa

Zheng.Zeng的博客 2347
上一篇: Linux安装MySQL-8.0.28
下一篇: Linux安装Redis
月照晴川
博客等级 码龄14年 488粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值