Ubuntu16.04安裝CDH5.14.2

来源:https://www.cnblogs.com/joy9707/archive/2018/05/20/9063564.html
-Advertisement-
Play Games

一、安裝cloudera manager(下文簡稱cm) (一).環境及軟體準備: 1.環境:Ubuntu16.04 desktop x 3 台 ip分別為:10.132.226.121,10.132.226.122,10.132.226.123 用戶統一使用root用戶 ip分別為:10.132. ...


 一、安裝cloudera manager(下文簡稱cm)

   (一).環境及軟體準備:

      1.環境:Ubuntu16.04 desktop x 3 台

      • ip分別為:10.132.226.121,10.132.226.122,10.132.226.123
      • 用戶統一使用root用戶

      2.需下載安裝的軟體:

   (二).主機環境配置:

    1. 修改hostname:
      1. 主節點 master:
        root@master:~# vim /etc/hostname
        
        ~~~~~~~內容~~~~~~~
        master
        ~~~~~~~內容~~~~~~~
      2. 從節點 slave[1-2]:
        root@slave1:~# vim /etc/hostname
        
        ~~~~~~~內容~~~~~~~
        slave1
        ~~~~~~~內容~~~~~~~
    2. 修改hosts(所有節點):
       1 root@master:~# vim /etc/hosts
       2 ~~~~~~~~~~~內容~~~~~~~~~~~
       3 127.0.0.1       localhost
       4 10.132.226.121  master
       5 10.132.226.122  slave1
       6 10.132.226.123  slave2
       7 
       8 # The following lines are desirable for IPv6 capable hosts
       9 ::1     ip6-localhost ip6-loopback
      10 fe00::0 ip6-localnet
      11 ff00::0 ip6-mcastprefix
      12 ff02::1 ip6-allnodes
      13 ff02::2 ip6-allrouters
      14 ~~~~~~~~~~~內容~~~~~~~~~~~

      註意:部分主機含有127.0.1.1 的地址 用#註釋或刪除

    3. 更新軟體包(所有節點):
      root@master:~# apt update

      註意:如果有涉及內核的更新需要重啟一下系統

    4. 關閉防火牆(所有節點):
      root@slave1:~# ufw disable
      Firewall stopped and disabled on system startup
    5. 重啟系統:reboot 因為更改/etc/hostname必須要重啟系統才能生效,更新軟體包,以及關閉防火牆有時也需要重啟系統來應用部分配置,因此在這步進行系統重啟。
    6. ssh服務配置:

      1. 如果未安裝ssh服務則先進行安裝(所有節點): 

        root@master:~# apt install openssh-server openssh-client
      2. 修改/etc/ssh/sshd_config配置文件中的以下選項(所有節點):
        1 root@master:~# vim /etc/ssh/sshd_config
        2 ~~~~~~~~查找並修改~~~~~~~~
        3 PermitRootLogin yes
        4 PasswordAuthentication yes
        5 ~~~~~~~~查找並修改~~~~~~~~
        6 root@master:~# /etc/init.d/ssh restart

         若有#號註釋的刪除#號並更改即可

      3. 配置各節點之間的免密登陸(只在主節點操作):
        1 root@master:~# ssh-keygen -t rsa 
        2 //生成密鑰 一路回車,如果之前已有生成,提示是否重新生成時填y即可
        3 root@master:~# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
        4 root@master:~# chmod 600 ~/.ssh/authorized_keys
        5 root@master:~# scp -r /root/.ssh root@slave1:/root/
        6 root@master:~# scp -r /root/.ssh root@slave2:/root/

        註意:如果出現無法連接的 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 錯誤時 清楚~/.ssh 文件下know_hosts文件找到與登錄錯誤的IP的公鑰刪除即可  

    7. 配置ntp服務:
      1. 安裝ntp服務(所有節點):
        1 root@master:~# apt-get install ntp
      2. 修改/etc/ntp.conf配置文件:
        1. master:
          1 root@master:~# vim /etc/ntp.conf 
          2 //用#註釋掉所有的pool和server
          3 ~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~~
          4 restrict 10.132.226.0 mask 255.255.255.0
          5 server 202.120.2.101
          6 server cn.pool.ntp.org
          7 server 127.0.0.1
          8 ~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~~
        2. slave:
          1 root@slave1:~# vim /etc/ntp.conf
          2 //用#註釋掉所有pool與server添加一下內容
          3 ~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~
          4 server master
          5 ~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~
      3. 重啟ntp服務:
        1 root@master:~t# service ntp restart
    1. 安裝配置JAVA(所有節點):
      1. 安裝java:
        1 root@master:~# add-apt-repository ppa:webupd8team/java
        2 //因為cm需要安裝oracle的java,二ubuntu的源中預設只有openjdk所以需要添加源
        3 root@master:~# apt-get update
        4 root@master:~# apt-get install oracle-java8-installer
      2. 修改/etc/profile文件添加JAVA_HOME:
        1 root@master:~# vim /etc/profile
        2 ~~~~~~~~~~~~~~~~~~~~~~文末添加~~~~~~~~~~~~~~~~~~~~~~
        3 export JAVA_HOME=/usr/lib/jvm/java-8-oracle
        4 export JRE_HOME=${JAVA_HOME}/jre 
        5 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
        6 export PATH=$PATH:${JAVA_HOME}/bin:{JRE_HOME}/bin:$PATH
        7 ~~~~~~~~~~~~~~~~~~~~~~文末添加~~~~~~~~~~~~~~~~~~~~~~

         若不知道java的位置可通過update-alternatives --config java 來查看java信息

         1 root@master:~# update-alternatives --config java
         24 個候選項可用於替換 java (提供 /usr/bin/java)。
         3 
         4   選擇       路徑                                          優先順序  狀態
         5 ------------------------------------------------------------
         6   0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      自動模式
         7   1            /usr/java/jdk1.8.0_121/bin/java                  300       手動模式
         8   2            /usr/lib/jvm/j2sdk1.6-oracle/jre/bin/java        315       手動模式
         9   3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手動模式
        10 * 4            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      手動模式
        11 
        12 要維持當前值[*]請按<回車鍵>,或者鍵入選擇的編號:
    2. 安裝配置Mariadb(主節點):
      1. 安裝Mariadb:
        root@master:/home/jy# apt-get install mariadb-server
      2. 修改/etc/mysql/mariadb.conf.d/50-server.cnf配置文件使資料庫可遠程訪問:
         1 root@master:~# vim /etc/mysql/mariadb.conf.d/50-server.cnf
         2 
         3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         4 [mysqld]
         5 
         6 #
         7 # * Basic Settings
         8 #
         9 user            = mysql
        10 pid-file        = /var/run/mysqld/mysqld.pid
        11 socket          = /var/run/mysqld/mysqld.sock
        12 port            = 3306
        13 basedir         = /usr
        14 datadir         = /var/lib/mysql
        15 tmpdir          = /tmp
        16 lc-messages-dir = /usr/share/mysql
        17 skip-external-locking
        18 
        19 # Instead of skip-networking the default is now to listen only on
        20 # localhost which is more compatible and is not less secure.
        21 bind-address            = 0.0.0.0  #修改此項,可用#註釋,或改成本實例內容
        22 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      3. 使用mysql_secure_installation進行資料庫初始化設置:
         1 root@master:~# mysql_secure_installation 
         2 ~~~~省略部分內容~~~~
         3 Enter current password for root (enter for none):     //此處直接回車,預設root密碼為空
         4 OK, successfully used password, moving on...
         5 
         6 Setting the root password ensures that nobody can log into the MariaDB
         7 root user without the proper authorisation.
         8 
         9 Set root password? [Y/n] y   //選擇y更改root密碼
        10 New password: 
        11 Re-enter new password: 
        12 Password updated successfully!
        13 Reloading privilege tables..
        14  ... Success!
        15 ~~~~省略部分內容~~~~
        16 Remove anonymous users? [Y/n] n
        17  ... skipping.
        18 ~~~~省略部分內容~~~~
        19 Disallow root login remotely? [Y/n] n  //選 n 為允許root用戶遠程登錄
        20  ... skipping.
        21 ~~~~省略部分內容~~~~
        22 Remove test database and access to it? [Y/n] y
        23  ~~~~省略部分內容~~~~
        24 Reload privilege tables now? [Y/n] y
        25  ... Success!
        26 
        27 Cleaning up...
        28 
        29 All done!  If you've completed all of the above steps, your MariaDB
        30 installation should now be secure.
        31 
        32 Thanks for using MariaDB!
      4. 增加可遠程訪問的root用戶:
        1 root@master:~# mysql -u root -p
        2 Enter password: 
        3 MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;
        4 Query OK, 0 rows affected (0.00 sec
        5 MariaDB [(none)]> flush privileges;
      5. 創建需要的資料庫:
        1 MariaDB [(none)]> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        2 MariaDB [(none)]> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        3 MariaDB [(none)]> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        4 MariaDB [(none)]> create database manager DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        5 MariaDB [(none)]> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        6 //後續其他選中的服務需要資料庫可以自己再次創建
      6. 安裝JDBC:
        root@master:~# apt install libmysql-java

   (三).配置與安裝cm:

                       1.配置本地源:

      1. 解壓下載的cm包到指定目錄:
        1 root@master:~# mkdir /opt/cloudera-manager //所有節點創建
        2 root@master:~# tar -xzvf cloudera-manager-xenial-cm5.14.2_amd64.tar.gz -C /opt/cloudera-manager
      2. 修改/opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini文件:
         1 root@master:~# vim /opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini 
         2 ~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~
         3 [General]
         4 # Hostname of the CM server.
         5 server_host=master
         6 
         7 # Port that the CM server is listening on.
         8 server_port=7182
         9 ~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~
        10 //server_host 更改為主節點的ip或者host名
        11 //server_port 預設為7182 若埠被占,則改成其他
      3. 把主節點的cloudera-manager文件夾拷貝到其他節點:
        1 root@master:~# scp -r /opt/cloudera-manager root@slave1:/opt/cloudera-manager/
        2 root@master:~# scp -r /opt/cloudera-manager root@slave2:/opt/cloudera-manager/
      4. 創建parcle-repo本地CDH源(主節點):
        1 root@master:~# mkdir -p /opt/cloudera/parcel-repo  //在所有節點創建
        2 //將sha1更名為sha否則無法識別,並將資源包拷貝到/opt/cloudera/parcel-repo
        3 root@master:~# mv CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha1 CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha
        4 root@master:~# cp CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha manifest.json /opt/cloudera/parcel-repo
      5. 創建parcels目錄(所有節點):
        1 root@master:~# mkdir -p /opt/cloudera/parcels
      6. 創建cloudera-scm用戶(所有節點):
        root@master:~# useradd --system --home=/opt/cloudera-manager/cm-5.14.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
      7. 更改文件夾所有用戶與用戶組(所有節點):
        1 root@master:~# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
        2 root@master:~# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
        3 root@master:~# chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager

         

                       2.安裝cloudera manager*

      1. 添加cloudera倉庫:從 Cloudera Manager Version and Download Information 找到適合當前操作系統版本的cloudera包文件,如本例的包文件地址為:https://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm/cloudera.list,將文件中的內容複製到/etc/apt/sources.list.d/cloudera-manager.list中(沒有則新建)
        1 root@master:/etc/apt/sources.list.d# vim /etc/apt/sources.list.d/cloudera-manager.list
        2 ~~~~~~~~~~~~~~~~~~~~添加內容~~~~~~~~~~~~~~~~~~~~
        3 # Packages for Cloudera Manager, Version 5, on Ubuntu 16.04 amd64       
        4 deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm xenial-cm5 contrib
        5 deb-src http://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm xenial-cm5 contrib
        6 ~~~~~~~~~~~~~~~~~~~~添加內容~~~~~~~~~~~~~~~~~~~~
      2.  

        安裝cloudera-manager-daemons(主節點) cloudera-manager-server(主節點) coudera-manager-agent(主節點和從節點):

        1 root@master:~# apt-get install cloudera-manager-daemons cloudera-manager-server
        2 root@master:~# apt-get install cloudera-manager-agent


      3. 修改/opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini文件:
         1 root@master:~# vim /etc/cloudera-scm-agent/config.ini 
         2 ~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~
         3 [General]
         4 # Hostname of the CM server.
         5 server_host=master
         6 
         7 # Port that the CM server is listening on.
         8 server_port=7182
         9 ~~~~~~~~~~~~~~內容~~~~~~~~~~~~~~
        10 //server_host 更改為主節點的ip或者host名
        11 //server_port 預設為7182 若埠被占,則改成其他

                       3.配置cm資料庫賬戶:

      1. 創建scm賬戶:
        1 root@master:~# mysql -uroot -p
        2 Enter password: 
        3 MariaDB [(none)]> grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;
        4 MariaDB [(none)]> flush privileges;
      2. 通過scm_prepare_database.sh 創建資料庫及資料庫用戶:
         1 root@master:~# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hmaster -uroot -p --scm-host master scm scm scm
         2 JAVA_HOME=/usr/lib/jvm/java-8-oracle
         3 Verifying that we can write to /etc/cloudera-scm-server
         4 log4j:ERROR Could not find value for key log4j.appender.A
         5 log4j:ERROR Could not instantiate appender named "A".
         6 Creating SCM configuration file in /etc/cloudera-scm-server
         7 Executing:  /usr/lib/jvm/java-8-oracle/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
         8 log4j:ERROR Could not find value for key log4j.appender.A
         9 log4j:ERROR Could not instantiate appender named "A".
        10 [2018-05-20 02:19:36,840] INFO     0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java) - Successfully connected to database.
        11 All done, your SCM database is configured correctly!
        12 //這裡出現的ERROR暫時沒發現影響後面的操作,可以忽略

        說明:

             腳本用來創建和配置CMS需要的資料庫。各參數是指:
             mysql:資料庫用的是mysql,如果安裝過程中用的oracle,那麼該參數就應該改為oracle。
             -uroot:root身份運行mysql。-proot:mysql的root密碼是root。
            --scm-host localhost :CMS的主機,一般是和mysql安裝的主機是在同一個主機上。
             最後三個參數是:資料庫名,資料庫用戶名,資料庫密碼。

         

                       4.啟動cloudera manager服務:

      1. 主節點啟動:cloudera-scm-server:
        1 root@master:~# service cloudera-scm-server start

         這步啟動時間有點長,可以查看日誌來看服務是否啟動完成:

        root@master:/# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
      2. 所有節點啟動 cloudera-scm-agent:
        1 root@master:~# service cloudera-scm-agent start

(二)安裝CDH5:

      1. 進入CMS管理界面: 通過http:主節點ip:7180  進入 用戶名和密碼均為admin 

      2. 選擇版本:
      3. 選擇安裝的主機:如果沒有啟動cloudera-scm-agent服務會出現部分節點不在以管理的主機中,啟動再刷新就可以了
      4. 選擇cdh的版本,選擇自己下載在parcels-repo包中的cdh版本,這裡應該選CDH-5.14.2-cdh5.14.2p0.3
      5. 進行集群安裝,剛開始可能會出現connect refused 再等待一會應該就會重新進行分配
      6. 集群安裝檢查主機正確性,確保所有驗證都為綠色。

        註意:Cloudera 建議將 /proc/sys/vm/swappiness 設置為 10。當前設置為 60。使用 sysctl 命令在運行時更改該設置並編輯 /etc/sysctl.conf 以在重啟後保存該設置。

        解決方法 在出現問題的節點上運行:echo 10 > /proc/sys/vm/swappiness  
        echo後面的10 為需要的設置的值。

      7. 選擇自己需要的服務

      8. 資料庫設置:

        資料庫名為之前創建的資料庫名,若沒有創建你需要的服務所需的資料庫,可自行再進行創建,用戶名這裡使用root。也可自己創建新的用戶

      9. 之後 一直繼續即可

      10. 完成安裝部署:

      11. 進入cms管理界面:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 伺服器搭建zabbix運維檢測工具,監控伺服器CPU、記憶體等參數,因為伺服器已存在5.6版本的mysql,版本衝突,不能使用zabbix官方提供的安裝流程。只能選擇源碼安裝。 ...
  • 一,製作U盤啟動盤 隨著個人電腦的“飛入尋常百姓家”,喜歡DIY電腦的發燒友們也越來越多。 安裝系統是DIY最基本的要求,很容易做到; 那麼如果要求用U盤裝系統呢,你可能會說簡單,直接下載個老毛桃或是大白菜一類的軟體一鍵就搞定了; 那麼如果要求用系統自帶的命令行工具製作U盤啟動安裝盤呢? 工具/原料 ...
  • win10更新後,藍牙功能不見了,也沒有打開的選項,設備管理器里也沒有,多了個未知USB設備,重啟無效,重裝藍牙驅動無效,BIOS中的Bluetooth是開的。 試了網上能找到的所有方法,包括更新win10更新、 更新Bluetooth驅動 等都沒有解決 , 解決方案 是: 1、打開設備管理器,卸載 ...
  • 51單片機學習 一直想給女兒做一個平衡小車玩具,想用PLC做,感覺難度,用單片機吧,都快20年沒用了。 最近考試考完了,時間和資源都有,正好可以搗鼓一下。看了郭天翔的視頻,講的很不錯, 邊學邊寫。 定時器使用 控制任務: P1.0 控制一個LED燈,亮0.5s,滅0.5s。 設計思路:這裡我們只用定 ...
  • 簡介 MySQL作為世界上使用最為廣泛的資料庫之一,免費是其原因之一。但不可忽略的是它本身的功能的確很強大。隨著技術的發展,在實際的生產環境中,由單台MySQL資料庫伺服器不能滿足實際的需求。此時資料庫集群就很好的解決了這個問題了。採用MySQL分散式集群,能夠搭建一個高併發、負載均衡的集群伺服器( ...
  • 首先 是 StreamExecutionEnvironment see = StreamExecutionEnvironment.getExecutionEnvironment(); 我們在編寫 flink流計算拓撲任務時首先要做的就是構建一個 StreamExecutionEnvironment ...
  • 我打算以 flink 官方的 例子 <<Monitoring the Wikipedia Edit Stream>> 作為示例,進行 flink 流計算任務 的源碼解析說明. 其中任務的源碼如下,其中中文註釋 來自 http://flink-china.org/ 後續我會對這個拓撲任務代碼進行逐行的 ...
  • 最後測試 安裝完二個sql server 節點後,對外的虛擬ip是192.168.2.105 測試將sql server轉到另一節點 轉移後連接sql 虛擬ip 測試 通過windows日誌查看遠行狀態 總結 到這裡故障轉移群集就配置完成了, 通過一系列的配置,會發現實現起來還是很繁瑣。 也是充分發 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...