大数据一些启动脚本和采集脚本
-->只是为了自己方便所做的一些记录,仅供参考,欢迎指正<--
启动脚本,以flume为例:
#! /bin/bash
case $1 in
"start")
nohup flume-ng agent --conf /opt/installs/flume1.9/conf --name a1 --conf-file /opt/installs/flume1.9/job/mall2.conf >/opt/installs/flume1.9/out2.txt 2>&1 &
;;
"stop")
ps -ef | grep mall2.conf | grep -v grep | awk '{print $2}' | xargs kill
;;
*)
echo "请输入正确的参数"
;;
esac
虚拟机群启动脚本:
#!/bin/bash
#验证参数
if(($#==0))
then
echo 请传入要执行的命令!
exit;
fi
echo "要执行的命令是:$@"
#批量执行
for((i=11;i<=13;i++))
do
echo -----------------------hadoop$i---------------------
ssh hadoop$i "source /etc/profile;$@"
done
虚拟机群分发脚本:
#!/bin/bash
pcount=$#
if((pcount == 0));then
echo no args;
exit;
fi
pname=$1
#fname a.txt
fname=`basename $pname`
echo "$fname"
#获取上级目录绝对路径
#pdir /root/test1
pdir=`cd -P $(dirname $pname);pwd`
user=`whoami`
for((host=12;host<=13;host++));do
echo "scp -r $pdir/$fname $user@hadoop$host:$pdir"
scp -r $pdir/$fname $user@hadoop$host:$pdir
done
flume采集脚本:
自己去官网找,下面列举一个最简单的写法:
#1.声明agent中包含的source、channel、sink的名称以及个数
#a1是agent的名称 r1是source的名称、c1是channel的名称、k1是sink的名称
a1.sources = r1
a1.channels = c1
a1.sinks = k1
#2.配置source
a1.sources.r1.type = spooldir
#不同的type,下面的属性是不一样
#对指定目录下的文件中数据进行采集
a1.sources.r1.spoolDir = /opt/data/upload
a1.sources.r1.fileSuffix = .done
#3.配置channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
#4.配置sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://hadoop10:9000/flume/%Y-%m-%d
#使用本地时间戳,生成path中时间转义符
a1.sinks.k1.hdfs.useLocalTimeStamp=true
a1.sinks.k1.hdfs.fileType = DataStream
#禁止根据时间滚动生成新文件
a1.sinks.k1.hdfs.rollInterval = 0
#当文件大小达到100M时,生成新文件
a1.sinks.k1.hdfs.rollSize = 104857600
#禁止根据event个数生成新文件
a1.sinks.k1.hdfs.rollCount = 0
#5.将source、channel、sink连接在一起
#r1采集的数据放到c1这个channel
a1.sources.r1.channels = c1
#k1会从c1这个缓冲区读取数据,并且写出去
a1.sinks.k1.channel = c1
sqoop采集脚本:
RDBMS(mysql) -> HDFS:
bin/sqoop import \
--driver com.mysql.jdbc.Driver \
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding=UTF-8 \
--username root \
--password 123456 \
--table t_user \
--num-mappers 4 \
--fields-terminated-by '\t' \
--target-dir /mysql/t_user \
--delete-target-dir
RDBMS -> Hive:
bin/sqoop import \
--driver com.mysql.jdbc.Driver \
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding=UTF-8 \
--username root \
--password 123456 \
--table t_user \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-database test_hive \
--hive-table hive_user
HDFS|hive -> RDBMS:
vi a.txt
# 在文件中添加如下内容
1 zhangsan true 20 2020-01-11
2 lisi false 25 2020-01-10
3 wangwu true 36 2020-01-17
4 zhaoliu false 50 1990-02-08
5 win7 true 20 1991-02-08
#在hdfs上创建sqoop目录(目录名称随意,不过需要和后边对应),将文件上传到sqoop目录下
hdfs dfs -mkidr /sqoop
hdfs dfs -put a.txt /sqoop
解决null值定义不一样问题:
在sqoop采集脚本中加上以下两行代码:
--null-string '\\N' \
--null-non-string '\\N' \
大数据一些启动脚本和采集脚本相关推荐
- 上海市国资大数据课题启动仪式暨数据资产技术及金融行业应用沙龙隆重开
Gartner在最新研究报告中指出,大数据技术正从概念炒作回归到理性认知阶段.在大数据即将成为国家基础性战略资源的今天,国资系统沉淀的大数据将在我国国民经济和社会发展中发挥举足轻重的作用.那么,如何评 ...
- 上海市国资大数据课题启动仪式暨数据资产技术及金融行业应用沙龙隆重开幕...
Gartner在最新研究报告中指出,大数据技术正从概念炒作回归到理性认知阶段.在大数据即将成为国家基础性战略资源的今天,国资系统沉淀的大数据将在我国国民经济和社会发展中发挥举足轻重的作用.那么,如何评 ...
- 紧随大数据浪潮:爬虫工具采集同花顺圈子评论教程
大数据是什么?对于"大数据"(Big data)研究机构Gartner给出了这样的定义."大数据"是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力 ...
- 客快物流大数据项目(十六):使用脚本创建镜像
目录 使用脚本创建镜像 一.编写Dockerfile 二.构建镜像
- 你知道大数据中的五种采集方式吗?
1.什么是采集 在一般的分层业务系统中,数据采集都是一个非常重要的部分:主要负责数据的输入. 2.为什么需要采集 在传统的管理系统中,一般的业务系统都是采集,存储,显示 ,报表,这是传统分层模型下的架 ...
- 大数据引擎启动时常见错误汇总
1.端口号被占用(java.net.BindException) 不论是Flink,还是Kafka,Zk,hadoop之类的,正常启动,jps进程却未显示错误,先查看启动日志.例如: 端口号被占用的错 ...
- 大数据平台之今日头条采集,今日特卖全自动发布,淘宝达人有好货一键上传
1.图片转文字,上传符合格式图片就会自动转换成文字,虽然数量次数有限制,但是还是很好用的. 2.关键字查场景图,比自己辛苦一个一个去找要快的多 其他自己去研究了. 详情参见https://www.ta ...
- 【老文档20160925】一种基于大数据进行预防与阻断应用相互唤醒启动的方法
一.本专利技术所属的领域: 领域:操作系统/应用管理 常规用途:通过合理的应用管理,改善性能和功耗. 二.相关技术背景 技术背景:手机耗电.卡顿的原因之一,部分耗电应用在后台频繁调度CPU导致不必要的 ...
- hdp对应hadoop的版本_好程序员大数据学习路线分享hadoop的知识总结
大数据学习路线分享hadoop的知识总结,Hadoop的背景:原生公司是apache, cdh的cloudar公司,hortworks公司提供hdp. 其中apache的发行版本大致有1.x ,2.x ...
最新文章
- 全国大学生智能汽车竞赛获奖证书文字
- 金九银十铁12,看完弄懂,工资少说加 5K
- Java实现文件压缩与解压[zip格式,gzip格式]
- 如果再写 for 循环,我就锤自己!
- oracle10客户端tnsname,连接Oracle RAC 的tnsname.ora设置
- (五)Maven中的聚合和继承
- 学英语(1)---常用英语
- 轻量级数据交换格式JSON
- SLAM基础_什么是ORB特征,怎么计算的?
- 六、DMSP/OLS夜间灯光数据之GDP空间化的反演
- JAVA设计模式之桥接模式
- Chloe.ORM 实体批量生成
- Win10常见问题【Office等】
- 弥散磁共振影像处理的黎曼 芬斯勒几何方法研究
- html5手机触屏效果,html5手机触屏touch事件的详细介绍
- Opencv识别车牌
- 应用程序未安装,已安装了存在签名冲突的同名数据包
- python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法
- PID控制------伯德图原理
- CDN引入elementUI语言设置为英语
热门文章
- cocos creator 如何获取单位向量
- 2018VR创意创新创业大赛探索VR技术“第二空间”无限可能
- 【报告分享】2021Q3中国主要城市交通分析报告-高德地图(附下载)
- wordpress新增一个列表页
- java 批量上传pdf文件_使用fileinput插件批量上传文件
- java图片批量添加_java实现邮件中插入批量图片
- 原型prototype
- rasa core 中的逻辑
- java计算机毕业设计校园招聘管理系统源码+mysql数据库+lw文档+系统+调试部署
- Perl中的闭包(closure)