erlang

Linux、Centos7安装rabbitMq

假装没事ソ 提交于 2019-12-15 03:32:13
一:安装Erlang 1.下载安装 erlang语言运行环境,从erlang的官网下载: Erlang官网: https://www.erlang.org/ cd /usr/local wget http://erlang.org/download/otp_src_21.3.tar.gz 2.安装erlang前先安装Linux依赖库: yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 3.解压erlang压缩包文件: tar -zxvf otp_src_21.2.tar.gz 4.配置,切换到解压的目录下: cd otp_src_21.2 ./configure 5.编译: make 6.安装: make install 7.验证 安装好了erlang后可以将解压的文件夹删除: rm -rf otp_src_21.2 验证erlang是否安装成功,在命令行输入: erl 如果进入了编程命令行则表示安装成功,然后按ctrl + z 退出编程命令行; 二:安装rabbitMq 1.从RabbitMQ官网https://www.rabbitmq.com找到下载链接 wget https://github.com/rabbitmq/rabbitmq-server/releases

redhat 安装Rabbitmq

余生颓废 提交于 2019-12-14 17:45:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 先安装JDK 安装erlang环境: 安装依赖文件:yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto; yum install unixODBC-devel 解压erlang文件:tar -zxvf otp_src_19.2.tar.gz; 安装环境配置 ./configure --prefix=/usr/data/server/erlang --without-javac make && make install 测试erlang,输入:"erl" 进入控制台,输入 "halt()." 安装RabbitMQ 1、解压RabbitMQ:xz -d rabbitmq-server-generic-unix-3.6.6.tar.xz;(因为我们下载的是tar.xz文件) 解压".tar"的RabbitMQ文件:tar -xvf rabbitmq-server-generic-unix-3.6.6.tar -C /usr/data/server/ 启动,关闭服务 启动:./rabbitmq-server -detached (后台运行)或 ./rabbitmq-server start 关闭:./rabbitmqctl stop

linux安装RabbitMQ教程

佐手、 提交于 2019-12-14 12:08:53
RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。 一、erlang安装   RabbitMQ是使用Erlang开发,所以安装RabbitMQ前需要先安装Erlang。 1.下载源文件 wget http://erlang.org/download/otp_src_17.0.tar.gz 2.编译安装Erlang 编译安装Erlang对环境有要求,为防止在编译的时候提示某些软件包未安装之类的错误,所以我将Erlang需要的软件提前安装,直接使用yum进行安装即可 yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel kernel-devel 3.解压 tar -zxvf otp_src_17.0.tar.gz 4. 编译配置Erlang ./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp

RabbitMQ实战-浅议与安装(一)

六月ゝ 毕业季﹏ 提交于 2019-12-14 09:59:00
RabbitMQ实战-浅议与安装(一) 1.MQ浅议 2.RabbitMQ介绍 2.1 六种队列模式 2.2 关键名词 3.安装 3.1 下载安装包 3.2 windows安装 3.3 CentOS安装 4.管理后台 1.MQ浅议 MQ是Message Queue的简称,我们也称之为消息队列。MQ是应用与应用之间的通信方法,两端的应用不进行直接调用,而是通过一方推送、一方消费的模式完成消息交换,避免了两个应用之间的依赖与耦合。 MQ框架需遵循AMQP协议,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。(粘贴自百度) 类似的MQ框架有很多,应用比较广泛的有RabbitMQ,Kafka,RocketMQ等,其中要着重介绍的是RocketMQ,它是由阿里开源并线上应用的消息框架,经过淘宝双十一等高可用场景下的考验,我司在阿里云上就购买了RocketMQ的线上应用,效果非常好。 我们今天要介绍的是另外一种MQ框架RabbitMQ,通过这张表格,我们可以比较直观的看到各MQ框架在应用场景、吞吐量等多方面的优劣,所以综合考虑,我们选择学习RabbitMQ。 2

dealing with riak datatypes in postcommit hooks

核能气质少年 提交于 2019-12-14 03:53:19
问题 I am wanting to implement a postcommit hook for riak that decrements a counter in a map in another bucket. However I am having a bit of trouble dealing with the riak datatypes. Here is me attempting from riak console : (riak@127.0.0.1)9>{ok, C} = riak:local_client(). {ok,{riak_client,['riak@127.0.0.1',undefined]}} (riak@127.0.0.1)10>{ok, Obj} = C:get({<<"product">>, <<"default">>}, <<"1">>). {ok,{r_object,{<<"product">>,<<"default">>}, <<"1">>, [{r_content,{dict,5,16,16,8,80,48, {[],[],[],[],

call an undefined function in erlang

▼魔方 西西 提交于 2019-12-14 03:38:16
问题 I want to export DATA fom table mnesia to the txt file I try with this code : exporttxt()-> F = fun(T) -> mensia:foldl(fun(X,Acc) -> [X|Acc] end, [],T) end, {atomic,L} = mnesia:transaction(F(user)), file:write_file("test.txt",[io_lib:format("~p\t~p\t~p~n",[F1,F2,F3]) || #user{id = F1,adress = F2,birthday = F3} <- L]). but when I test this function I have this error : Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.7.4 (abort with ^G) 1> model

Call to i:im() in application debugger failed in mongooseim

半世苍凉 提交于 2019-12-14 03:14:38
问题 It seems invoking im() . after invoking ./bin/mongooseim debug shell fails with message "call to i:im/0 in application debugger fails". However, when I do it typical Erlang shell, it opens up the window correctly. Any idea why ? 回答1: There is several reasons starting debugger graphical interface could fails: you are debugging a remote server and the server cannot display its UI on your local computer through SSH. You are missing access to some Erlang components in the context of ejabberd. As

erlang parse string to data types using regex

微笑、不失礼 提交于 2019-12-14 03:05:00
问题 I'm trying to make a parser in erlang, in hope to recognize data types inside a string. After searching, I couldnt find any existed problem as mine: original string: atom1,"string2,,\"\",",{tuple3, "s pa ces \"", {[test]},"_#",test},<<"binary4\",,>>">>, #{map5=>5, element=>{e1,e2}}, #record6{r1 = 1, r2 = 2} , <<300:16>> string that is need to be parsed: "atom1,\"string2,,\\\"\\\",\",{tuple3, \"s pa ces \\\"\", {[test]},\"_#\",test},<<\"binary4\\\",,>>\">>, #{map5=>5, element=>{e1,e2}},

Syntax Error while accessing a field in a record

戏子无情 提交于 2019-12-14 02:34:47
问题 I'm having a problem that should be stupidly easy to fix. Following this, I'm trying to access a field in a record. Here's a simplified example that exhibits my problem: -module(test). -export([test/0]). -record(rec, {f1=[], f2=[], f3=[]}). test() -> Rec = #rec{f1=[1,2,3], f3=[4,5,6]}, Fields = record_info(fields, rec), loop(Fields, Rec). loop([Field|Fields], Rec) -> [Rec#rec.Field|loop(Fields, Rec)]; %% <-- This is line 12. loop([], _Rec) -> []. When I try to compile test, I get a syntax

erlang:now/0 is faster than os:timestamp/0?

喜夏-厌秋 提交于 2019-12-14 02:27:45
问题 As said in manual, http://www.erlang.org/erldoc?q=erlang:now If you do not need the return value to be unique and monotonically increasing, use os:timestamp/0 instead to avoid some overhead. os:timestamp/0 should be faster than erlang:now/0 But I tested on my PC with timer:tc/3, for 10000000 calls, time spent in microsecond is: erlang:now 951000 os:timestamp 1365000 Why erlang:now/0 faster than os:timestamp/0? My OS: Windows 7 x64, erlang version: R16B01. ------------------edit---------------