• [交流吐槽] 为什么代码规则集不能取消?误触之后几百个问题?烦死了
    为什么代码规则集不能取消?误触之后几百个问题?烦死了
  • [技术干货] FastDB
    简要介绍FastDB是一个内存数据库,通过把数据加载到内存中实现对数据的操作,相比于传统数据库,操作的速度更快,但是FastDB不支持client-server架构,所以使用FastDB数据库的应用程序必须运行在同一主机上。开发语言:C++一句话描述:高效的内存数据库建议的版本建议使用版本为“FastDB 3.76”。硬件要求硬件要求如表1所示。表1 硬件要求项目说明机型TaiShan 200服务器(型号2280)处理器2*鲲鹏920 5250处理器内存大小16*32GB 2666MHz网卡1*10Gb/s硬盘系统盘:2*900GB SAS HDD数据盘:1*3.2TB ES3000 V3展开表操作系统和软件要求FastDB安装所需操作系统、软件获取方式如表2所示。表2 操作系统和软件要求项目版本说明下载地址CentOSOS:CentOS 7.6Kernel:4.14.0待安装软件兼容的操作系统操作系统:官方网站Kernel:系统自带openEulerOS:openEuler 20.03 LTS-SP3Kernel:4.19.90待安装软件兼容的操作系统操作系统:官方网站Kernel:系统自带KylinOS:Kylin V10Kernel:4.19.90待安装软件兼容的操作系统操作系统:官方网站Kernel:系统自带gccgcc-c++-基础依赖项通过Yum安装FastDB3.76待安装的软件cid:link_6操作系统安装后默认已配置Yum源。可以使用yum list查询Yum源。yum list 安装基础依赖包。yum install -y gcc gcc-c++测试环境下通常需要关闭防火墙以避免部分网络因素影响,请根据实际需求做配置。停止防火墙。systemctl stop firewalld.service关闭防火墙。systemctl disable firewalld.service说明关闭防火墙的同时,也取消了防火墙开机自启动功能。查看防火墙状态。systemctl status firewalld.service显示Active: inactive (dead)即表示防火墙服务已关闭。将RPM包上传至“/home”目录下。下载链接:CentOS 7.6:cid:link_3openEuler 20.03 LTS-SP3:cid:link_5Kylin V10:cid:link_4说明若服务器可以访问网络,则可以直接在服务器上使用wget命令下载RPM包。CentOS 7.6:cd /home wget cid:link_3 --no-check-certificateopenEuler 20.03 LTS-SP3:cd /home wget cid:link_5 --no-check-certificateKylin v10:cd /home wget cid:link_4 --no-check-certificate进入“/hom”目录。cd /home安装FastDB。rpm -ivh fastdb-3.76-1.aarch64.rpm 查看FastDB包的详细信息。rpm -qi fastdb-3.76-1.aarch64查看安装目录。ll /usr/local/fastdb ll /usr/local/fastdb/bin 验证FastDB更新时间:2024/06/27说明此处只展示登录、查询、退出,其它具体操作参考验证FastDB。初始化数据库并登录。cd /usr/local/fastdb/bin ./subsql 查看数据库常用操作。help 退出数据库。exit RPM包安装方式卸载更新时间:2024/06/27卸载FastDB。CentOS 7.6:cd /home rpm -qa | grep fastdb rpm -e fastdb-3.76-1.el7.aarch64 openEuler 20.03 LTS-SP3:cd /home rpm -qa | grep fastdb rpm -e fastdb-3.76-1.aarch64 Kylin v10:cd /home rpm -qa | grep fastdb rpm -e fastdb-3.76-1.ky10.ky10.aarch64查询是否卸载成功,查询不到包和安装路径说明已经卸载。rpm -qa | grep fastdb ll /usr/local/fastdb
  • [技术干货] Fink
    Flink是一个分布式、高性能、高可用的开源大数据处理框架,具有基于内存计算,流式处理等特点,用于对无边界和有边界数据流进行有状态的计算硬件要求项目说明服务器TaiShan服务器CPU鲲鹏920处理器或鲲鹏916处理器磁盘分区对磁盘分区无要求网络可访问外网软件要求项目版本OpenJDK1.8.0_252Maven3.5.4Flink1.9.1CentOS系统项目版本CentOS7.6OS Kernel4.14.0GCC4.8.5openEuler系统项目版本openEuler20.03 LTS SP122.03 LTSOS Kernel4.19.90GCC7.3.0安装GCC挂载OS镜像。mount YOUR_OS.iso /media -o loop说明YOUR_OS.iso用实际的iso包名代替。备份repo文件,清空“/etc/yum.repos.d/”目录文件。cp -r /etc/yum.repos.d /etc/yum.repos.d-bak rm /etc/yum.repos.d/*须知请确认已经备份所有repo文件后,在rm删除界面输入“y”表示同意删除。配置Yum本地源。打开“/etc/yum.repos.d/Local.repo”文件。vi /etc/yum.repos.d/Local.repo按“i”进入编辑模式,在文件中添加以下内容。[Local] name=Local baseurl=file:///media/ enabled=1 gpgcheck=0按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使Yum源配置生效。yum clean all yum makecache通过Yum源安装GCC相关软件。yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64安装依赖通过Yum源安装依赖的相关软件。yum install -y wget openssl-devel zlib-devel automake libtool make libstdc++-static glibc-static git snappy snappy-de下载并安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz tar -zxf apache-maven-3.5.4-bin.tar.gz mv apache-maven-3.5.4 /opt/tools/installed/修改Maven环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在文件末尾增加下面代码。export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4 export PATH=$MAVEN_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查Maven是否安装成功。mvn -v修改Maven配置文件中的本地仓路径、远程仓等。打开配置文件。vi /opt/tools/installed/apache-maven-3.5.4/conf/settings.xml按“i”进入编辑模式,远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容:<mirror> <id>huaweimaven</id> <name>huawei maven</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf> </mirror>说明本地仓库地址默认在“~/.m2/”目录下,如果想修改成指定目录,则修改<localRepository>标签,没有特殊需求,可不必修改该参数。可选:当编译环境不能访问外网,需要在“settings.xml”配置文件中添加代理配置,具体内容如下:<proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器网址</host> <port>代理服务器端口</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。下载并解压安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz mkdir -p /opt/tools/installed/ mv jdk8u252-b09 /opt/tools/installed/配置Java环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在文件末尾添加如下代码。export JAVA_HOME=/opt/tools/installed/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查OpenJDK是否安装成功。java -version请参见《使用鲲鹏应用迁移工具案例》扫描Flink安装包,分析得出需要移植的第三方依赖包如表1所示。表1 软件移植分析结果原始jarso文件scala-compiler-2.11.12.jarlibjansi.soflink-shaded-netty-4.1.32.Final-7.0.jarliborg_apache_flink_shaded_netty4_netty_transport_native_epoll_x86_64.sofrocksdbjni-5.17.2-artisans-1.0.jarlibrocksdbjni32.so,librocksdbjni64.so,librocksdbjnile.soflink-shaded-netty-tcnative-dynamic-2.0.25.Final-7.0. jarliborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_64.so,liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_64_fedora.so下载flink-release-1.9.1源码并解压。wget https://github.com/apache/flink/archive/release-1.9.1.tar.gz tar -zxf release-1.9.1.tar.gz进入解压后的目录。cd flink-release-1.9.1在“flink-release-1.9.1/pom.xml”文件中添加鲲鹏仓的引用。打开文件。vi pom.xml按“i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源。<repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。在“flink-release-1.9.1/flink-dist/pom.xml”添加鲲鹏仓的引用。打开文件。vi flink-dist/pom.xml按“i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源。<repositories> <repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository> </repositories>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。在“flink-release-1.9.1/flink-state-backends/flink-statebackend-rocksdb/pom.xml”添加鲲鹏仓的引用。打开文件。vi flink-state-backends/flink-statebackend-rocksdb/pom.xml按“i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源。<repositories> <repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository> </repositories>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。在“flink-runtime/pom.xml”添加鲲鹏仓的引用。打开文件。vi flink-runtime/pom.xml按“i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源。<repositories> <repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository> </repositories>编译完成后在“flink-release-1.9.1/flink-dist/target/flink-1.9.1-bin/”生成目标目录“flink-1.9.1”。使用鲲鹏应用迁移工具扫描编译生成的tar包,确保没有包含有x86的so和jar包。
  • [技术干货] ELK调优指南
    Elasticsearch是开源的实时分布式搜索分析引擎,内部使用Lucene做索引与搜索。本章将从基本概念、流程分析等方面对Elasticsearch组件做简单的介绍。集群结构Elasticsearch集群方案由EsMaster、EsClient、EsNode1、EsNode2、EsNode3进程组成。各模块说明如表1所示。表1 Elasticsearch集群方案组成名称说明ClientClient使用HTTP或HTTPS协议同Elasticsearch集群中的EsMaster以及各EsNode实例进程进行通信,进行分布式索引和分布式搜索操作。EsMasterEsMaster为Elasticsearch的主节点,负责集群的管理,主要是集群相关的操作,如决定分片的分配、采集集群节点等。EsNode1-3EsNode1-3为Elasticsearch的数据节点,主要是存储索引数据,对文档进行增删改查、聚合等操作。EsClientEsClient为Elasticsearch的协调节点,只处理路由请求、搜索及分发索引等操作。自身不存储数据,也不管理集群。ZooKeeper集群ZooKeeper为Elasticsearch集群中各进程提供心跳感应机制。展开表基本概念Index:即索引,是Elasticsearch中一个逻辑命名空间,指向一个或多个分片,内部Apache Lucene实现索引中数据的读写。索引与关系数据库实例Database相当。一个Elasticsearch实例可以包含多个索引。Type:文档类型,文档类型使得同一个索引中在存储结构不同的文档时,只需要依据文档类型就可以找到对应的参数映射信息,方便文档的存储。相当于数据库中的Table(数据表)。一个索引对应一个文档类型。Document:文档,是可以被索引的基本单位,特指最顶层结构或根对象序列化成的JSON数据。相当于数据库中的行。一个类型包含多个文档。Mapping:映射,用来约束字段的类型,可以根据数据自动创建。相当于数据库中的Shema。Field:字段,组成文档的最小单位。相当于数据库中的Column。每个文档包含多个字段。EsMaster:主节点,可以临时管理集群级别的一些变更,例如新建或删除索引、增加或移除节点等。主节点不参与文档级别的变更或搜索,也不接收请求。在流量增长时,该主节点不会成为集群的瓶颈。EsNode:Elasticsearch节点,一个节点就是一个Elasticsearch实例。EsClient:Elasticsearch节点,该节点只能路由请求,处理搜索减少阶段和分发批量索引。其自身不进行数据存储,也没有管理集群的能力。Shard:分片,Elasticsearch中最小级别的工作单元,文档存储在分片中,并且在分片中被索引。Primary Shard:主分片,索引中的每个文档属于一个单独的主分片,主分片的数量决定了索引最多能存储多少数据。Replica Shard:复制分片,它是主分片的一个副本,可以防止硬件故障导致的数据丢失,同时可以提供读请求,比如搜索或者从别的Shard取回文档。基本原理内部架构Elasticsearch通过RESTful API或者其他语言(比如Java)API提供丰富访问接口,使用集群发现机制,支持脚本语言,支持丰富的插件。底层基于Lucene,保持Lucene绝对的独立性,通过本地文件、共享文件、HDFS完成索引存储。实验环境:软件版本OSCentOS 7.6openEuler 20.03JDKOpenJDK version 1.8.0_262Elasticsearch6.7.1调优原则:性能调优就是对计算机硬件、操作系统和应用有相当深入的了解,调节三者之间的关系,实现整个系统(包括硬件、操作系统、应用)的性能最大化,并能不断的满足现有的业务需求。在性能优化时,我们必须遵循一定的原则,否则,有可能得不到正确的调优结果。主要有以下几个方面:对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时,很可能是内存容量太小,因为CPU忙于处理内存调度。一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难界定性能的影响是由哪个参数造成的。在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU资源、内存资源等等。我们必须注意到这点,即分析工具本身运行可能会导致系统某方面的资源瓶颈情况更加严重。调优思路更新时间:2024/07/22修改脏页刷新参数(dirty_background_ratio:10->5,dirty_expire_centisecs:3000->2000),提高脏页后台刷新的频率,对入库速率有一定的提升。echo 5 > /proc/sys/vm/dirty_background_ratio echo 2000 > /proc/sys/vm/dirty_expire_centisecs或者sysctl -w vm.dirty_background_ratio = 5 sysctl -w vm.dirty_expire_centisecs=2000创建RAID 5,使得磁盘IO并不是入库和搜索的瓶颈点,让业务模型的多线程特点在TaiShan服务器上完全发挥。目的对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能。服务器上的SMMU一般用来完成设备的地址转换,并且可以实现设备隔离,在虚拟化中很实用,但是在物理机测试场景下,SMMU可能会导致性能下降,尤其对于小包网络场景,因此建议关闭该功能提升服务器性能。在虚拟机场景需要打开此配置来使用PCI直通功能。在本测试场景中,预取会导致Cache污染,Cache miss增加,因此建议关闭预取功能。方法关闭SMMU。重启服务器,进入BIOS设置界面。具体操作请参见《TaiShan 服务器 BIOS 参数参考(鲲鹏920处理器)》中“进入BIOS界面”的相关内容。依次进入“Advanced > MISC Config > Support Stmmu”将“Support Smmu”设置为“Disabled”,按“F10”保存退出(永久有效)。关闭预取。进入BIOS设置界面。依次进入“Advanced > MISC Config > CPU Prefetching Configuration”。将“CPU Prefetching Configuration”设置为“Disabled”,按“F10”保存退出(永久有效)。目的1822网卡默认的rx_buff配置为2KB,在聚合64KB报文的时候需要多片不连续的内存,使用率较低;该参数可以配置为2/4/8/16KB,修改后可以减少不连续的内存,提高内存使用率。方法查看rx_buff参数值,默认为2。cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff在目录“/etc/modprobe.d/”中增加文件hinic.conf,修改rx_buff值为8。options hinic rx_buff=8重新挂载hinic驱动,使得新参数生效。rmmod hinic modprobe hinic查看rx_buff参数是否更新成功。cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff目的1822网卡Ring Buffer最大支持4096,默认配置为1024,可以增大Buffer大小用于提高网卡Ring大小。方法查看Ring Buffer默认大小,假设当前网卡名为enp131s0。ethtool -g enp131s0 修改Ring Buffer值为4096。ethtool -G enp131s0 rx 4096 tx 4096查看Ring Buffer值是否更新成功。ethtool -g enp131s0目的1822网卡支持LRO(Large Receive Offload),可以打开该选项,并合理配置1822 LRO参数。方法查看LRO参数是否开启,默认为off,假设当前网卡名为enp131s0。ethtool -k enp131s0打开LRO。ethtool -K enp131s0 lro on查看LRO参数是否开启。ethtool -k enp131s0 目的相比使用内核的irqbalance使网卡中断在所有核上进行调度,使用手动绑核将中断固定住能有效提高业务网络收发包的能力。方法关闭irqbalance。若要对网卡进行绑核操作,则需要关闭irqbalance。停止irqbalance服务,重启失效。systemctl stop irqbalance.service关闭irqbalance服务,永久有效。systemctl disable irqbalance.service查看irqbalance服务状态是否已关闭。如果服务已关闭,状态将显示为“inactive”。systemctl status irqbalance.service查看网卡PCI设备号,假设当前网卡名为enp131s0。ethtool -i enp131s0查看PCIe网卡所属NUMA node。lspci -vvvs <bus-info>查看NUMA node对应的core的区间,例如此处就可以绑到48~63。lscpu 进行中断绑核,1822网卡共有16个队列,将这些中断逐个绑至所在NumaNode的16个Core上(例如此处就是绑到NUMA node1对应的48~63上面)。创建脚本。vi smartIrq.sh按“i”进入编辑模式,在文件中添加以下内容。#!/bin/bash irq_list=(`cat /proc/interrupts | grep enp131s0 | awk -F: '{print $1}'`) cpunum=48 # 修改为所在node的第一个Core for irq in ${irq_list[@]} do echo $cpunum > /proc/irq/$irq/smp_affinity_list echo `cat /proc/irq/$irq/smp_affinity_list` (( cpunum+=1 )) done按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。进行中断绑核。bash smartIrq.sh利用脚本查看是否绑核成功。创建脚本。vi irqCheck.sh按“i”进入编辑模式,在文件中添加以下内容。#!/bin/bash # 网卡名 intf=$1 log=irqSet-`date "+%Y%m%d-%H%M%S"`.log # 可用的CPU数 cpuNum=$(cat /proc/cpuinfo |grep processor -c) # RX TX中断列表 irqListRx=$(cat /proc/interrupts | grep ${intf} | awk -F':' '{print $1}') irqListTx=$(cat /proc/interrupts | grep ${intf} | awk -F':' '{print $1}') # 绑定接收中断rx irq for irqRX in ${irqListRx[@]} do cat /proc/irq/${irqRX}/smp_affinity_list done # 绑定发送中断tx irq for irqTX in ${irqListTx[@]} do cat /proc/irq/${irqTX}/smp_affinity_list done按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。查看是否绑核成功。当显示中断请求(IRQ)时,表示绑定核心成功。sh irqCheck.sh enp131s0目的磁盘创建RAID可以提高磁盘的整体存取性能,环境上若使用的是LSI 3108/3408/3508系列RAID控制卡,推荐创建单盘RAID 0/RAID 5,充分利用RAID控制卡的Cache(LSI 3508卡为2GB),提高读写速率。方法使用storcli64_arm文件检查RAID组情况。./storcli64_arm /c0 show创建RAID 5。./storcli64_arm /c0 add vd r5 drives=65:1-3 ./storcli64_arm /c0 add vd r5 drives=65:4-6 ./storcli64_arm /c0 add vd r5 drives=65:7-9 ./storcli64_arm /c0 add vd r5 drives=65:10-12说明65:x指的是1查询到的EID,请根据实际情况调整。目的使用RAID控制卡的RAWBC(Redundant Array of Wimpy Blocks with Correction Codes)/RWBC(Rechargeable Wireless Batteryless Capacitive Sensor)性能更佳。使用storcli工具修改RAID组的Cache设置。Read Policy设置为Read ahead,使用RAID控制卡的Cache做预读。Write Policy设置为Write back,使用RAID控制卡的Cache做回写,而不是Write through透写。方法配置RAID控制卡的Cache。./storcli64_arm /c0/vx set rdcache=RA ./storcli64_arm /c0/vx set wrcache=WB/AWB ./storcli64_arm /c0/vx set iopolicy=Cached说明./storcli64_arm /c0/vx set wrcache=WB/AWB命令中的WB/AWB取决于RAID控制卡是否有超级电容,无超级电容使用AWB。检查配置是否生效。显示有关控制器和逻辑驱动器的详细信息即配置生效。./storcli64_arm /c0 showIO policy设置为Cached IO,使用RAID控制卡的Cache缓存IO。
  • [技术干货] Elk部署指南
    简要介绍本文档重点介绍Elasticsearch软件部署步骤,不涉及软件源码编译步骤。文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但无论软件包是在哪种环境下编译得到,部署步骤都是一致的。建议的版本软件版本获取方法OpenJDKjdk8u252-b09ARM: cid:link_2x86: cid:link_3Elasticsearch6.7.1在Elasticsearch官网下载所需版本的软件包。下载地址:cid:link_5硬件要求最低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。具体配置视实际应用场景而定。操作系统要求适用于CentOS 7.4~7.6、openEuler 20.03~22.03操作系统。说明本文以CentOS 7.6为例,介绍Elasticsearch集群部署。集群环境规划集群环境规划以四台机器分别作为集群的节点1、节点2、节点3和节点4。各个节点数据规格如表1所示。表1 集群环境规划机器名称IP地址硬盘数OS & JDK节点1IPaddress1系统盘:1 * 4TB HDD数据盘:12 * 4TB HDDCentOS 7.6&OpenJDK jdk8u252-b09节点2IPaddress2节点3IPaddress3节点4IPaddress4集群各节点的软件规划如表2所示。表2 软件规划机器名称服务名称节点1-节点2Elasticsearch*2节点3Elasticsearch*2节点4Elasticsearch*2依次登录所有节点,将节点的主机名分别修改为server1、agent1、agent2、agent3。hostnamectl set-hostname 主机名 --static登录所有节点,添加集群所有节点的“地址-主机名”映射关系。打开“/etc/hosts”文件。vi /etc/hosts按“i”进入编辑模式,在hosts文件中添加以下内容。IPaddress1 server1 IPaddress2 agent1 IPaddress3 agent2 IPaddress4 agent3按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。登录所有节点,关闭防火墙。systemctl stop firewalld.service systemctl disable firewalld.service登录所有节点,配置SSH免密登录。生成密钥,遇到提示时,按“Enter”。ssh-keygen -t rsa在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@节点IP登录所有节点,安装OpenJDK。下载OpenJDK并解压到“/usr/local”目录。ARM:wget cid:link_2 tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/localx86:wget cid:link_3 tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local将解压后的JDK目录的所属用户、所属用户组变更为“root”。chown -R root /usr/local/jdk8u252-b09 chgrp -R root /usr/local/jdk8u252-b09配置环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,添加以下内容。export JAVA_HOME=/usr/local/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使环境变量生效。source /etc/profile检查OpenJDK是否安装成功。java -version回显如下所示即为安装成功。编译Elasticsearch并解压参考《Elasticsearch 移植指南(CentOS&openEuler)》编译出Elasticsearch软件部署包。将Elasticsearch软件部署包放置于agent1节点的“/usr/local”目录,并解压。mv elasticsearch-6.7.1.tar.gz /usr/local tar -zxvf elasticsearch-6.7.1.tar.gz说明若Elasticsearch软件部署包名称不是elasticsearch-6.7.1.tar.gz,请根据实际情况修改命令。建立软链接,便于后期版本更换。ln -s elasticsearch-6.7.1 elasticsearch说明若Elasticsearch软件目录名称不是“elasticsearch-6.7.1”,请根据实际情况修改命令。添加Elasticsearch到环境变量编辑“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在文件底部添加环境变量。export ES_HOME=/usr/local/elasticsearch export PATH=$ES_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。环境变量生效。source /etc/profile拷贝配置目录进入目录“/usr/local/elasticsearch”,拷贝“config”目录到ESMaster和ESNode1实例对应的配置目录。cd /usr/local/elasticsearch cp -r config config0 cp -r config config1说明config0:ESMaster实例对应配置目录。config1:ESNode1实例对应配置目录。Elasticsearch所有的配置文件都在“$ES_HOME/config{0,1}”目录下。修改“config0/elasticsearch.yml”文件。cluster.name: my-application # 集群名,可变 node.name: node-{ip}-9200 # 实例名,需保证同集群内实例名不同 path.data: /data/data1/elastic,/data/data2/elastic,/data/data3/elastic,/data/data4/elastic,/data/data5/elastic,/data/data6 # ESMaster实例的数据目录 path.logs: /var/log/elastic-9200 # ESMaster实例的日志目录 bootstrap.memory_lock: false network.host: $agent1 # 可填agent1节点的IP地址 http.port: 9200 # ESMaster实例端口号 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["agent1:9300","agent1:9301","agent2:9300","agent2:9301", "agent3:9300","agent3:9301"] discovery.zen.minimum_master_nodes: 1 node.max_local_storage_nodes: 5 node.master: true node.data: true xpack.ml.enabled: false修改“config1/elasticsearch.yml”文件。cluster.name: my-application # 集群名,可变 node.name: node-{ip}-9201 # 实例名,需保证同集群内实例名不同 path.data: /data/data7/elastic,/data/data8/elastic,/data/data9/elastic,/data/data10/elastic,/data/data11/elastic,/data/data12/elastic # ESMaster实例的数据目录 path.logs: /var/log/elastic-9201 # ESMaster实例的日志目录 bootstrap.memory_lock: false network.host: agent1 # 可填agent1节点的IP地址 http.port: 9201 # ESMaster实例端口号 transport.tcp.port: 9301 discovery.zen.ping.unicast.hosts: ["agent1:9300","agent1:9301","agent2:9300","agent2:9301", "agent3:9300","agent3:9301"] discovery.zen.minimum_master_nodes: 1 node.max_local_storage_nodes: 5 node.master: true node.data: true xpack.ml.enabled: false修改“config{0,1}/jvm.options”文件,ESMaster实例内存不需要太大,根据实际情况而定。-Xms31g -Xmx31g修改“bin/elasticsearch-env”文件,在脚本的开头增加以下配置。export JAVA_HOME=/usr/local/jdk8u252-b09 export PATH=${JAVA_HOME}/bin:${PATH}同步配置到其它节点同步配置。拷贝elasticsearch-6.7.1到agent2、3的“/usr/local”。scp -r /usr/local/elasticsearch-6.7.1 root@agent2:/usr/local scp -r /usr/local/elasticsearch-6.7.1 root@agent3:/usr/local登录到agent2、3节点,为elasticsearch-6.7.1建立软链接。cd /usr/local ln -s elasticsearch-6.7.1 elasticsearch创建数据和日志目录。在agent1~3上创建ESMaster的数据目录。mkdir -p /usr/local/elasticsearch/esmaster在agent1~3上创建ESNode1的数据目录。mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/elastic在agent1~3上创建ESMaster、ESNode1的日志目录。mkdir -p /var/log/elastic-{9200,9201}修改节点相关参数。登录agent2,修改“config0/elasticsearch.yml”。node.name: node-{ip}-9200 # 实例名,需保证同集群内实例名不同 network.host: agent2# 可填agent2节点的IP地址修改“config1/elasticsearch.yml”。node.name: node-{ip}-9201 # 实例名,需保证同集群内实例名不同 network.host: agent2# 可填agent2节点的IP地址登录agent3,修改“config0/elasticsearch.yml”。node.name: node-{ip}-9200 # 实例名,需保证同集群内实例名不同 network.host: agent3# 可填agent3节点的IP地址修改“config1/elasticsearch.yml”。node.name: node-{ip}-9201 # 实例名,需保证同集群内实例名不同 network.host: agent3# 可填agent3节点的IP地址启动和停止创建elasticsearch用户。登录agent1~3,创建elasticsearch用户,该用户默认不允许以root用户启动。useradd elasticsearch修改elasticsearch相关目录所有者。chown -R elasticsearch:elasticsearch /usr/local/elasticsearch chown -R elasticsearch:elasticsearch /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/elastic chown -R elasticsearch:elasticsearch /var/log/elastic-{9200,9201}登录agent1~3,修改“/etc/security/limits.conf”。elasticsearch soft nofile 190000 elasticsearch hard nofile 190000 elasticsearch soft nproc 190000 elasticsearch hard nproc 190000登录agent1~3,在${ES_HOME}目录通过elasticsearch用户启动Elasticsearch集群。sysctl -w vm.max_map_count=655360 sudo -u elasticsearch ES_PATH_CONF=/usr/local/elasticsearch/config0/ bin/elasticsearch -p /usr/local/elasticsearch/es-{ip}-9200.pid -d sudo -u elasticsearch ES_PATH_CONF=/usr/local/elasticsearch/config1/ bin/elasticsearch -p /usr/local/elasticsearch/es-{ip}-9201.pid -d说明如果碰到权限不足问题,可以加上权限。chmod -R 777 /usr/local/elasticsearch chmod -R 777 /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/elastic查看Elasticsearch启动状态。ps aux | grep Elasticsearch终止Elasticsearch进程,停止服务,停止Elasticsearch集群。kill -9 $(ps aux | grep Elasticsearch | grep -v 'grep --color=auto Elasticsearch' | awk '{print \\\$2})修改Elasticsearch配置文件说明
  • [技术干货] Elk移植指南
    介绍ELK并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch、Logstash和Kibana。硬件要求项目说明服务器TaiShan服务器CPU鲲鹏920处理器或鲲鹏916处理器磁盘分区对磁盘分区无要求网络可访问外网展开表软件要求项目版本Elasticsearch5.5.0Logstash5.5.0Kibana5.5.0展开表CentOS系统项目版本CentOS7.6OS Kernel4.14.0GCC4.8.5展开表openEuler系统项目版本openEuler20.03 LTS SP122.03 LTSOS Kernel4.19.90GCC7.3.0下载Elasticsearch 5.5.0安装包。wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.tar.gz使用鲲鹏应用迁移工具扫描Elasticsearch 5.5.0安装包。说明关于如何使用鲲鹏应用迁移工具进行扫描的详细信息,请参见《使用鲲鹏应用迁移工具案例》。鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的,不含漏洞及BUG修复。使用开源软件时需遵守开源软件的许可协议。扫描结果获取地址jna-4.4.0.jarcid:link_12libjnidispatch.so展开表将下述路径中的JAR包替换为2中下载获取的JAR包。 JAR包路径jna-4.4.0.jarelasticsearch-5.5.0/lib/下载Logstash 5.5.0安装包。wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.0.tar.gz使用鲲鹏应用迁移工具扫描Logstash 5.5.0安装包。说明扫描结果编译指导参考获取地址jline-2.11.jar《Jline 移植指南(CentOS&openEuler)》cid:link_14libjansi.sojruby.jar《 JRuby 移植指南(CentOS 7.6)》jruby-1.7.27.jar包无获取路径,可参考《 JRuby 移植指南(CentOS 7.6)》编译适配。libjffi-1.2.solz4-1.3.0.jar《LZ4-java 移植指南(CentOS&openEuler)》cid:link_13liblz4-java.sonetty-all-4.1.3.Final.jar《netty-all 移植指南(CentOS&openEuler)》cid:link_11libnetty-transport-native-epoll.sonetty-tcnative-boringssl-static-1.1.33.Fork23.jar《netty-tcnative-boringssl-static-1.1.33.Fork23.jar 移植指南》cid:link_0libnetty-tcnative_64.sosnappy-java-1.1.0.1.jar《snappy-java 移植指南(CentOS&openEuler)》cid:link_7libsnappyjava.so展开表使用开源软件时需遵守开源软件的许可协议。将下述路径中的JAR包替换为2中编译或下载的JAR包。 JAR包路径jline-2.11.jarlogstash-5.5.0/vendor/jruby/lib/ruby/shared/readline/jruby.jarlogstash-5.5.0/vendor/jruby/lib/lz4-1.3.0.jarlogstash-5.5.0/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-5.1.8/vendor/jar-dependencies/runtime-jars/logstash-5.5.0/vendor/bundle/jruby/1.9/gems/logstash-output-kafka-5.1.7/vendor/jar-dependencies/runtime-jars/netty-all-4.1.3.Final.jarlogstash-5.5.0/vendor/bundle/jruby/1.9/gems/logstash-input-beats-3.1.21-java/vendor/jar-dependencies/io/netty/netty-all/4.1.3.Final/netty-tcnative-boringssl-static-1.1.33.Fork23.jarlogstash-5.5.0/vendor/bundle/jruby/1.9/gems/logstash-input-beats-3.1.21-java/vendor/jar-dependencies/io/netty/netty-tcnative-boringssl-static/1.1.33.Fork23/snappy-java-1.1.0.1.jarlogstash-5.5.0/vendor/bundle/jruby/1.9/gems/snappy-jars-1.1.0.1.2-java/lib/下载并解压Kibana5.5.0安装包。wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-linux-x86_64.tar.gz tar -zxf kibana-5.5.0-linux-x86_64.tar.gz使用鲲鹏应用迁移工具扫描Kibana5.5.0安装包。扫描结果显示无需替换任何JAR包。替换ARM版本node.js。删除“kibana-5.5.0-linux-x86_64/node/”路径下的文件。rm -rf ./kibana-5.5.0-linux-x86_64/node/*下载ARM版本node.js。wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-arm64.tar.gz解压node-v6.10.2-linux-arm64.tar.gz。tar -zxvf node-v6.10.2-linux-arm64.tar.gz将“node-v6.10.2-linux-arm64/”下的内容复制到“kibana-5.5.0-linux-x86_64/node/”。cp -r node-v6.10.2-linux-arm64/* ./kibana-5.5.0-linux-x86_64/node/
  • [技术干货] solr
    简要介绍本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。硬件要求最低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。具体配置视实际应用场景而定。操作系统要求适用于CentOS 7.4~7.6、openEuler 20.03~22.03操作系统。集群环境规划本章节规划以四台机器分别作为集群的sever1、agent1、agent2、agent3。各个节点数据规格如表1所示。表1 集群环境规划机器名称IP地址硬盘数OS & JDKJDKserver1IPaddress1系统盘:1 * 4TB HDD数据盘:12 * 4TB HDDCentOS 7.6OpenJDK jdk8u252-b09agent2IPaddress2agent3IPaddress3agent4IPaddress4展开表软件规划集群各节点的软件规划如表2所示。表2 软件规划机器名称服务名称server1-agent2QuorumPeerMain、Bootstrap(Solr)agent3QuorumPeerMain、Bootstrap(Solr)agent4QuorumPeerMain、Bootstrap(Solr)展开表依次登录所有节点,将节点的主机名分别修改为server1、agent1、agent2、agent3。hostnamectl set-hostname 主机名 --static登录所有节点,添加集群所有节点的“地址-主机名”映射关系。打开“/etc/hosts”文件。vi /etc/hosts按“i”进入编辑模式,在hosts文件中添加以下内容。IPaddress1 server1 IPaddress2 agent1 IPaddress3 agent2 IPaddress4 agent3按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。登录所有节点,关闭防火墙。systemctl stop firewalld.service systemctl disable firewalld.service登录所有节点,配置SSH免密登录。生成密钥,遇到提示时,按“Enter”。ssh-keygen -t rsa在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@节点IP登录所有节点,安装OpenJDK。下载OpenJDK并解压到“/usr/local”目录。ARM:wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/localx86:wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local将解压后的JDK目录的所属用户、所属用户组变更为“root”。chown -R root /usr/local/jdk8u252-b09 chgrp -R root /usr/local/jdk8u252-b09配置环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,添加以下内容。export JAVA_HOME=/usr/local/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使环境变量生效。source /etc/profile检查OpenJDK是否安装成功。java -version下载并解压ZooKeeper登录agent1节点,进入“/usr/local”目录,下载zookeeper-3.4.6.tar.gz,并解压。cd /usr/local wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz tar -zxvf zookeeper-3.4.6.tar.gz建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper添加ZooKeeper到环境变量登录agent1节点,打开配置文件。vi /etc/profile按“i”进入编辑模式,添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使环境变量生效。source /etc/profile在agent2和agent3节点重复执行1~4,配置ZooKeeper的环境变量。修改ZooKeeper配置文件登录agent1节点,进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf拷贝配置文件。cp zoo_sample.cfg zoo.cfg修改通用配置。打开文件。vi zoo.cfg按“i”进入编辑模式,修改数据目录。dataDir=/usr/local/zookeeper/tmp可选:添加AdminServer配置。(此配置项于ZooKeeper 3.5.0版本引入,低于此版本可跳过此步骤)admin.enableServer=false在文件末尾添加如下代码,其中server.1~server.3是部署ZooKeeper的节点。server.1=agent1:2888:3888 server.2=agent2:2888:3888 server.3=agent3:2888:3888按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。添加JMX配置。编辑文件zkServer.sh。vi /usr/local/zookeeper/bin/zkServer.sh按“i”进入编辑模式,添加JMX配置至图示位置。JMXDISABLE=true按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。可选:添加JVM配置。说明若使用ZooKeeper 3.6及以上版本,相关配置已预先设置完毕,可跳过此步骤。编辑文件zkEnv.sh。vi /usr/local/zookeeper/bin/zkEnv.sh按“i”进入编辑模式,添加如下配置至文件末尾。# default heap for zookeeper server ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-10000}" export SERVER_JVMFLAGS="-Xmx${ZK_SERVER_HEAP}m $SERVER_JVMFLAGS" # default heap for zookeeper client ZK_CLIENT_HEAP="${ZK_CLIENT_HEAP:-256}" export CLIENT_JVMFLAGS="-Xmx${ZK_CLIENT_HEAP}m $CLIENT_JVMFLAGS"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。创建“tmp”目录作数据目录。mkdir /usr/local/zookeeper/tmp在“tmp”目录中创建一个空文件,并向该文件写入myid内容。touch /usr/local/zookeeper/tmp/myid echo 1 > /usr/local/zookeeper/tmp/myid配置文件权限。chmod 750 /usr/local/zookeeper find /usr/local/zookeeper/bin -name "*.sh" | xargs -i chmod 500 {} find /usr/local/zookeeper/conf -name "*" -type f | xargs -i chmod 600 {} chown -R root /usr/local/zookeeper-3.4.6 chgrp -R root /usr/local/zookeeper-3.4.6同步配置到其它节点登录agent1节点,将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/local scp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local登录agent2、agent3,创建软链接并修改myid内容。agent2:cd /usr/local ln -s zookeeper-3.4.6 zookeeper echo 2 > /usr/local/zookeeper/tmp/myidagent3:cd /usr/local ln -s zookeeper-3.4.6 zookeeper echo 3 > /usr/local/zookeeper/tmp/myidsolr-6.2.0.tgz、apache-tomcat-8.5.28.tar.gz放置于agent1的“/usr/local/solrCloud”目录下。说明“/usr/local/solrCloud”目录需提前创建。解压Solr软件包。tar -zxvf solr-6.2.0.tgz建立软链接,便于后期版本更换。ln -s solr-6.2.0 solr解压Tomcat软件包。tar -zxvf apache-tomcat-8.5.28.tar.gz建立软链接,便于后期版本更换。ln -s apache-tomcat-8.5.28 tomcat打开配置文件。vi /etc/profile按“i”进入编辑模式,添加Solr到环境变量。export SOLR_HOME=/usr/local/solrCloud export PATH=$SOLR_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使环境变量生效。source /etc/profile创建Solr配置文件、数据文件目录。mkdir -p /usr/local/solrCloud/{solrConfig,solrCores}拷贝solr-webapps。cp -r /usr/local/solrCloud/solr/server/solr-webapp/webapp /usr/local/solrCloud/tomcat/webapps/solr将“solr/server/lib/ext”目录下的jar文件拷贝到“tomcat/webapps/solr/WEB-INF/lib”目录。cp -r /usr/local/solrCloud/solr/server/lib/ext/*.jar /usr/local/solrCloud/tomcat/webapps/solr/WEB-INF/lib/拷贝配置文件。cp -r /usr/local/solrCloud/solr/server/solr/configsets/basic_configs/conf/* /usr/local/solrCloud/solrConfig cp -r /usr/local/solrCloud/solr/example/files/conf/velocity /usr/local/solrCloud/solrConfig cp /usr/local/solrCloud/solr/server/solr/solr.xml /usr/local/solrCloud/solrCores修改“solrCores/solr.xml”文件。打开文件。vi solrCores/solr.xml按“i”进入编辑模式,修改hostPort,保持和Tomcat端口一致,本文使用Tomcat默认端口8080。<int name="hostPort">8080</int>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。创建目录。mkdir -p /usr/local/solrCloud/tomcat/conf/Catalina/localhost在“/usr/local/solrCloud/tomcat/conf/Catalina/localhost/”目录下创建solr.xml文件。新建solr.xml文件。vi /usr/local/solrCloud/tomcat/conf/Catalina/localhost/solr.xml按“i”进入编辑模式,添加以下内容。<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/usr/local/solrCloud/tomcat/webapps/solr" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/usr/local/solrCloud/solrCores" override="true"/> </Context>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。修改“/usr/local/solrCloud/tomcat/bin/catalina.sh”文件。打开文件。vi /usr/local/solrCloud/tomcat/bin/catalina.sh按“i”进入编辑模式,添加如下内容。JAVA_OPTS="-DzkHost=Datanode1:2181,Datanode2:2181,Datanode3:2181"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。拷贝solrCloud到agent2、agent3的“/usr/local”目录下。scp -r /usr/local/solrCloud root@agent2:/usr/local scp -r /usr/local/solrCloud root@agent3:/usr/local可选:登录到agent2、agent3节点,为Solr和Tomcat建立软链接。说明可选择不执行这个步骤,因为在scp的时候,软链接后的Solr和Tomcat都变成了真实目录。cd /usr/local/solrCloud rm -rf solr tomcat ln -s solr-6.2.0 solr ln -s apache-tomcat-8.5.28 tomcat请提前启动ZooKeeper集群。在Datanode1上传。java -classpath .:/usr/local/solrCloud/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost agent1:2181,agent2:2181,agent3:2181 -confdir /usr/local/solrCloud/solrConfig/ -confname solrconfig查看配置是否成功上传至ZooKeeper。cd /usr/local/zookeeper/bin ./zkCli.sh -server agent1:2181 ls /configs/solrconfigquit分别在agent1~3节点启动Tomcat即启动Solr。/usr/local/solrCloud/tomcat/bin/startup.sh在浏览器地址栏输入http://agent1:8080/solr/index.html,按“Enter”,访问Solr。其中地址栏中,“agent1”填写agnet1进程所在节点的IP地址。
  • Druid
    Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。安装GCC挂载OS镜像。mount YOUR_OS.iso /media -o loop说明YOUR_OS.iso用实际的iso包名代替。备份repo文件,清空“/etc/yum.repos.d/”目录文件。cp -r /etc/yum.repos.d /etc/yum.repos.d-bak rm /etc/yum.repos.d/*须知请确认已经备份所有repo文件后,在rm删除界面输入“y”表示同意删除。配置Yum本地源。打开“/etc/yum.repos.d/Local.repo”文件。vi /etc/yum.repos.d/Local.repo按“i”进入编辑模式,在文件中添加以下内容。[Local] name=Local baseurl=file:///media/ enabled=1 gpgcheck=0按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使Yum源配置生效。yum clean all yum makecache通过Yum源安装GCC相关软件。yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64修改GCC(解决-fsigned-char问题)寻找GCC所在路径(一般位于“/usr/bin/gcc”)。command -v gcc更改原GCC文件的名字(例如改成gcc-impl)。mv /usr/bin/gcc /usr/bin/gcc-impl配置GCC文件。新建GCC文件。vi /usr/bin/gcc按“i”进入编辑模式,填入如下内容。#! /bin/sh /usr/bin/gcc-impl -fsigned-char "$@"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。给GCC文件添加可执行权限。chmod +x /usr/bin/gcc确认GCC是否可用。gcc --versionCentOS:回显如下所示即为安装成功。openEuler:回显如下所示即为安装成功。修改G++(解决-fsigned-char问题)寻找G++所在路径(一般位于“/usr/bin/g++”)。command -v g++更改原G++文件的名字(例如改成g++-impl)。mv /usr/bin/g++ /usr/bin/g++-impl配置G++文件。新建G++文件。vi /usr/bin/g++按“i”进入编辑模式,填入如下内容。#! /bin/sh /usr/bin/g++-impl -fsigned-char "$@"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。给G++文件添加可执行权限。chmod +x /usr/bin/g++确认G++是否可用。g++ --versionCentOS:回显如下所示即为安装成功。openEuler:回显如下所示即为安装成功。安装依赖通过Yum源安装依赖的相关软件。yum install -y wget unzip vim下载并解压安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz mkdir -p /opt/tools/installed/ mv jdk8u252-b09 /opt/tools/installed/配置Java环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在文件末尾添加如下代码。export JAVA_HOME=/opt/tools/installed/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查OpenJDK是否安装成功。java -version下载并安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate tar -zxf apache-maven-3.5.4-bin.tar.gz mkdir -p /opt/tools/installed mv apache-maven-3.5.4 /opt/tools/installed/修改Maven环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在末尾增加如下代码。export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4 export PATH=$MAVEN_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查Maven是否安装成功。mvn -v回显如下所示即为安装成功。修改Maven配置文件中的本地仓路径、远程仓。打开配置文件。vi /opt/tools/installed/apache-maven-3.5.4/conf/settings.xml说明本地仓库地址默认在“~/.m2/”目录下,如果想修改成指定目录,则修改<localRepository>标签,没有特殊需求,无需修改该参数。按“i”进入编辑模式,远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容。<mirror> <id>huaweimaven</id> <name>huawei maven</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf> </mirror>可选:当编译环境不能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下。<proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器网址</host> <port>代理服务器端口</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。CentOS操作系统安装Protobuf。yum install -y protobuf protobuf-devel验证Protobuf是否安装成功。protoc --version回显如下所示即为安装成功。openEuler操作系统下载并解压源码。wget https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz tar -zxf protobuf-2.5.0.tar.gz将解压后的目录移至“/opt/tools/installed/”目录。mv protobuf-2.5.0 /opt/tools/installed/进入“/opt/tools/installed/”目录。cd /opt/tools/installed下载protoc.zip并解压得到protoc.patch文件,其中protoc.patch存放的路径可自己指定。wget cid:link_0 unzip protoc.zip cp ./protoc/protoc.patch ./protobuf-2.5.0/src/google/protobuf/stubs/进入“protobuf-2.5.0/src/google/protobuf/stubs/”目录安装补丁。cd protobuf-2.5.0/src/google/protobuf/stubs/ patch -p1 < protoc.patch回到protobuf-2.5.0根目录,编译并安装到系统默认目录。cd /opt/tools/installed/protobuf-2.5.0 ./autogen.sh && ./configure CFLAGS='-fsigned-char' && make -j8 && make install将Protoc部署在本地Maven仓库中。mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/usr/local/bin/protoc将Protoc部署在本地Maven仓库中。mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/usr/bin/protoc下载源码并解压。wget https://github.com/apache/druid/archive/druid-0.12.1.tar.gz tar -xvf druid-0.12.1.tar.gz mv druid-druid-0.12.1 druid-0.12.1进入Druid源码解压目录。cd druid-0.12.1修改“pom.xml”文件。打开文件。vi pom.xml按“i”进入编辑模式,在文件第1295行开始,添加鲲鹏Maven仓库源。<repositories> <repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository> </repositories>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。修改“java-util/pom.xml”文件。打开文件。vi java-util/pom.xml按“i”进入编辑模式,在文件第271行开始,修改sigar-dist-1.6.5.132.zip的下载路径。<!--<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/</url>--> <url>http://porting-dependence.obs.cn-north-4.myhuaweicloud.com/ARTIFACTS/</url>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。执行编译。mvn package -DskipTests编译完成后在distribution/target/目录下生成tar.gz包。使用鲲鹏应用迁移工具扫描编译生成的tar包,确保没有包含有x86的so和JAR包。
  • Phoenix
       Phoenix是构建在HBase上的一个SQL层,作为HBase内嵌的JDBC驱动,能让我们用标准的JDBC APIs来创建表、插入数据和对HBase数据进行查询,底层使用Java编写。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,执行之后以生成标准的JDBC结果集,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。安装GCC  挂载OS镜像。mount YOUR_OS.iso /media -o loop说明YOUR_OS.iso用实际的iso包名代替。备份repo文件,清空“/etc/yum.repos.d/”目录文件。cp -r /etc/yum.repos.d /etc/yum.repos.d-bak rm /etc/yum.repos.d/*须知请确认已经备份所有repo文件后,在rm删除界面输入“y”表示同意删除。配置Yum本地源。打开“/etc/yum.repos.d/Local.repo”文件。vi /etc/yum.repos.d/Local.repo按“i”进入编辑模式,在文件中添加以下内容。[Local] name=Local baseurl=file:///media/ enabled=1 gpgcheck=0按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使Yum源配置生效。yum clean all yum makecache通过Yum源安装GCC相关软件。yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64修改GCC(解决-fsigned-char问题)寻找GCC所在路径(一般位于“/usr/bin/gcc”)。command -v gcc更改原GCC文件的名字(例如改成gcc-impl)。mv /usr/bin/gcc /usr/bin/gcc-impl配置GCC文件。新建GCC文件。vi /usr/bin/gcc按“i”进入编辑模式,填入如下内容。#! /bin/sh /usr/bin/gcc-impl -fsigned-char "$@"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。给GCC文件添加可执行权限。chmod +x /usr/bin/gcc确认GCC是否可用。gcc --versionCentOS:回显如下所示即为安装成功。openEuler:回显如下所示即为安装成功。修改G++(解决-fsigned-char问题)寻找G++所在路径(一般位于“/usr/bin/g++”)。command -v g++更改原G++文件的名字(例如改成g++-impl)。mv /usr/bin/g++ /usr/bin/g++-impl配置G++文件。新建G++文件。vi /usr/bin/g++按“i”进入编辑模式,填入如下内容。#! /bin/sh /usr/bin/g++-impl -fsigned-char "$@"按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。给G++文件添加可执行权限。chmod +x /usr/bin/g++确认G++是否可用。g++ --versionCentOS:回显如下所示即为安装成功。openEuler:回显如下所示即为安装成功。安装依赖通过Yum源安装依赖的相关软件。yum install -y wget vim openssl-devel zlib-devel automake libtool make libstdc++-static glibc-static git snappy snapp下载并安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate tar -zxf apache-maven-3.5.4-bin.tar.gz mkdir -p /opt/tools/installed mv apache-maven-3.5.4 /opt/tools/installed/修改Maven环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在末尾增加如下代码。export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4 export PATH=$MAVEN_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查Maven是否安装成功。mvn -v回显如下所示即为安装成功。修改Maven配置文件中的本地仓路径、远程仓。打开配置文件。vi /opt/tools/installed/apache-maven-3.5.4/conf/settings.xml说明本地仓库地址默认在“~/.m2/”目录下,如果想修改成指定目录,则修改<localRepository>标签,没有特殊需求,无需修改该参数。按“i”进入编辑模式,远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容。<mirror> <id>huaweimaven</id> <name>huawei maven</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf> </mirror>可选:当编译环境不能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下。<proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器网址</host> <port>代理服务器端口</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。下载并解压安装到指定目录(此处以指定“/opt/tools/installed/”目录为例)。wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz mkdir -p /opt/tools/installed/ mv jdk8u252-b09 /opt/tools/installed/配置Java环境变量。打开“/etc/profile”文件。vi /etc/profile按“i”进入编辑模式,在文件末尾添加如下代码。export JAVA_HOME=/opt/tools/installed/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。使修改的环境变量生效。source /etc/profile检查OpenJDK是否安装成功。载Phoenix-5.0.0-HBase-2.0源码并解压。wget https://github.com/apache/phoenix/archive/v5.0.0-HBase-2.0.tar.gz mv v5.0.0-HBase-2.0.tar.gz phoenix-5.0.0-HBase-2.0.tar.gz tar -zxf phoenix-5.0.0-HBase-2.0.tar.gz cd phoenix-5.0.0-HBase-2.0修改“pom.xml”文件。打开文件。vi pom.xml按“i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源:<repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository>按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。编译。mvn clean package -DskipTests -Dmaven.javadoc.skip=true编译成功后将在源码“/phoenix-assembly/target/”目录下生成phoenix-5.0.0-HBase-2.0.tar.gz包。使用鲲鹏代码迁移工具扫描编译生成的tar包,确保没有包含有x86的so和JAR包。java -version回显如下所示即为安装成功。
  • [问题求助] CodeArts Check
    安装的CodeArts Check代码检查规则只有100条,请问下,CodeArts IDE能支持更通用的检查规则集吗,比如华为云流水线中默认的“通用检查规则集”这种?
  • [技术干货] FAQ—CodeArts&AstroZero社区(问题求助)总结-2024.08
    首次使用华为云CodeArts时,开发者们总会遇到一些问题,小编针对大家遇到的问题做了分类总结,比如标准页面的表格数据问题、标准页面的表格数据问题、如何在标准页面的事件里面通过JS代码,获得下拉框选择的值?、标准页面的表格数据问题。憋着急!下面小编就来为大家一一解答遇到这几类问题时该如何快速解决,一步解决大家的困扰。 华为云CodeArts系列产品参考手册:1、CodeArts:软件开发平台(CodeArts)官方手册:https://support.huaweicloud.com/devcloud/index.html软件开发平台(CodeArts)相关文章:https://bbs.huaweicloud.com/forum/thread-59032-1-1.html产品官方页面:https://devcloud.cn-north-4.huaweicloud.com/home2、CodeArts项目管理:项目管理(ProjectMan)官方手册:https://support.huaweicloud.com/projectman/index.html项目管理(ProjectMan)更新预览:https://support.huaweicloud.com/wtsnew-projectman/index.html产品官方页面:https://www.huaweicloud.com/product/projectman.html3、低代码平台Astro:应用魔方官方手册:https://support.huaweicloud.com/qs-appcube/appcube_02_0110.html操作指导:https://support.huaweicloud.com/appcube_video/index.html产品官方页面:https://appcube.cn-north-4.huaweicloud.com/studio/index.html#/projects/零代码官方手册:https://support.huaweicloud.com/usermanual-appcube/appcube_05_1404.html问题汇总:(以↓问题都是由官方人员解答后的文章链接)7月:高级页面如何实现数据实时更新 https://bbs.huaweicloud.com/forum/thread-02127156068292491055-1-1.html终端打开后,如何缩放,我看其他ssh工具都有自动缩放功能https://bbs.huaweicloud.com/forum/thread-02127155363552050024-1-1.htmlCodeArts IDE 怎么安装python支持?https://bbs.huaweicloud.com/forum/thread-02127155382761967021-1-1.html希望文件自动自动追踪终端所在目录 https://bbs.huaweicloud.com/forum/thread-02127155476600512035-1-1.html 怎么运行调试https://bbs.huaweicloud.com/forum/thread-0201155524286312029-1-1.html希望后续版本能够支持ruffhttps://bbs.huaweicloud.com/forum/thread-02127155568161998037-1-1.html为什么不能创建新工程,网络也没有问题https://bbs.huaweicloud.com/forum/thread-0217155900141351039-1-1.htmlcodearts Ide 同一目录下多模块启动问题https://bbs.huaweicloud.com/forum/thread-02127155917751440040-1-1.html制品仓上传提示“当前用户可用容量小于文件大小”cid:link_48月:自定义规则语言何时支持鸿蒙开发语言,有没有这块的计划 cid:link_5查询路由器中的各种表cid:link_0建议增加scratch镜像cid:link_1Astro低码是否可以实现以下功能???cid:link_2"405234216","resMsg":"请求资源项: RequestDMLStatementsAmount-每次请求执行数据库DML操作最大次数, 使用量已经达到上限值: 150"cid:link_3匿名登录申请cid:link_6--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------补充:https://bbs.huaweicloud.com/forum/thread-0244154257656850036-1-1.html(1-6月FAQ解答)
  • [公告] 7月新特性 | 软件开发生产线CodeArts发布多项新特性等你体验!
    华为云软件开发生产线CodeArts是一站式、全流程、安全可信的云原生DevSecOps平台,覆盖需求、开发、测试、部署、运维等软件交付全生命周期环节,为开发者打造全云化研发体验。2024年7月,CodeArts发布了需求管理、代码检查、测试计划、部署、流水线、API相关新特性,具体内容如下:需求管理 CodeArts Req新特性IPD特性支持限时免费体验计划管理增加里程碑、发布时间线增加发布、迭代管理视角,支持看板、甘特模式查看需求增加追溯图谱,以图谱形式展示追溯关系新增缺陷跨项目协同,支持给其它项目提交缺陷,并分类展示内置了5类状态卷积规则,用户可以选择是否启用系统特性和任务支持自定义工作流体验优化计划管理的PI更名为“发布”特性更名为“系统特性”,特性树与系统特性页面归一,取消子特性 代码检查 CodeArts Check新特性新增对ArkTS编程语言的代码检查新增告警延迟上线功能,消减检查能力增强对存量代码的影响测试计划 CodeArts TestPlan新特性拷贝测试套件支持修改后缀名称及描述接口自动化支持一键刷新全部关键字支持1个用户同时配置多个角色测试用例导入功能支持用例重复编号覆盖导入体验优化测试设计因子组合功能页面优化部署 CodeArts Deploy新特性新增Vue应用部署系统模板环境管理创建主机集群权限角色修改,允许用户配置不同角色是否有创建主机集群权限,同时新增运维经理的默认创建权限体验优化单个删除应用时,若应用下存在环境,仍可删除成功,并同步删除应用下环境点击帮助文档,本窗口内悬浮可以打开环境-资源列表设置最小列宽,调小列宽后列表内容显示更加合理manifest插件,选择OBS,在弹窗中点击“创建时间”上箭头或下箭头,能够显示排序效果部署记录页面,时间控件选择最近31天时,开始与结束时间蓝色高亮显示流水线 CodeArts Pipeline新特性Pipeline as code, 流水线支持yaml代码化编排新增通用参数组,多流水线通用,减少重复配置优化阶段准入设置,新增准入时间窗设置第三方消息通知支持钉钉通知体验优化文字及图标的悬浮提示规范统一,展示溢出文本内容延时插件优化延时1小时按钮,用户可明确看到延时的时长 API一站式协同 CodeArts API新特性项目管理模块新增定时导入swaggerURL能力快捷调试模块增加实际请求以及页面内名称修改能力体验优化项目管理模块优化权限管理能力,与CodeArts权限同步新用户首次登录时,默认开通的套餐由Devcloud周期版套餐切换为CodeArts体验版套餐目前,华为云CodeArts已吸引来自政务、金融、教育、物流、软件等十多个行业百万级使用者。如华为云CodeArts助力江苏财政构建一体化财政业务系统,有效地支撑10万用户、4万单位业务同时在线办理,提升海量资金管理效率。未来,华为云将继续深入研发测试领域云原生技术的建设,通过技术架构的不断演进驱动IT创新,为客户创造更多业务价值。免费体验CodeArts体验通道:https://www.huaweicloud.com/devcloud/?utm_source=developer.huaweicloud&utm_content=feature
  • [问题求助] 自定义规则语言何时支持鸿蒙开发语言,有没有这块的计划
    1.新建自定义规则的时候,目前页面上只能选择JAVA语言,我用的是免费的套餐,请问免费套餐后面会支持选择鸿蒙开发语言吗? 2.收费套餐新建自定义规则是否支持鸿蒙开发语言呢,如果不支持,后面有支持的计划吗?
  • FAQ—CodeArts&AstroZero社区(问题求助)总结-2024.07
     首次使用华为云CodeArts时,开发者们总会遇到一些问题,小编针对大家遇到的问题做了分类总结,比如标准页面的表格数据问题、标准页面的表格数据问题、如何在标准页面的事件里面通过JS代码,获得下拉框选择的值?、标准页面的表格数据问题。憋着急!下面小编就来为大家一一解答遇到这几类问题时该如何快速解决,一步解决大家的困扰。 华为云CodeArts系列产品参考手册:1、CodeArts:软件开发平台(CodeArts)官方手册:https://support.huaweicloud.com/devcloud/index.html软件开发平台(CodeArts)相关文章:https://bbs.huaweicloud.com/forum/thread-59032-1-1.html产品官方页面:https://devcloud.cn-north-4.huaweicloud.com/home2、CodeArts项目管理:项目管理(ProjectMan)官方手册:https://support.huaweicloud.com/projectman/index.html项目管理(ProjectMan)更新预览:https://support.huaweicloud.com/wtsnew-projectman/index.html产品官方页面:https://www.huaweicloud.com/product/projectman.html3、低代码平台Astro:应用魔方官方手册:https://support.huaweicloud.com/qs-appcube/appcube_02_0110.html操作指导:https://support.huaweicloud.com/appcube_video/index.html产品官方页面:https://appcube.cn-north-4.huaweicloud.com/studio/index.html#/projects/零代码官方手册:https://support.huaweicloud.com/usermanual-appcube/appcube_05_1404.html问题汇总:(以↓问题都是由官方人员解答后的文章链接)7月:高级页面如何实现数据实时更新 https://bbs.huaweicloud.com/forum/thread-02127156068292491055-1-1.html终端打开后,如何缩放,我看其他ssh工具都有自动缩放功能https://bbs.huaweicloud.com/forum/thread-02127155363552050024-1-1.htmlCodeArts IDE 怎么安装python支持?https://bbs.huaweicloud.com/forum/thread-02127155382761967021-1-1.html希望文件自动自动追踪终端所在目录 https://bbs.huaweicloud.com/forum/thread-02127155476600512035-1-1.html 怎么运行调试https://bbs.huaweicloud.com/forum/thread-0201155524286312029-1-1.html希望后续版本能够支持ruffhttps://bbs.huaweicloud.com/forum/thread-02127155568161998037-1-1.html为什么不能创建新工程,网络也没有问题https://bbs.huaweicloud.com/forum/thread-0217155900141351039-1-1.htmlcodearts Ide 同一目录下多模块启动问题https://bbs.huaweicloud.com/forum/thread-02127155917751440040-1-1.html制品仓上传提示“当前用户可用容量小于文件大小”https://bbs.huaweicloud.com/forum/thread-0207156564563472017-1-1.html--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------补充:https://bbs.huaweicloud.com/forum/thread-0244154257656850036-1-1.html(1-6月FAQ解答)
  • [公告] CodeArts 7月开发者体验官活动发布:体验CodeArts提交产品优化建议,多重定制好礼等你来拿!【7月中奖名单见评论区】
    CodeArts 6月开发者体验官活动已圆满落下帷幕,恭喜以下11名获奖用户,请获奖用户通过以下问卷反馈奖品收件信息(7月21日前反馈有效),反馈地址:cid:link_0【6月获奖用户】1.500元开发者盲盒礼包yd_252629448、福州司马懿2.300元开发者盲盒礼包皮牙子抓饭、yd_225094398、yd_248372205、小强鼓掌、yd_293047569、yd_297828101、yd_2501277563.高价值优质建议奖yd_293047569、Colin Zhang、yd_255760061说明:部分用户针对同一用户在同一页面(文档)提出的同一类问题(包括但不限于错别字、语句不通顺、视觉体验等),在通过审核后仅算作一条有效建议,本次结果中已合并,如有疑问,请私信云上有未来;以上公示名单只针对已确认获奖用户,未公示用户不代表未获得积分;有效建议奖积分第1名的有效建议数量少于20条,因此第1名激励轮空。随着6月开发者体验官活动的圆满落幕,7月开发者体验官活动又拉开了新的篇章。7月,我们也为大家准备了多重定制礼品哦。心动不如行动,快叫上小伙伴一起来体验CodeArts,提交产品使用建议吧~【活动时间】7月1日-7月31日【参与方式】在云声提交对华为云软件开发生产线CodeArts的优化建议如果是新用户,可以先去免费体验我们的CodeArts~再来吐槽~免费体验地址:cid:link_2如果是老用户,功能问题?体验不好?就直接来告诉我们吧~建议提交地址:cid:link_1注意:建议提交时需要在标题中以“【开发者体验官】”为建议标题开头,比如【开发者体验官】CodeArts建议增加XX按钮/优化XX流程/刷新导入XX【奖项设置】有效建议总积分第1名:500元开发者盲盒礼包(有效建议数量不少于15条)有效建议总积分第2-3名:300元开发者盲盒礼包(有效建议数量不少于10条)有效建议总积分第4-10名:100元开发者盲盒礼包(有效建议数量不少于2条)高价值优质建议奖:100-200元开发者盲盒礼包(有效建议数量不限,可与其他奖项叠加)【活动规则】1.有效建议积分提交1条CodeArts有效建议积1分,当月提交的有效建议越多,总积分越高。2.高价值优质建议奖1)经内部产品研发团队评估为高价值优质建议奖的用户,额外奖励100-200元开发者盲盒礼包/人说明:高价值优质建议要求建议对云产品功能及优化改进有重要作用,优先从已被采纳的建议的选择;建议内容需要表述清晰,有明确的建议方案,最好有操作截图或链接等能进一步详细描述;高价值建议数量不限,且与有效建议积分奖可叠加,每位用户每月最多可获得一次。3.注意事项1)若出现积分相同且排名一致的情况,结合已实现和已采纳建议情况,会由内部技术专家选出价值更高的建议用户给予奖励。2)同一用户在同一页面(文档)提出的同一类问题(包括但不限于错别字、语句不通顺、视觉体验等),在通过审核后仅算作一条有效建议数3)若发现代他人提交优化建议,此建议分值只取原分值30%4)兑换礼品以仓库现有礼品为准,不可以指定,如遇商品缺货,将随机换成其他等价值礼品发放【相关推荐】华为云CodeArts开发者体验官火热招募中,你是愿意与我们携手共进的小伙伴吗?欢迎加入华为云CodeArts开发者体验官计划!