lg.sh相当于开启java-jar,可以通过参数改日期,在/home/bin目录下,因为102 103两台机器都要采集所以写了这个脚本
hadoop104 cd /opt/module/flume-1.9.0/conf 日志消费flume
vim kafka-flume-hdfs.conf
a1.sinks.k1.hdfs.codeC = org.apache.hadoop.io.compress.GzipCodec
cd /home/atguigu/bin mysql_to_hdfs_init.sh mysql_to_hdfs.sh
首日sqoop同步脚本与每日同步脚本,并删除创建lzo索引的命令
org.apache.hadoop.io.compress.GzipCodec
f1.sh 日志采集的两个flume,102 103,通过taildir source监控applog目录下log目录下的app.*.log文件传到kafka,而这个文件由applog目录下的java -jar生产,你可以通过改变日期生成多个文件
f2.sh 业务数据采集,104,通过kafka source、file channel、hdfs sink将kafka的数据采集到hdfs上以gzip存储,hdfs目录会自动生成,一个flume程序就是一个Application进程
hdfs:/origin_data/gmall/log
mysql_to_hdfs_init.sh业务数据首日同步脚本(全量),第一个参数传表名,第二个参数传日期,不传默认昨天,其实只是决定了生成的hdfs中的目录,第一个参数all同步所有表,且all会作为一级hdfs目录,表名为同步某个表
hdfs:/origin_data/gmall/db
hdfs_to_ods_log.sh + 日期导入hdfs日志数据到hive,默认导入昨天
hdfs_to_ods_db_init.sh +表名 +日期 ods层业务表首日数据装载脚本
重下hive记得把hiveservices.sh脚本重写到conf目录下
spark on hive
要创建两个路径spark-history spark-jars
<!-- jdbc连接的Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- jdbc连接的username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- jdbc连接的password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- Hive元数据存储的验证 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!-- 元数据存储授权 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!--hive读取元数据的编码-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<!--会把Spark纯净版的jar包传上去,多个节点都依赖-->
<property>
<name>spark.yarn.jars</name>
<value>hdfs://hadoop102:8020/spark-jars/*</value>
</property>
<!--Hive执行引擎-->
<property>
<name>hive.execution.engine</name>
<value>spark</value>
</property>
<!--Hive和Spark连接超时时间-->
<property>
<name>hive.spark.client.connect.timeout</name>
<value>300000ms</value>
</property>
<property>
<name>hive.spark.client.server.connect.timeout</name>
<value>300000ms</value>
</property>
<property>
<name>spark.dynamicAllocation.enabled</name>
<value>true</value>
</property>