一、Linux常用脚本
1.查看进程
ps -ef|grep -i tom
2.SCP从远程复制到本地目录
scp [email protected]/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
3.查看目录
pwd
4.查看hadoop集群状态命令
hadoop dfsadmin -report
5.查看default getway命令
route 或者 netstat -r
6.添加default getway命令
route add default gw 10.25.125.1
7.重启网卡服务
service network restart
8.配置网卡命令
首先进入目录/etc/sysconfig/network-script
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=IP地址
USERCTL=no
PEERDNS=yes
GATEWAY=网关地址
9.查看防火墙状态
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
禁止防火墙在系统启动时启动
/sbin/chkconfig --level 2345 iptables off
重启iptables:
/etc/init.d/iptables restart
即时生效,重启后失效
service 方式
开启: service iptables start
关闭: service iptables stop
执行清楚命令
iptables -F
10.uname -r/uname -a 查看操作系统版本
11.cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
12.du -sh mul/ 查看当前文件目录大小
du -sm * | sort -n //统计当前目录大小 并安大小 排序
du -sk *|grep -data //查看一个文件夹大小
du data *|wc -l //查看当前目录下文件数
13.hadoop查看数据命令
hadoop fs -du /data1/hive/warehouse/
kill 命令
hadoop job -kill jobid
14.赋权命令
chown --help 帮助
chown -R cup:hadoop data/
15.定时命令
crontab -l 查看定时
crontab -e 设置定时
前5个字段分别表示:
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
二、hive非交互模式命令
1.可以将hive执行的sql语句保存到脚本文件中,通过-f选项制定脚本文件执行hive
eg:hive -f script.sql
2.对于较短的sql语句,可以直接使用-e选项运行hive
eg:hive -e ‘select * from table a‘
3.-S选项
hive执行过程中,会在终端上显示mapreduce的进度。如果不想显示进度,可以使用-S选项。
这个静音模式很实用,,通过第三方程序调用,第三方程序通过hive的标准输出获取结果集。
eg:$HIVE_HOME/bin/hive -S -e ‘select a.col from tab1 a‘ > tab1.csv
三、Sqoop常用命令
1、列出mysql数据库中的所有数据库
sqoop list-databases --connect jdbc:mysql://localhost:3306/ -username 111 -password 111
2、连接mysql并列出数据库中的表
sqoop list-tables --connect jdbc:mysql://localhost:3306/test --username 111 --password 111
3、将关系型数据的表结构复制到hive中
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table users --username dyh --password 000000
--hive-table users --fields-terminated-by "\0001" --lines-terminated-by "\n";
参数说明:
--fields-terminated-by "\0001" 是设置每列之间的分隔符,"\0001"是ASCII码中的1,它也是hive的默认行内分隔符,
而sqoop的默认行内分隔符为"," --lines-terminated-by "\n" 设置的是每行之间的分隔符,此处为换行符,也是默认的分隔符;
注意:只是复制表的结构,表中的内容没有复制
4、将数据从关系数据库导入文件到hive表中
sqoop import --connect jdbc:mysql://localhost:3306/test --username dyh --password 000000
--table users --hive-import --hive-table users -m 2 --fields-terminated-by "\0001";
参数说明:
-m 2 表示由两个map作业执行;
--fields-terminated-by "\0001" 需同创建hive表时保持一致;
5、将hive中的表数据导入到mysql数据库表中
sqoop export --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000
--table users --export-dir /user/hive/warehouse/users/part-m-00000 --input-fields-terminated-by ‘\0001‘
6、将数据从关系数据库导入文件到hive表中,--query 语句使用
sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000
--query "select id,age,name from userinfos where \$CONDITIONS" -m 1 --target-dir /user/hive/warehouse/userinfos2
--fields-terminated-by "
7、将数据从关系数据库导入文件到hive表中,--columns --where 语句使用
sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000
--table userinfos --columns "id,age,name" --where "id > 3 and (age = 88 or age = 80)" -m 1
--target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";