원본 컴파일 설치 EMQX V3.0 서버(MQTT)
4313 단어 사물인터넷
EMQ X 프로젝트 설계 목표는 이동 단말기 또는 사물인터넷 단말기의 대량의 MQTT 연결을 탑재하고 대량의 사물인터넷 장치 간의 빠른 시간 지연 메시지 루트를 실현하는 것이다.
문장 요약
이 글은 원본 코딩에 EMQX를 설치하고 사용자 정의 플러그인과 함께 mqtt 메시지를 Kafka 메시지 중간부품에 전달해야 한다는 것을 소개합니다.
EMQX 개원 버전을 선택했습니다. 메시지를 Kafka에 영구화하려면 자체적으로 플러그인을 작성해야 합니다. 다행히도 Github에 개원된 kafka 플러그인이 있습니다. V3의 안정적인 버전을 찾아서 kafka 플러그인(현재 3.1 또는 더 높은 버전에 적합하지 않음)을 사용할 수 있습니다. 그래서 우리는 3.0.1 버전을 선택하고 이 버전을 컴파일하여 설치합니다.
Erlang 설치
EMQ 메시지 서버는 Erlang/OTP 플랫폼을 기반으로 개발되었고 원본 컴파일은 Erlang 환경에 의존합니다.EMQX 3.0은 Erlang 21.3 버전에 의존합니다.
yum install gcc* glibc-devel makencurses-devel openssl-devel autoconf -y
yum install unixODBC unixODBC-devel-y
yum -y install gcc-c++ kernel-develm4 python-simplejson
설치 패키지 다운로드(버전 번호 21.3 참고)
wget http://erlang.org/download/otp_src_21.3.tar.gz(80 M, )
tar -zxvf otp_src_21.3.tar.gz
cd otp_src_21.3
./otp_build autoconf
( ssl )
./configure --enable-smp-support--enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl
make && make install
erlang 기본 설치 경로/usr/local/lib/erlang, 검증 버전:
erl
반환:
Erlang/OTP 21 [erts-10.3] [source][64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Eshell V10.3 (abort with ^G)
이전에 다른 Erlang 버전을 설치했다면 새 버전을 설치하기 전에 이전 버전의 설치 디렉터리/usr/local/lib/erlang을 삭제한 후에 새 버전을 설치해야 합니다. 그렇지 않으면 다른 소프트웨어를 설치할 때 컴파일 버전 오류가 발생할 수 있습니다.
Rebar 설치(Erlang 개발 빌드 도구)
설치 의존 rebar (rebar3는 다른 버전임을 주의하십시오)
git clonegit://github.com/rebar/rebar.git
cd rebar
./bootstrap
설치 성공
==> rebar (compile)
==> rebar (escriptize)
Congratulations! You now have aself-contained script called "rebar" in
your current working directory. Placethis script anywhere in your path
and you can use rebar to buildOTP-compliant apps.
환경 변수 구성
vi /etc/profile
export PATH=/emq/rebar/:$PATH (rebar )
실행 파일:
source /etc/profile
설치 성공 여부 테스트
rebar -V
다음 프롬프트가 나타나면 설치 성공 증명
rebar 2.6.4 22 20190625_031823 git2.6.4-39-gb6d3094
rebar3를 설치하면 오류가 발생할 수 있습니다.
/emq/rebar3/_build/default/lib/erlware_commons/src/ec_plists.erl:834:Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax forretrieving the stack backtrace
/emq/rebar3/_build/default/lib/erlware_commons/src/ec_plists.erl:836:Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax forretrieving the stack backtrace
해결 방법:
https://github.com/ferd/erlware_commons/blob/ad2d57d8b62b86ec1f3d03441f7defa595f2c59c/src/ec_plists.erl ec_plists.erl 。
EMQX 3.0.1 설치
mkdir /emq
cd /emq
wget -c https://github.com/emqx/emqx-rel/archive/v3.0.1.tar.gz
tar -zxvf v3.0.1.tar.gz
mv emqx-rel-3.0.1 emqx-rel
cd emqx-rel/
make( , ; kafka , )
컴파일 성공, 반환:
===> Starting relx build process...
===> Resolving OTP Applicationsfrom directories:
/emq/emqx-rel/deps
/usr/local/lib/erlang/lib
/emq/emqx-rel/apps
===> Resolved emqx-3.0.1
===> Including Erts from/usr/local/lib/erlang
===> release successfully created!
EMQ X 시작
cd _rel/emqx/bin
./emqx start
./emqx_ctl status
EMQX 프로필
/emq/emqx-rel/_rel/emqx/etc/emqx.conf
#
mqtt.allow_anonymous = false
#Erlang Process Limit
node.process_limit = 2097152
#Sets the maximum number ofsimultaneously existing ports for this system
node.max_ports = 1048576
자, 여기까지 원본 컴파일링 EMQX 3.0.1을 설치하면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원본 컴파일 설치 EMQX V3.0 서버(MQTT)5G 시대, 만물 상호 연결 메시지 엔진!EMQ X(Erlang/Enterprise/Elastic MQTT Broker)는 Erlang/OTP 플랫폼을 기반으로 개발된 소스 사물인터넷 MQTT 메시지 서버입니다.Er...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.