自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

康师傅没有眼泪

每天进步一点点!

  • 博客(175)
  • 资源 (4)
  • 收藏
  • 关注

原创 HDP集群日志配置和日志删除脚本

HDP 集群 默认安装的,日志放在数据盘,但是 namenode和snamenode的数据盘本身不大只有 500G,在不经意间 数据盘被日志装满。hdfs_log_path=/app/var/log/hadoop/hdfs/log_tmp=/app/cluster_log/log_tmp/find $hdfs_log_path -mtime +7 -size +500M -name 'hdfs-audit.log.*' | xargs -I '{}' mv {} $log_tmpfi.

2020-12-01 10:31:33 66

转载 zabbix概念与功能简介

对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。 我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具...

2020-11-30 20:43:09 43

原创 非root 用户安装 Ambari 详细说明

一、说明 客户提供了3 台机器,但没有提供 root用户的权限, 对于 Ambari的安装 过程中 使用中的最多的 就是 sudo , 让普通用户可以执行一些 root 命令。参考:Ambari非root用户安装步骤二、非 root 用户 Ambari2.1. JDK 的安装将 JDK的 文件夹及其文件的修改为 当前的普通用户所属此处我们只列出要注意的点, 非 root用户的 安装 要注意的就是 文件的权限,其他的安装步骤基本一样。2...

2020-11-15 15:12:30 53

原创 azkaban 报错:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

部署azkaban 后, 使用 Chrom 发现无法访问 web 页面, 且后台报错javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710) at sun.security.ssl.InputRecord.read(InputRecord.java:..

2020-11-13 19:38:03 22

原创 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析/ETL 同步数据失败

一、问题描述ETL过程中失败,将MySQL中的数据同步到 另外一台服务器上的MySQL 数据库中,由于遇到了生僻字的解析,导致同步数据失败。对的就是上面的箭头中所指的那个字导致ETL失败,怎么办尼?二、原因 三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括Emoji 表情(Emoj...

2020-11-08 17:46:19 25

原创 Sqoop job(80张表的增量同步方案,Sqoop Job 使用 )

[root@hdp301 conf]# sqoop job --create kangll_job -- import --connect jdbc:mysql://192.168.2.226:3306/yx \--table stat_url_count查询 Hive中的 表数据...

2020-09-30 12:07:35 145

原创 Sqoop exoprt 实战避坑(parquet格式 ,columns 参数详解)

1、创建表 dwd_report_site_hour创建分区 外部表 采用 parquet 格式 ,SNAPPY压缩create external table if not exists dwd_report_site_hour(sitetype string,sitename string,innum int,outnum int,datatime string,inserttime timestamp,modifyTime timestamp)partitione...

2020-09-29 16:03:20 398

原创 Hive常用的数据类型

Hive之数据类型数字类类型 长度 备注 TINYINT 1字节 有符号整型 SMALLINT 2字节 有符号整型 INT 4字节 有符号整型 BIGINT 8字节 有符号整型 FLOAT 4字节 有符号单精度浮点数 DOUBLE 8字节 有符号双精度浮点数 DECIMAL -- 可带小数的精确数字字符串 日期时间类类型 长度 备注 TIMESTAMP

2020-09-29 14:48:06 94

原创 查询Mysql 某个数据库中的所有表中是否包含某个字段

目录一、背景二、查询1.COLUMNS表2. TABLES表3. 字段的查询一、背景 这几天从零构建数仓, 需要将MySQL中一个数据库下的所有表 ,使用Sqoop 同步到 hive数仓,第一次是全量导入,后面是增量的导入hive, 想查看 MySQL 的每个表中是否有updata_time字段。二、查询1.COLUMNS表提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。SELECT * from information_schema...

2020-09-07 20:44:39 126

原创 [shell] while read line 与for循环的区别

[shell] while read line 与for循环的区别(转)while read line 是一次性将文件信息读入并赋值给变量line ,while中使用重定向机制,文件中的所有信息都被读入并重定向给了整个while 语句中的line 变量。for是每次读取文件中一个以空格为分割符的字符串。如下示例脚本:#!/bin/bashdate=`date +%Y%m%d`datatime=${yesterday}yesterday=`date +%Y%m%d -d "1 days

2020-09-03 15:50:47 55

原创 Ambari NameNode HA 回滚操作

目录一、问题引出1. 角色查看二、解决步骤1. 清理额外的NAMENODE2. 恢复secondary_namenode3. NameNodeHA 启动一、问题引出启用HDFS HA过程中,被人为的中断或意外的中断导致Secondary NameNone还没有被删除。我是 namenode 启动花了 15 分钟 后 我就强制退出了, 真的是手贱啊,查了网上的文章失败后 可以retry 就可以了,自己挖坑自己填。参考文档:https://www.jianshu.com/..

2020-08-28 15:59:51 78

原创 Ambari-Ranger组件修改MySQL默认端口导致启动失败问题解决( Communications link failure)

目录一、问题场景二、解决方法问题解决历程 一问题解决历程 二一、问题场景 安装 Ambari + HDP 集群,修改了 MySQL的默认端口,安装的时候没有问题,启动的时候 ranger Admin 报了如下的错误:问题描述:在Ambari页面,安装Ranger组件时,后台使用MySQL数据库的端口修改为:非默认端口3306在启动、重启Ranger组件时报错:/usr/jdk64/java/bin/java -cp /usr/hdp/current/... ...

2020-08-27 11:35:46 145

原创 Mysql启动失败,报Can‘t start server: can‘t create PID file: No such file or directory解决方案

Mysql启动失败,报Can't start server: can't create PID file: No such file or directory解决方案一、原因分析MySQL 数据存放位置改为 数据盘地址,重启机器,然后磁盘挂载没有设置为开机自动挂载,导致PID 文件找不到。二、问题定位 查看日志,/var/log/mysql 查看原因三、 解决方法1. 在/etc/my.cnf中查看pid-file的位置pid-file=/var/run/m...

2020-08-26 13:54:08 117

原创 HBase 表数据读取解析之 一个需求学习 HBaseAPI

目录一、HBaseAPI重要的概念1.Scan2.Result3.Filter的Scan二、案例分析---HBaseAPI学习1.需求2.思路3.代码一、HBaseAPI重要的概念1.ScanHBase中的数据表通过划分成一个个的Region来实现数据的分片,每一个Region关联一个RowKey的范围区间,而每一个Region中的数据,按RowKey的字典顺序进行组织。正是基于这种设计,使得HBase能够轻松应对这类查询:“指定一个RowKey的范...

2020-08-19 23:03:40 127

原创 Mysql 授权访问某个数据库后 Navicat 仍显示 information_schema 数据库

一、场景在 MySQL 创建 kanglll用户,授权只能访问 data_exchange 数据库,生效后用Navicat 连接后会显示 information_schema 数据库,经过下面的测试后发现 information_schema 表中的信息 针对 data_exchange 只开放了部分表的访问权限,这下我就放心了,也就是说 针对 kangll用户 只能 访问 data_exchange 数据库的 权限授予是成功的。二、问题说明1.Navicat 中查询表INNDB_LO...

2020-08-19 16:40:38 371

原创 MySQL用户管理:添加用户、授权、删除用户、撤销权限

一、以root用户登录数据库,运行以下命令1.创建 data_exchange 数据库create database data_exchange character set utf8;2.创建 用户kangll 密码为 kangllCREATE USER 'kangll'@'%' IDENTIFIED BY 'kangll';在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”,表示一组主机,即对所有主机开放权限。修改用户密码update mysq..

2020-08-19 15:58:59 143

原创 Linux 环境MySQL 5.7 数据存放路径修改为数据盘

安装MySQL中 yum 默认安装路径是/var/lib/mysql下,项目中的需要将MySQL的数据存放目录修改为 挂载的数据盘路径。df -h查看磁盘空间大小本次迁移到 /home目录下1.在home目录下创建data目录作为默认路径mkdir -p /home/data2.关掉MySQLsystemctl stop mysqld.service3.迁移目录cp -arp/var/lib/mysql /home/data/上面的 cp -arp...

2020-08-19 15:26:09 237

原创 HBase Filter 过滤器概述

转自公众号HBase工作笔记一、过滤器介绍HBase过滤器是一套为完成一些较高级的需求所提供的API接口。过滤器也被称为下推判断器(push-down predicates),支持把数据过滤标准从客户端下推到服务器,带有 Filter 条件的 RPC 查询请求会把 Filter 分发到各个 RegionServer,所有的过滤器都在服务端生效,使被过滤掉的数据不会被传送到客户端,这些过滤逻辑在读操作时使用,可以有效降低网络传输的压力。 ...

2020-08-17 20:11:00 40

原创 数据治理---Apache Atlas元数据管理

一、概念背景介绍1.1 概述 面对海量且持续增加的各式各样的数据对象,你是否有信心知道哪些数据从哪里来以及它如何随时间而变化?采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分。为寻求数据治理的开源解决方案,Hortonworks 公司联合其他厂商与用户于2015年发起数据治理倡议,包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理等方面。Apache Atlas 项目就是这个倡议的结果,社区伙伴持续的为该项目提供新的功能和特性。该项目用于管...

2020-08-05 09:43:56 422

原创 StreamSets 定时调度

官方文档:https://streamsets.com/documentation/datacollector/3.15.x/help/datacollector/UserGuide/Origins/CronScheduler.html#CronScheduler-CronExpression

2020-07-25 12:23:34 620 4

原创 StreamSets简介和入门案例

一、Streamsets简介Streamsets是一款大数据实时采集和ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。最大的特点有:可视化界面操作,不写代码完成数据的采集和流转 内置监控,可是实时查看数据流传输的基本信息和数据的质量 强大的整合力,对现有常用组件全力支持,包括50种数据源、44种数据操作、46种目的地。对于Streamsets来说,最重要的概念就是数据源(Origins)、操作(Process

2020-07-24 18:49:27 492 4

原创 LINUX 出现 -BASH-4.2# 问题的解决方法

问题:误删/root 下的文件,LINUX 出现 -BASH-4.2# 问题的解决方法1.root 用户下,在根目录创建 /root 目录  mkdir /root2. 复制 .bashrc 以及 .bash_profile俩个文件到root目录下  cp /etc/skel/.bashrc /root  cp /etc/skel/.bash_profile /root3.关闭Xshell ,重新打开啊就好了...

2020-07-15 09:59:04 147

原创 Ranger 和 Ranger Audit 审计功能模块介绍
原力计划

目录一、Ranger 介绍1、Ranger概念2、权限模型二、Ranger Aduit审计功能模块详解1、Ambari 中 Ranger config2、Ranger Audit 功能模块介绍一、Ranger 介绍1、Ranger概念Ranger 使用了一种基于属性的方法定义和强制实施安全策略。当与 Apache Hadoop 的数据治理解决方案和元数据仓储组件Apache Atlas一起使用时,它可以定义一种基于标签的安全服务,通过使用标签对文件和数据资产进行分类,并

2020-07-11 16:02:16 445 1

原创 HDP中 Ranger 整合Kerberos进行细粒度的权限访问控制
原力计划

一、Ranger 权限问题1、 Ranger 是什么?ranger则是针对组件内的权限 ,比如HDFS的读写执行,Hive和Hbase的读写更新,yarn的队列资源使用权,目前ranger只支持 hdfs,hive,hbase,kafka,yarn等组件,针对于组和用户对资源的访问权限进行细粒度的控制。2、遇到的问题安装 Ambari 时安装了 Ranger 但是没有配置权限,所以出现了下面的问题:Error:Error while comiling statement: FAIL.

2020-07-07 22:40:20 399

原创 Kettle中添加 Kerberos 认证

package com.kangna.hdfs;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.LocatedFileStatus;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.RemoteIterator;import org.slf4j...

2020-07-05 19:53:16 447

原创 Ranger 简介与安装

一、Ranger是什么1、Ranger介绍Ranger是Hadoop平台的集中式安全管理框架,能够为hadoop平台组件提供细粒度的访问控制。通过Ranger, Hadoop管理员能够轻松地管理各种安全策略,包括:访问文件/文件夹,数据库,Hive表,列, Hbase, YARN等。此外,Ranger还能进行审计管理,以及策略分析,从而为Hadoop环境的深层次分析提供支持。目前,Ranger支持对以下的Hadoop组件:HDFS, HBase, Hive, Yarn, Knox, Storm.

2020-07-04 09:55:26 837 1

原创 Kettle实现 HDFS文件解析同步到SQLServer数据库(ETL 包括:时间格式化、IP校验、字段拼接)

目录一、需求及总体设计1、设计完成后的作业2、设计完成后的转换3、处理流程概述二、具体处理流程1、作业1、JS下载文件到本地2、转换(具体处理见下面)3、JS重命名4、Shell组件5、删除多个文件2、转换2.1 文本文件输入2.2字段选择2.3 表输入2.4 JS脚本校验IP2.5过滤记录2.6 阻塞数据直到步骤完成2.7 调用存储过程一、需求及总体设计需求: 将 HDFS 中的文件解析完成后 将数据写入 SQLS...

2020-06-22 23:03:56 136

原创 Kettle解析HDFS文件进行----字段拼接、字符的替换、IP校验

目录1、字段的拼接2、字段串替换3、IP校验1、字段的拼接字段的拼接使用 JS 脚本实现,JS脚本在 Kettle 中使用起来很是方便,目前我使用 JS 实现过 IP 校验、字段拼接、文件移动。var a = CounterId + "-" + CounterTypevar CounterType = a2、字段串替换此处我是简单的使用,数据清洗不是很复杂没有使用到正则表达式。3、IP校验1、IP校验的JS代码var reg = /^(...

2020-06-21 21:46:05 116

原创 Kettle转换中SQL中的执行顺序(使用 阻塞数据直到步骤都完成 ===》控制转换中的 SQL执行顺序)

为什么会用到这个组件我就是想着转换串行的执行,根据时间戳增量的同步,作业一开始我就获取当前的时间戳,kettle 完成数据之后,再执行时间更新操作,更像是动态的把时间向前推,因为作业执行也需要时间,公司传感器收集的数据会MySQL,数据几分钟刷新一次,不想丢失数据,也不能重复,尽可能保持数据一致性。kettle中转换和作业的执行顺序:1、一个作业内的转换,是顺序执行的。2、一个转换内的步骤是并行执行的。3、作业内不支持事务,转换内支持事务。根据业务需要,...

2020-06-10 15:41:35 575

原创 kettle根据时间戳增量的将数据从MySQL同步SQLServer(linux部署脚本启动作业、config.properties 配置数据库)

1. 时间戳增量回滚同步假定在源数据表中有一个字段会记录数据的新增或修改时间,可以通过它对数据在时间维度上进行排序。通过中间表记录每次更新的时间戳,在下一个同步周期时,通过这个时间戳同步该时间戳以后的增量数据。这是时间戳增量同步。但是时间戳增量同步不能对源数据库中历史数据的删除操作进行同步,我们可以通过在每次同步时,把时间戳往前回滚一段时间,从而同步一定时间段内的删除操作。这就是时间戳增量回滚同步,这个名字是我自己给取得,意会即可,就是在时间戳增量同步的同时回滚一定的时间段。说明:源数据表 需

2020-06-10 14:15:09 159

原创 FAILED:HiveAccessContorlException Permission denied: user[hive] does not havar[USER] privilege on

1、 Ranger 是什么?ranger则是针对组件内的权限 ,比如HDFS的读写执行,Hive和Hbase的读写更新,yarn的队列资源使用权,目前ranger只支持 hdfs,hive,hbase,kafka,yarn等组件,针对于组和用户对资源的访问权限进行细粒度的控制。2、遇到的问题安装 Ambari 时安装了 Ranger 但是没有配置权限,所以出现了下面的问题:Error:Error while comiling statement: FAILED:HiveAccessCo.

2020-06-09 09:41:22 231

原创  Kettle 数据同步 Caused by: com.microsoft.sqlserver.jdbc.SQLServerException

场景:使用 Kettle 将 数据从 MySQL同步到 SQLSErver ,其中有一个字段默认为空串,而且确实也没有数据,同步数据报错。报错如下:不能将值 NULL 列 'dataType',表 'test1.student';列不允许有 Null 值。INSERT 失败。 at org.pentaho.di.core.database.Database.insertRow(Database.java:1319) at org.pentaho.di.core.da...

2020-06-05 14:07:23 116

原创 Apache Griffin 安装与简介

目录一、Griffin简介二、安装部署2.1 依赖准备1、初始化2、Hadoop和Hive3、Scala 安装4、 ES的安装与启动2.2 源码打包部署一、Griffin简介数据质量模块是大数据平台中必不可少的一个功能组件,Apache Griffin(以下简称Griffin)是一个开源的大数据数据质量解决方案,它支持批处理和流模式两种数据质量检测方式,可以从不同维度(比如离线任务执行完毕后检查源端和目标端的数据数量是否一致、源表的数据空值数量等)度量数据资.

2020-06-03 17:01:29 552

原创 Ambari开启Kerberos安全认证

安装kerberos前,要确保主机名可以被解析。主机名 内网IP 角色hdp0110.168.138.188 master KDChdp02 192.168.60.20 kerberos client

2020-05-27 11:10:26 232

转载 通俗易懂 Kerberos原理

https://mp.weixin.qq.com/s/iLCTyaQvl4xbHCOsA6CGew系统环境 操作系统: CentOS 7 JDK 版本:1.8.0_251 Ambari 版本:2.7.4 HDP 版本:3.1.4.0 扩展链接 《Kerberos原理--经典对话》 《基于ambari的Kerberos安装配置》 《Windows本地安装配置Kerberos客户端》 《Kerberos实战》 《.

2020-05-26 11:38:54 123

原创 MySQL游标(cursor) 定义及实例学习

目录一、简介1、概念2、优点3、原理二、使用游标1、声明游标2、游标OPEN语句3、游标FETCH语句4、游标CLOSE语句三、实例1、实例12、实例2五、补充一、简介1、概念游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。 游标充当指针的作用。 尽管游标能遍历结果中的所有行,但他一次只指向一行。 用SQL语言从数据库中...

2020-05-24 23:56:41 78

原创 CentOS7.3 内网环境安装Ambari2.7.4+HDP3.1.4(阿里云服务器)

VERSION_NUMBER=3.1.0.0-78[HDP-3.1.0.0]name=HDP Version - HDP-3.1.0.0baseurl=http://hdp1/HDP/centos7/3.1.0.0-78gpgcheck=0gpgkey=http://hdp1/HDP/centos7/3.1.0.0-78/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1...

2020-05-22 18:13:57 450

原创 Yarn Register DNS失败报A fatal error has been detected by the Java Runtime Environment或 Failed to write

一、问题引出说明 :Ambari 安装成功,在启动的时候显示 Yarn Registry DNS 出错。cd /var/lib/ambari-agent/data/ 目录下查看出错日志或者 /var/log/hadoop-yarn/yarn/privileged-root-registrydns-hdp01.err.1 报错简略如下:stderr:Traceback (most recent call last): File "/usr/lib/ambari-...

2020-05-22 16:39:12 182

原创 Linux格式化数据盘(阿里云数据盘挂载)

1、背景信息本文操作仅适用小于等于2TiB的数据盘。大于2TiB的数据盘分区必须使用GPT格式,请参见分区格式化大于2 TiB数据盘。数据盘的设备名默认由系统分配。I/O优化实例的数据盘设备名从/dev/vdb递增排列,包括/dev/vdb−/dev/vdz。非I/O优化实例的数据盘设备名从/dev/xvdb递增排列,包括/dev/xvdb−/dev/xvdz。格式化操作可能存在如下风险:磁盘分区和格式化是高风险行为,请慎重操作。本文操作仅适用处理一块全新的数据盘,如果您的数据盘上有数据,请

2020-05-20 10:36:20 120

原创 ext3 升级到 ext4

刚开始 不懂,随便找个博客将 数据盘 格式化为 ext3 , 考虑到潜在的问题,考虑 升级到 ext 4.​// ext3 升级到 ext4[root@hdp02 ~]# tune2fs -O extents,uninit_bg,dir_index /dev/xvdb1tune2fs 1.42.9 (28-Dec-2013)// 磁盘扫描[root@hdp02 ~]# fsck -pf /dev/xvdb1fsck from util-linux 2.23.2/dev/xvdb1:..

2020-05-19 13:35:06 86

dbeaver-ce-6.3.1-win32.win32.x86_64.zip

连接 Hive ,SQL 执行 神器, dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。易用性是该项目的主要目标,是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作(插件)。它支持任何具有一个JDBC驱动程序数据库

2020-02-14

SublimeText3_Build3083_x64_XiaZaiBa.zip

Sublime Text 还是一款跨 OS X、Linux 和 Windows 三大平台的文字/代码编辑器。拥有高效、没有干扰的界面,在编辑方面的多选、宏、代码片段等功能,以及很有特色的Minimap。   Sublime Text 是一个代码编辑器,也是HTML和先进的文本编辑器。   漂亮的用户界面和非凡的功能,例如迷你地图,多选择,Python的插件,代码段,等等。   完全可自定义键绑定,菜单和工具栏。   Sublime Text的主要功能包括:拼写检查,书签,完整的 Python API ,Goto 功能,即时项目切换,多选择,多窗口等等

2019-08-15

eclipse-jee-2018-09-win32-x86_64.zip

ecliPSe classic 是eclipse的标准版,Eclipse Classic的带有source建议使用Eclipse Classic,需要插件自己安装配置即可.Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

2019-08-12

npp.6.9.2.Installer.zip

otepad++ 内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持。nfo文件查看),还支持自定义语言。   可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感;   可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例;   提供了一些有用工具,如邻行互换位置、宏功能等;   可显示选中文本的字节数 (而不是一般编辑器所显示的字数,这在某些情况下,比如软件本地化很方便)。

2019-08-12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除