一些笔记

一些笔记

【SEHLL】

  1. [sed 中带变量的情况]
    将变量用双引号包含。

    1
    2
    3
    4
    $ var=”comm”
    $ sed -n ‘/’”$var”‘/p’ /tmp/test.log
    $ HOSTNAME="myhost"
    $ sed -i '$c HOSTNAME='"$HOSTNAME" /etc/sysconfig/network

    使用”‘把shell变量包起来,即”‘$var’”;注意是“双引号+单引号+shell变量+单引号+双引号”的格式。
    这种写法大家无需改变用’括起awk程序的习惯,是老外常用的写法;这种写法其实际是双括号变为单括号的常量,传递给了awk.

    例如:

    1
    2
    var="abc"
    awk 'BEGIN{print "'$var'"}'
  2. [expect 中远程登陆后执行命令]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/expect -f
    set timeout 1;
    set HOST [lindex $argv 0]
    set PWD [lindex $argv 1]
    spawn ssh-copy-id root@$HOST;
    expect {
    "*yes/no*" { send "yes\r"; exp_continue }
    "*password:" { send "$PWD\r"; }
    }
    # 独立分开于登录expect{}
    expect "*#"
    send "ls\r"
    expect eof
  3. [软链接的scp拷贝]
    用scp拷贝目录, 那么目录下的软链会丢失, 而且拷贝的是软链所指的文件。可以采用在源主机打包后拷贝至目标主机再解压。

  4. [命令加&区别]
    加&是把命令交给linux内核去运行一个进程任务,不加是通过shell来启动一个进程任务。在shell里面执行一个程序,对shell来说就是创建一个进程。加&时创建完进程后直接返回shell命令行;不加&时,创建完进程后等待子进程结束后再返回shell命令行

  5. [测试端口好方法]
    测试网络环境好方法:启动一个web服务器,提供端口.

    1
    2
    [zxl@localhost ~]$ python -m SimpleHTTPServer 8080
    Serving HTTP on 0.0.0.0 port 8080 ...
  6. 根据进程查看内存占用
    可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
    $ pmap -d 14596


【MongoDB】

  1. [capped col]

    Changed in version 3.2.

    If an update or a replacement operation changes the document size, the operation will fail.


【HIVE】

  1. [临时文件夹]
    Hive在运行Hive客户端和默认HDFS实例的机器上使用临时文件夹。这些文件夹用于存储每个查询的临时/中间数据集,并且通常在查询完成后由配置单元客户端清除。但是,如果异常的客户端终止,某些数据可能会被留下。配置细节如下:

    • 在HDFS集群上,默认情况下它被设置为/tmp/hive-<username>,并由配置变量hive.exec.scratchdir
    • 在客户端机器上,它被硬编码为/tmp/<username>

      请注意,在将数据写入表/分区时,Hive将首先写入目标表文件系统上的临时位置(使用hive.exec.scratchdir作为临时位置),然后将数据移动到目标表。这适用于所有情况 - 无论表格是存储在HDFS(正常情况下)中,还是存储在S3或甚至NFS等文件系统中。

  2. [HiveWebInterface]
    Hive Web Interface(HWI)是一个简单的图形用户界面。

    WebHCat API
    另一个可用于Hive命令的Web界面是WebHCat,一个REST API(不是GUI)。借助WebHCat,应用程序可以发出HTTP请求来访问Hive Metastore(HCatalog DDL),或者创建Hive 查询和命令,Pig 作业以及MapReduce或YARN作业(标准或流式)并将其排队。

    启动
    在hive不使用参数初始化时,调用CLI。Hive有一个用于启动其他hive恶魔的扩展架构。
    Jetty需要Apache Ant来启动HWI。您应该将ANT_LIB定义为环境变量或将其添加到hive调用中。

    export ANT_LIB=/opt/ant/lib
    bin/hive --service hwi
    Java没有直接的妖魔化方式。在生产环境中,您应该创建一个包装脚本。

    nohup bin/hive --service hwi > /dev/null 2> /dev/null &
    如果您需要关于服务调用的帮助或者您可以添加的参数列表

    bin/hive --service hwi --help

  3. [HiveServer2]
    HiveServer2(HS2)是服务器接口,使远程客户端执行对蜂巢的查询和检索结果。目前基于Thrift RPC的实现是HiveServer的改进版本,并支持多客户端并发和身份验证。它旨在为JDBC和ODBC等开放API客户端提供更好的支持。

  4. [清理临时目录]
    ClearDanglingScratchDir工具
    可以运行Cleardanglingscratchdir工具来清理Hive不正常关闭时可能遗留的任何悬挂临时目录,例如当虚拟机重新启动并且Hive无法运行关闭挂钩时。

    1
    2
    3
    4
    hive --service cleardanglingscratchdir [-r] [-v] [-s scratchdir]
    -r dry-run mode, which produces a list on console
    -v verbose mode, which prints extra debugging information
    -s if you are using non-standard scratch directory

如果文章对您有帮助,感谢您的赞助支持!