精华内容
下载资源
问答
  • 文章目录一、idea集成Lua二、Lua脚本语法2.1 数据类型2.2 查看数据类型2.3 运算符2.4 局部变量、全局变量2.5 函数2.6 if分支2.7 循环结构2.8 数组、泛型for循环2.9 类型转换tostring()、tonumber()2.10 函数返回值...

    大数据方向,lua脚本是和Nginx和Openresty结合使用的
    Lua脚本语言入门

    一、idea集成Lua

    下载该插件,新建项目的时候选择maven,右键新建文件的时候则有新建lua文件
    在这里插入图片描述
    导入编译器
    在这里插入图片描述

    二、Lua脚本语法

    2.1 数据类型

    支持的字符串类型有string、number、function、boolean、table、nil(无类型)

    2.2 查看数据类型

    print(type("helloword"))
    

    2.3 运算符

    + - * / 
    < > <= >= ~=
    and or not
    # 		--- 求字符串长度,print(#"helloworld")
    ..		--- 拼接字符串不能使用加号,只能使用..进行拼接,print("hello".."world")
    

    2.4 局部变量、全局变量

    local a=1 	--- 局部变量
    b=2		--- 全局变量
    

    2.5 函数

    function joke()
    	c = 5
    	local d = 6
    end
    
    joke()
    print(c, d)
    

    2.6 if分支

    if(条件)
    then
    	语法
    do
    
    if(条件)
    then
    	语法
    else
    	语法
    end
    

    2.7 循环结构

    while(条件)
    do
    	语法
    end
    
    repeat		---类似do-while循环
    	语法
    until(条件)	
    	
    for var = exp1,exp2,exp3 do 		---从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次执行体。
    	print(i)						---exp3是可选的,如果不指定默认就是1
    end 
    
    for i=1,10 do						---步长为1
    	print(i)
    end 
    
    for i=1,10,2 do						---步长为2
    	print(i)
    end 
    

    2.8 数组、泛型for循环

    在这里插入图片描述
    在这里插入图片描述

    2.9 类型转换tostring()、tonumber()

    print(tostring("10"))
    print(tonumber("A",16))			--- A转16进制
    

    2.10 函数返回值

    function fun(a,b,c,d)
    	return a,b,c,d
    end
    
    local r,t,y,u = func(1,2,3,4)		---接收函数返回值的时候一般都是定义成局部变量
    

    2.11 table类型(理解为Java中的map类型)

    table1 = {name = "zhang"}
    table1.age = 22
    print(table1.name)
    print(table1.age)
    

    2.12 引入模块

    新建一个文件test1
    local xy = 10		---局部变量是无法引入到另一个模块的
    yx = 456
    
    引入test1模块
    require "test1"		---引入多级的文件,使用 文件夹.文件名
    print(xy)		-	---无法引入xy
    print(yx)			---456
    
    展开全文
  • 2020/10/27 21:21:03 [error] 12539#12539: *71 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attempt to index local 'shared_data' (a nil value) stack traceback:...
    2020/10/27 21:21:03 [error] 12539#12539: *71 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attempt to index local 'shared_data' (a nil value)
    stack traceback:
    coroutine 0:
            /usr/local/openresty/lualib/controller.lua: in main chunk, client: 192.168.10.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "node1", referrer: "http://node1/"
    2020/10/27 21:21:03 [error] 12539#12539: *73 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attempt to index local 'shared_data' (a nil value)
    stack traceback:
    coroutine 0:
            /usr/local/openresty/lualib/controller.lua: in main chunk, client: 192.168.10.1, server: localhost, request: "GET / HTTP/1.1", host: "node1"
    2020/10/27 21:21:03 [error] 12539#12539: *72 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attempt to index local 'shared_data' (a nil value)
    stack traceback:
    coroutine 0:
            /usr/local/openresty/lualib/controller.lua: in main chunk, client: 192.168.10.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "node1", referrer: "http://node1/"
    
    

    vim …/nginx/conf/nginx.conf配置共享内存
    在这里插入图片描述

    展开全文
  • 大数据架构

    2020-07-20 13:33:00
    大数据架构和技术选型 大数据架构 源数据层: ...2、实时:filebeat、nginx+lua 补充:当数据量达到5亿左右的时候,filebeat+logstash采集数据到hdfs,数据会出现丢失的情况,所以此种方案不适合用于大数...

    大数据架构和技术选型

    大数据架构

    源数据层:

    1、sdk日志埋点

    2、日志文件:爬虫日志、业务日志

    3、关系型数据库:mysql、oracle等

    数据采集层:

    1、离线:flume、Sqoop、Nifi
    2、实时:filebeat、nginx+lua
    补充:当数据量达到5亿左右的时候,filebeat+logstash采集数据到hdfs,数据会出现丢失的情况,所以此种方案不适合用于大数据存储到hdfs

    数据存储层:

    1、hdfs用于存储离线大数据量
    2、kudu用于存储mysql关系数据库更新变化的数据
    3、es存储一些log日志,比如说我们需要快速的定位某一个业务的log情况
    4、kafka作为消息中间件,存储filebeat或者是flume采集的日志

    数据分析层:

    1、es,分析一些log
    2、hive适用于分析一些离线大数据(基于磁盘IO分析)
    3、impala、presto适用于分析一些准实时日志(要求快速出数据,基于内存分析)
    4、spark core+spark sql 适用于分析一些离线数据,自定义解析规则
    5、spark streaming适用于分析一些实时(不是完全实时)数据
    6、flink、jstorm进行分析完全实时的数据

    数据调度层:

    1、airflow:使用于大集群,阿里的调度系统就是根据airflow二次开发,配置复杂,python脚本实现
    2、azkaban:cpu和内存要求不高,主从配置支持的不算太好,适用于小集群,以job的文件实现,配置简单
    3、oozie:通常hue集成,单独的使用oozie的情况下,配置及其复杂,不建议使用,所有的任务是以mr的形式进行的,可支持复杂的依赖调度
    4、jobX:cpu使用高,bug还没修复,所以造成agent的cpu维持在1个左右,配置简单,只支持依赖调度,并行调度不支持
    5、crontab:一般用于每分钟调度一次的任务,不支持依赖调度、并行调度(配置复杂,通过脚本自定义控制),没有可视化界面,不能准确的判断任务是否成功或者是失败.......

    6、NiFi

    7、自定义,公司自己开发使用的

    数据同步层:

    1、sqoop用的是1.x系列版本
    2、datax

    3、kettle

    4、NiFi

    数据olap存储层:

    mysql、es、tidb、redis、hbase、clickhouse

    补充:有时间的话去研究一下tidb和clickhouse

    数据展示层:

    PowerBI、帆软等BI可视化工具、前端定制开发。

    技术选型

    实时分析

    ​ 可以使用lua或者filebeat将nginx数据采集到kafka,数据经过spark streaming或者是jstorm进行分析后,尽可能的存入一些高吞吐量的数据库(非关系型),但是有时必须要存入一些关系型数据库,比如说mysql,但是spark streaming发现仅仅通过一个map操作,每个执行的batch的时间,就超过我们所设置的batch时间,这时候我们需要一个措施,增加一个缓冲层,不直接mysql或者是redis,先写入kafka,然后通过kafka推送到独立的写入服务,这样会发现实时处理服务的时间明显的降低。

    离线分析

    采集这块用flume的tailf形式,或者使用sqoop和nifi。

    数据分析使用Hive、SparkSql,数据存储使用HDFS。

    最终将数据导出到mysql等常用的关系型数据库当中。

    组件版本号

    Cloudera Manager:6.2.1

    CDH:6.2.1

    Hadoop:3.0.0-cdh6.2.1

    HBase:2.1.0-cdh6.2.1

    Hive:2.1.1-cdh6.2.1

    Kafka:2.1.0-cdh6.2.1

    Kudu:1.9.0-cdh6.2.1

    Oozie:5.1.0-cdh6.2.1

    Spark:2.4.0-cdh6.2.1

    Sqoop:1.4.7-cdh6.2.1

    ZooKeeper:3.4.5-cdh6.2.1

    展开全文
  • 大数据开发总结开篇

    2019-12-11 22:51:46
    喊着系统学习总结Python及大数据开发已经很久了,一直是晃晃悠悠的,结果从lua探针项目开始到现在已经快要结束了,不仅lua总结没有完成,而且马上要开始Python大数据的项目了,Python及大数据相关的知识也还没有系统...

    大数据开发总结开篇

    喊着系统学习总结Python及大数据开发已经很久了,一直是晃晃悠悠的,结果从lua探针项目开始到现在已经快要结束了,不仅lua总结没有完成,而且马上要开始Python大数据的项目了,Python及大数据相关的知识也还没有系统性的总结,自己的执行力还真是差强人意,也因此感觉每天坚持1.1而不是0.9还真不是一件简单的事情,所以,马上行动起来,学习会比游戏更让人充实。

    由于是后面大数据项目要用,所以初步的规划是学习完Python的基础知识,然后系统过一下大数据方面的知识,之前有学过一些基础的Python语法以及java大数据方面的一些内容,所以主要还是系统性的过一遍,然后写写代码,熟下手,写完c感觉c++有些手生,写完lua感觉c有些手生,写代码的手感我感觉还是蛮重要的,手感好了,思路的输出也会更流畅。

    分成以下几个学习重点:

    • Python3基础知识
    • Java基础知识
    • 大数据概述及背景
    • 搭建Hadoop环境
    • HDFS
    • MapReduce
    • Zookeeper
    • Hive
    • Flume
    • Sqoop
    • Azkaban
    • Hbase
    • Elasticsearch
    • scala
    • Spark
    • Memchched
    • Kafka
    • Flink

    呼,算是定下一个新的目标,不然自己又会懒散着去打游戏荒废人生了,尽量在lua项目结束前完成lua的总结,然后同步希望Python基础知识能总结完,能上手写一写Python代码,然后在维护lua项目的时候能帮手写一些Python的脚本,一边帮手熟悉大数据的项目一边总结大数据相关的知识,反正闲着也是闲着,大数据技能树也能点起来了,就是我这嵌入式Linux开发工程师的技能点的越来越离谱了(还在想着人工智能.,没事,有饭吃、有事做,想那么多干嘛那)。

    展开全文
  • 大数据之spark

    2019-05-26 22:43:27
    wget https://www.apache.org/dyn/closer.lua/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz 解压spark tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz 结果如下图 scala的安装与配置 下载scala https://www....
  • 大数据实验七

    2019-05-27 11:52:53
    1、下载:https://www.apache.org/dyn/closer.lua/spark/spark-2.4.2/spark-2.4.2-bin-hadoop2.7.tgz 2、解压压缩包 3、先启动hadoop 环境start-all.sh 4、启动spark环境 进入到SPARK_HOME/sbin下运行start-all.sh /...
  • 这里我下载的是flume1.7.0,地址:http://www.apache.org/dyn/closer.lua/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz 解压并改名 [root@hlh001 software]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /o...
  • 总结了好久,终于到了我最喜欢的redis部分,在这个阶段就让我们好好的了解一下这个强大的工具~ ...它内置了复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,高可用也可以进行自动分区等。简而言之,red...
  • 1. Redis的简介 Redis是一个开源(BSD许可),内存...内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。 简言之,Redis是一种面向...
  • 实验七:Spark的安装与配置 ...官网下载安装Spark:https://www.apache.org/dyn/closer.lua/spark/spark-2.4.2/spark-2.4.2-bin-hadoop2.7.tgz spark-2.4.2-bin-hadoop2.7.tgz 官网下载安装Scala: https://www.sca...
  • centos7大数据hadoop集群搭建flume 前提:apache-flume官网下载flume 链接: https://www.apache.org/dyn/closer.lua/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz 1.将flume放入虚拟机指定目录下并解压(我这边为了...
  • lua基础(一)

    2019-09-30 13:36:51
    lua大数据类型 nil 只有值nil属于该类,表示一个无效值,相当于falseboolean 包含两个之 true和falsenumber 双精度类型的实际点数string 字符串,单引号或双引号表示function 函数的定义头userdata 表示任意储存...
  • 1.找到对应Hadoop版本的hbase 我的hadoop版本为2.7.3,选择1.4.9版本 ...https://www.apache.org/dyn/closer.lua/hbase/1.4.9/hbase-1.4.9-bin.tar.gz 3.伪分布式安装部署 可参考 http://hbase.apach...
  • 集群架构 3个节点,分别是node1,node2,node3,已经配置好网络,JDK,节点间的免密码登录等,另外集群有多少个节点都无所谓,这里...https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.8/apache-zookeeper..
  • 1、Spark集群安装 1.1. 安装 1.1.1. 机器部署 准备两台以上Linux服务器,...下载地址:http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz 上传解压安装包 上传spark-1....
  • 1.搭建Kafka 环境: 可参考 https://blog.csdn.net/weixin_37835915/article/details/103786157 (1)启动zookeeper (2)启动kafka (3)创建topic ...http://www.apache.org/dyn/closer.lua/flum...
  • http://www.apache.org/dyn/closer.lua/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz 2. 解压 tar -zxvf apache-storm-0.9.6.tar.gz -C /opt/modules/ 3. 修改配置 1)创建目录 mkdir -...
  • 目录分布式锁的实现方式分布式锁需要考虑的问题基于数据库实现分布式锁基于数据库表实现分布式锁基于数据库排他锁实现基于Redis实现分布式锁set命令和lua脚本Redisson框架基于zookeeper实现分布式锁排他锁、共享锁及...
  • 本文根据redis的info命令查看redis的内存使用情况以及state状态,来...used_memory:13409011624 #used_memory=实际缓存占用的内存+Redis自身运行所占用的内存(如元数据、lua)。 #这个值是由Redis使用内存分配器分配...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

lua大数据