美文网首页Java玩转大数据
大数据组件非交互式命令执行方式

大数据组件非交互式命令执行方式

作者: AlienPaul | 来源:发表于2023-08-22 18:00 被阅读0次

前言

大数据组件多数提供了交互式命令行的方式,方便用户操作。这种交互式命令行实际上是一种客户端应用程序。该应用程序使用自己定义的一套命令进行操作。但是交互式命令行非常不便于使用程序操作(例如一些SSH工具等)。我们可以通过一定的手段(管道操作或者参数支持传入命令等)将其变为非交互方式执行。

例如Zookeeper,使用交互式命令行方式可进入Zookeeper client。命令行等待用户的输入,不会返回。

[root@manager bin]# ./zkCli.sh -server zk_server:2181
Connecting to zk_server:2181
2023-08-24 00:08:19,234 [myid:] - INFO  [main:Environment@98] - Client environment:zookeeper.version=3.6.3---1, built on 12/22/2022 07:26 GMT

...

[zk: zk_server:2181(CONNECTED) 0]

如果需要转换成非交互式命令,可用如下方式:

[root@manager bin]# ./zkCli.sh -server zk_server:2181 ls /
Connecting to zk_server:2181
2023-08-24 00:16:19,603 [myid:] - INFO  [main:Environment@98] - Client environment:zookeeper.version=3.6.3---1, built on 12/22/2022 07:26 GMT

...

[admin, atsv2-hbase-secure, atsv2-hbase-unsecure, brokers, cluster, config, consumers, controller, controller_epoch, flink, hive, hiveserver2, hiveserver2-leader, infra-solr, isr_change_notification, kafka-acl, kafka-acl-changes, latest_producer_id_block, log_dir_event_notification, rmstore, zookeeper]
[root@manager bin]#

在上面例子中,可以拿到ls /的执行结果,然后立刻返回。

下面整理了常见的大数据组件非交互式命令行的操作方式示例。不定期更新。

Zookeeper

./zkCli.sh -server ${zk_server}:2181 ls /

HBase

echo "list" | hbase shell -n

Beeline(Hive / Kyuubi / Spark Thrift Server / Presto)

beeline -n hive -p hive -e 'show databases'

Flink SQL Client

./sql-client.sh -i ${init_script} -f ${sql_script}

Spark Shell

cat ${your_scala_script_file} | ${spark_home}/bin/spark-shell --master yarn ...

echo "${your_scala_script}" | ${spark_home}/bin/spark-shell --master yarn ...

Spark SQL

echo 'show databases;' | ${spark_home}/bin/spark-sql

Redis

echo "set abc 123" | redis-cli -c -h ${redis_server} -p 7001

Clickhouse

clickhouse-client -h ${clickhouse_server} -d default -m -u admin --password admin -q 'show databases;'

Kerberos admin

kadmin.local -q "addprinc -pw admin admin/admin"

相关文章

网友评论

    本文标题:大数据组件非交互式命令执行方式

    本文链接:https://www.haomeiwen.com/subject/iuuumdtx.html