Typeset

【shell】【demo】expect连接主机,并在主机上执行shell脚本

柔情痞子 提交于 2021-02-01 11:14:33
【shell】【demo】expect连接主机,并在主机上执行shell脚本 【node_ips.txt】 10.10.0.17,root,AaBbCc 10.10.0.18,root,AaBbCc 【get_tree.sh】 #!/bin/bash typeset server_host=$1 typeset server_username=$2 typeset server_password=$3 typeset server_treefile_path=$4 typeset node_ip=`hostname -i" typeset NE_arr=("NODE1" "NODE2" "NODE _C" "NODE_D" "NODE_E") for NE in ${NE_arr[@]} do case ${NE} in "NODE_C") NE="NODE3" ;; "NODE_D") NE="NODE4" ;; "NODE_E") NE="NODE5" ;; *) echo "pls check the array NE_arr between node1 and node5" exit; esac typeset node_treefile_file="/tmp/treefile_${NE}.txt" typeset tree_param=phifsDug tree_user

Flink SQL 解析复杂(嵌套)JSON

独自空忆成欢 提交于 2020-04-13 19:54:18
【今日推荐】:为什么一到面试就懵逼!>>> 在 Flink 1.10 的 Table API 和 SQL 中,表支持的格式有四种: CSV Format JSON Format Apache Avro Format Old CSV Format 官网地址如下: https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html#table-formats 我用 JSON Format 比较多,也有嵌套的JSON 数据需要解析,大概描述一下。 以下内容来下官网介绍: JSON格式允许读取和写入与给定格式 schema 相对应的JSON数据。 格式 schema 可以定义为Flink类型,JSON schema 或从所需的表 schema 派生。 Flink类型启用了更类似于SQL的定义并映射到相应的SQL数据类型。 JSON模式允许更复杂和嵌套的结构。 如果格式 schema 等于表 schema,则也可以自动派生该 schema。 这只允许定义一次 schema 信息。 格式的名称,类型和字段的顺序由表的 schema 确定。 如果时间属性的来源不是字段,则将忽略它们。 表 schema 中的from定义被解释为以该格式重命名的字段。 大概意思就是,flink 在解析json的时候

Linux常用内建命令笔记

筅森魡賤 提交于 2020-02-26 06:18:35
Linux系统为了便于运维人员对系统的操作,所以内建了很多shell命令。一般来说linux系统的内建命令会比执行外部的shell命令执行更快。因为执行内建命令相当于调用当前shell进程里面的函数,而执行外部命令的话需要出发IO操作还要fork一个单独的进程来执行,执行完成后再退出。下面会列出一些常用的linux系统的内建命令。 1、type 主要用于判断当前命令是内建命令还是外部命令。 比如:type cd 输出:cd is Shell builtin 比如:type ifconfig 输出:ifconfig is /sbin/ifconfig 2、执行程序:"." 用于执行某个脚本,可以执行没有执行权限shell脚本。这样可以在不修改shell脚本的权限的情况去运行该shell脚本。 3、source 该命令可读取并在当前环境中执行脚本,并且可以返回执行的状态,执行成功如果没有返回值会返回0,表示执行成功。如果未找到指定的脚本则返回false。 4、cd 改变当前工作目录。如果不加任何参数,默认会进入当前用户的家目录。 5、声明变量:declare、typeset 两个命令主要是声明变量。shell声明变量不需要指明类型,属于弱类型。不过若使用declare命令,可以使用-i参数声明整型变量。 用法说明:declare -i num=2

jstack(Cat消息消费机器CPU消耗过高问题分析)

a 夏天 提交于 2019-12-26 19:09:53
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、找出当前CPU资源消耗最大的进程 用top命令,发现java进程(pid:8424)CPU资源消耗达到192%,如下图: 确定java资源消耗过多。 2、打印当前JVM堆栈 jstack 8424 > /tmp/jstack.txt 堆栈信息见附件1 3、找到当前堆栈资源消耗多的线程 命令如下: top -H -p8424 结果如下: 8320 nwd 20 0 6275m 4.8g 7044 R 44.6 62.7 3:57.00 java 8365 nwd 20 0 6275m 4.8g 7044 R 32.4 62.7 4:06.09 java 19016 nwd 20 0 6275m 4.8g 7044 R 22.5 62.7 0:24.47 java 8289 nwd 20 0 6275m 4.8g 7044 S 14.1 62.7 16:27.13 java 8356 nwd 20 0 6275m 4.8g 7044 S 13.5 62.7 6:40.18 java 8333 nwd 20 0 6275m 4.8g 7044 R 10.3 62.7 5:21.39 java 从上面查询出来的结果可以找到cpu消耗靠前的线程的pid,下一步根据pid从堆栈里面查找相应的线程。注意