国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP小白搭建Kafka環(huán)境以及初步使用rdkafka

這篇具有很好參考價(jià)值的文章主要介紹了PHP小白搭建Kafka環(huán)境以及初步使用rdkafka。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔


前言

提示:windows環(huán)境安裝失敗,Linux環(huán)境安裝成功(以下并沒有windows安裝示例)

一、安裝java(Kafka必須安裝java,因?yàn)閗afka依賴java核心)

下載地址:鏈接: https://www.oracle.com/java/technologies/downloads/#jdk20-linux
PHP小白搭建Kafka環(huán)境以及初步使用rdkafka,php,kafka,開發(fā)語言
將文件放在Linux目錄中后進(jìn)行解壓:

假設(shè)我把[jdk-20_linux-x64_bin.tar.gz]包放在了/root/src/uap/web/third 目錄下
1、tar -zxvf jdk-20_linux-x64_bin.tar.gz
2、mv jdk.0.20 ./jdk
3、vim /etc/profile 
 JAVA_HOME=/root/src/uap/web/third/jdk
 PATH=/root/src/uap/web/third/jdk/bin:$PATH
 export JAVA_HOME
4、source /ect/profile
5、java -version (出現(xiàn)下圖極為成功)

PHP小白搭建Kafka環(huán)境以及初步使用rdkafka,php,kafka,開發(fā)語言

二、安裝以及配置Kafka、zookeeper

1.下載Kafka(無需下載zookeeper,使用kafka自帶的即可)

下載地址:https://kafka.apache.org/downloads
提示:不要下載帶src的那個(gè),具體我也不知道,因?yàn)槲乙彩莻€(gè)小白
PHP小白搭建Kafka環(huán)境以及初步使用rdkafka,php,kafka,開發(fā)語言

假設(shè)我把[kafka_2.12-3.5.1.tgz]包放在了/root/src/uap/web/third 目錄下
1、tar -zxvf kafka_2.12-3.5.1.tgz
2、mv kafka.2.12 ./kafka
3、創(chuàng)建kafka日志文件
 mkdir -p ./kafka_data/log/kafka
 mkdir -p ./kafka_data/log/zookeeper
 mkdir -p ./kafka_data/zookeeper
4、cd ./kafka/config
vim server.properties
 listeners=PLAINTEXT://localhost:9092 (34行左右,添加對應(yīng)的host、port)
 broker.id=0
 port=9092
 host.name=192.168.1.241
 log.dirs=/root/src/uap/web/third/kafka_data/log/kafka
 zookeeper.connect=localhost:2181
wd
vim zookeeper.properties
 dataDir=/root/src/uap/web/third/kafka_data/zookeeper
 dataLogDir=/root/src/uap/web/third/kafka_data/log/zookeeper
 clientPort=2181
 maxClientCnxns=100
 tickTimes=2000
 initLimit=10
 syncLimit=5
wd
5、cd ../ 進(jìn)入kafka目錄下
#啟動(dòng)zookeeper
./bin/zookeeper-server-start.sh ./config/zookeeper.properties &
//如果其中報(bào)錯(cuò),大部分應(yīng)該是報(bào)JAVA_HOME 這個(gè)說明你沒有配置 /etc/profile 上面有
./bin/kafka-server-start.sh -daemon ./config/server.properties &

2.配置topid

代碼如下(示例):

kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic myt
返回值:Created topic myt.  創(chuàng)建成功/否則失敗

3.安裝PHP的rdkafka,這個(gè)網(wǎng)上教程很多,基本上都是正確的

例如:阿里云開發(fā)者社區(qū),php安裝rdkafka教程
剩下邏輯就直接貼代碼了文章來源地址http://www.zghlxwxcb.cn/news/detail-672666.html

生產(chǎn)者:
public function producer(){
        $conf = new RdKafka\Conf();
        $conf->set('metadata.broker.list', 'localhost:9092');
        $producer = new RdKafka\Producer($conf);
        $topic = $producer->newTopic("mytest");
        //獲取數(shù)據(jù)庫數(shù)據(jù),存入kafka中
        $wanchk = $this->db->query("SELECT * FROM hf_alarm_wanchk");
        foreach ($wanchk as $k => $v){
            $topic->produce(RD_KAFKA_PARTITION_UA, 0, array2json($v));
            $producer->poll(0);
        }
        
        $result = $producer->flush(10000);
        if (RD_KAFKA_RESP_ERR_NO_ERROR !== $result) {
            throw new \RuntimeException('Was unable to flush, messages might be lost!');
        }
        $producer->purge(RD_KAFKA_PURGE_F_QUEUE);
        $producer->flush(10000);
    }
消費(fèi)者:
//這個(gè)代碼需要使用終端運(yùn)行:
// /bin/php -c /etc/php.ini  -f  /入口文件目錄/index.php (類)consumer (方法)consumer
 public function consumer()
    {
        $conf = new \RdKafka\Conf();

        $conf->set('group.id', 'mytest');

        $rk = new \RdKafka\Consumer($conf);

        $rk->addBrokers("127.0.0.1");

        $topicConf = new \RdKafka\TopicConf();

        $topicConf->set('auto.commit.interval.ms', 100);

        $topicConf->set('offset.store.method', 'broker');

        $topicConf->set('auto.offset.reset', 'smallest');

        $topic = $rk->newTopic('mytest', $topicConf);

        $topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);

        while (true) {
            $message = $topic->consume(0, 120 * 10000);
            switch ($message->err) {
                case RD_KAFKA_RESP_ERR_NO_ERROR:
                    var_dump($message);
                    break;
                case RD_KAFKA_RESP_ERR__PARTITION_EOF:
                    echo "No more messages; will wait for more\n";
                    break;
                case RD_KAFKA_RESP_ERR__TIMED_OUT:
                    echo "Timed out\n";
                    break;
                default:
                    throw new \Exception($message->errstr(), $message->err);
                    break;
            }
        }
    } 

到了這里,關(guān)于PHP小白搭建Kafka環(huán)境以及初步使用rdkafka的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳解如何使用VSCode搭建TypeScript環(huán)境(適合小白)

    詳解如何使用VSCode搭建TypeScript環(huán)境(適合小白)

    因?yàn)門ypeScript不能直接在瀏覽器上運(yùn)行。它需要編譯器來編譯并生成JavaScript文件。所以需要首先安裝好javascript環(huán)境,可以參考文章: 詳解如何使用VS code搭建JavaScript環(huán)境(適合小白)_vscode配置javascript環(huán)境-CSDN博客 執(zhí)行下面命令進(jìn)行安裝 npm install -g typescript 安裝完成后我們就

    2024年02月04日
    瀏覽(21)
  • Kafka ui 搭建以及使用

    Kafka ui 搭建以及使用

    kafka 本身沒有自帶相關(guān)的 ui 界面,但是很多時(shí)候沒有頁面意味著只有使用命令行進(jìn)行相關(guān)操作如創(chuàng)建 topic、更改 topic 信息、重置 offset 等等。但實(shí)際使用中這種效果很差勁,我們一般還是會(huì)借助其他軟件,實(shí)現(xiàn)對 kafka 的頁面管控。 結(jié)合這張圖與實(shí)際體驗(yàn),推薦大家使用 ui

    2024年02月02日
    瀏覽(9)
  • 小白的機(jī)器學(xué)習(xí)之路(四)神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識:基于pytorch搭建自己的神經(jīng)網(wǎng)絡(luò)

    小白的機(jī)器學(xué)習(xí)之路(四)神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識:基于pytorch搭建自己的神經(jīng)網(wǎng)絡(luò)

    當(dāng)前交通大數(shù)據(jù)業(yè)務(wù)的需要,需要承擔(dān)一部分算法工作(數(shù)據(jù)處理) 目標(biāo)四: 學(xué)習(xí)深度學(xué)習(xí)基礎(chǔ):了解神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)、反向傳播算法和激活函數(shù)等。 目標(biāo)任務(wù):使用深度學(xué)習(xí)算法構(gòu)建一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)模型,并訓(xùn)練模型。 學(xué)習(xí)計(jì)劃小貼士: 每天定期復(fù)習(xí)前幾天的

    2024年02月15日
    瀏覽(21)
  • php環(huán)境搭建步驟(與資源配套使用版)

    php環(huán)境搭建步驟(與資源配套使用版)

    1.將phpEnv.zip下載到D盤下 2.解壓到當(dāng)前文件夾 3.找到Apache24下的bin目錄,執(zhí)行cmd操作,回車。 4.在cmd中執(zhí)行代碼 Httpd -k install -n “Apache24” 4.使用win+R鍵打開運(yùn)行,輸入services.msc ,回車,進(jìn)入服務(wù) 5.打開名為Apache24的服務(wù)

    2024年02月10日
    瀏覽(17)
  • IJ中PHP環(huán)境的搭建和使用教程

    IJ中PHP環(huán)境的搭建和使用教程

    目錄 前言 思維導(dǎo)圖 1,PHP環(huán)境下載 1.下載鏈接 2.進(jìn)行安裝 3,自定義路徑? 4.進(jìn)行相關(guān)的一些庫的選擇下載 2,進(jìn)行IJ中PHP環(huán)境的配置 2.1,下載PHP插件 2.2,下載過程中的注意事項(xiàng)? 3,為什么這么做呢? 3.1,原因 3.2,進(jìn)行代碼測試: 4. 網(wǎng)安PHP基礎(chǔ)作業(yè)4 4.1,題目 4.2,網(wǎng)安作業(yè)1代碼解讀:

    2024年02月09日
    瀏覽(11)
  • 一個(gè)golang小白使用vscode搭建Ununtu20.04下的go開發(fā)環(huán)境

    一個(gè)golang小白使用vscode搭建Ununtu20.04下的go開發(fā)環(huán)境

    先交代一下背景,距離正式接觸golang這門語言已經(jīng)有5年時(shí)間,平時(shí)偶爾也會(huì)用go寫寫工具和功能,但其實(shí)充其量就是語言小白,基本上就是按照教程配置好環(huán)境,按照需求寫寫邏輯,能跑起來就行了。golang隨著這幾年的變化,這門語言的變化還是非常大的,之前寫過一篇《

    2024年01月22日
    瀏覽(21)
  • visual studio 2022 社區(qū)版 c# 環(huán)境搭建及安裝使用【圖文解析-小白版】

    visual studio 2022 社區(qū)版 c# 環(huán)境搭建及安裝使用【圖文解析-小白版】

    首先,進(jìn)入其官網(wǎng)下載對應(yīng)的visual studio社區(qū)版本,官網(wǎng)鏈接: https://visualstudio.microsoft.com/zh-hans/ 雙擊.exe文件進(jìn)行安裝: 大概20GB左右,需要耐心等待 選擇安裝的組件,c#和.net以及一些擴(kuò)展 安裝位置不建議更改,改了容易出現(xiàn)問題。 選擇完畢后,點(diǎn)擊安裝 安裝完畢,稍后其會(huì)自

    2023年04月09日
    瀏覽(59)
  • 分布式消息流處理平臺kafka(一)-kafka單機(jī)、集群環(huán)境搭建流程及使用入門

    分布式消息流處理平臺kafka(一)-kafka單機(jī)、集群環(huán)境搭建流程及使用入門

    kafka最初是LinkedIn的一個(gè)內(nèi)部基礎(chǔ)設(shè)施系統(tǒng)。最初開發(fā)的起因是,LinkedIn雖然有了數(shù)據(jù)庫和其他系統(tǒng)可以用來存儲數(shù)據(jù),但是缺乏一個(gè)可以幫助處理持續(xù)數(shù)據(jù)流的組件。 所以在設(shè)計(jì)理念上,開發(fā)者不想只是開發(fā)一個(gè)能夠存儲數(shù)據(jù)的系統(tǒng),如關(guān)系數(shù)據(jù)庫、Nosql數(shù)據(jù)庫、搜索引擎等

    2024年02月16日
    瀏覽(50)
  • 【DDD分布式系統(tǒng)學(xué)習(xí)筆記】RPC調(diào)用以及系統(tǒng)初步搭建

    modelVersion: 模型版本,指定POM模型的版本,目前使用的是Maven 4.0.0版本。 groupId: 項(xiàng)目的組織標(biāo)識符,通常是組織的域名倒序。在這里是 cn.itedus.lottery。 artifactId: 項(xiàng)目的唯一標(biāo)識符,通常是項(xiàng)目的名稱。在這里是 Lottery。 packaging: 項(xiàng)目的打包方式,這里是 pom,表示這是一個(gè)聚合

    2024年01月18日
    瀏覽(29)
  • 【Nginx和PHP教程(一)】安裝、配置及初步使用

    【Nginx和PHP教程(一)】安裝、配置及初步使用

    1. nginx基本介紹 2.?nginx安裝和環(huán)境配置 3.?php基本介紹 4. php的安裝和環(huán)境配置 5. JavaScript、php、html等的區(qū)別 6. ubuntu系統(tǒng)中php的安裝和環(huán)境配置 1. nginx基本介紹 ? Nginx(發(fā)音為“engine X”)是一款高性能的、輕量級的Web服務(wù)器軟件,同時(shí)也是一款反向代理服務(wù)器和負(fù)載均衡器

    2024年01月18日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包