KAA 0.10.0單節點安裝


https://kaaproject.github.io/kaa/docs/v0.10.0/Administration-guide/System-installation/Single-node-installation/

單節點安裝

本指南介紹如何在單個Linux節點上安裝和配置Kaa組件。

如果這是您第一次使用Kaa,或者您不確定是否可以手動安裝節點,請使用Kaa SandboxKaa Sandbox模擬已經預先配置的單節點Kaa安裝,因此您可以立即開始開發應用程序。

先決條件

Kaa支持以下操作系統系列,並為每個系列提供安裝包:

  • Ubuntu和Debian系統
  • Red Hat / CentOS / Oracle系統

注意:本指南經過驗證:

  • Ubuntu 14.04 LTS Desktop 64位
  • Ubuntu 16.04 LTS桌面64位
  • CentOS 6.7 64位
  • CentOS 7.2 64位

要使用Kaa,您的系統必須滿足以下最低要求:

  • 64位操作系統
  • 4 Gb RAM

Kaa需要安裝和配置以下第三方組件:

Kaa已經在MariaDB和PostgreSQL的最新產品版本上進行了測試。

Kaa還需要MongoDB 2.6.9Cassandra 3.5作為NoSQL數據庫。

第三方組件的安裝將在下一節中介紹。

安裝

第三方組件

按照以下說明安裝所需的第三方組件。

  1. 下載並安裝常用工具:wget,nc,gzip。

    $ sudo yum install wget nc gzip 
  2. 安裝Oracle JDK 8下載並安裝JDK rpm。

    $ cd ~ $ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.rpm" $ sudo yum localinstall jdk-8u60-linux-x64.rpm 

    更新新JDK的Java替代方案。

    $ cd /usr/java/jdk1.8.0_60/ $ sudo alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_60/bin/java 2 $ sudo alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /usr/java/jdk1.8.0_60/jre/bin/java + 2 /usr/java/jdk1.8.0_60/bin/java 

    檢查Java版本。

    $ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) 
  3. 安裝SQL DB。Kaa需要MariaDB(默認使用)或PostgreSQL。

按照操作系統的說明進行操作。

從默認存儲庫中排除舊的PostgreSQL,在[base][updates]exclude=postgresql*部分附加一行

$ sudo nano /etc/yum.repos.d/CentOS-Base.repo ... [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 exclude=postgresql* #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 exclude=postgresql* ...

安裝PostgreSQL 9.4 PGD​​G文件。

$ sudo yum localinstall https://yum.postgresql.org/9.4/redhat/rhel-7.2-x86_64/pgdg-centos94-9.4-3.noarch.rpm 

列出可用的PostgreSQL安裝並安裝PostgreSQL服務器。

$ sudo yum list postgres* $ sudo yum install postgresql94-server 

初始化PostgreSQL數據庫。

$ sudo /usr/pgsql-9.4/bin/postgresql94-setup initdb Initializing database ... OK 

將數據庫配置為在OS啟動時自動啟動。

$ systemctl enable postgresql-9.4 

啟動數據庫。

$ systemctl start postgresql-9.4 

使用psql實用程序連接到postgresql-server。

$ sudo -u postgres psql 

指定Postgres用戶的密碼(Kaa配置文件中的默認密碼為admin)。

postgres=# \password Enter new password: admin Enter it again: admin 

創建一個Kaa數據庫。

CREATE DATABASE "kaa" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0; 

更新pg\_hba.conf文件以允許本地連接。

$ sudo nano /var/lib/pgsql/9.4/data/pg_hba.conf remove lines: local all all peer host all all 127.0.0.1/32 ident add lines: local all all trust host all all 127.0.0.1/32 trust 

重啟數據庫。

$ systemctl restart postgresql-9.4 
  1. 安裝Zookeeper 3.4.9

    下載並提取Zookeeper包。

    $ cd /opt $ sudo wget http://www.eu.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz $ sudo tar zxvf zookeeper-3.4.9.tar.gz $ sudo cp zookeeper-3.4.9/conf/zoo_sample.cfg zookeeper-3.4.9/conf/zoo.cfg 

    創建一個數據目錄。

    $ sudo mkdir /var/zookeeper 

    編輯dataDirzookeeper配置文件中屬性。

    $ sudo nano /opt/zookeeper-3.4.9/conf/zoo.cfg 
    ...
    dataDir=/var/zookeeper ... 

    安裝supervisor實用程序。

    $ sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm $ sudo yum install supervisor 

    編輯/etc/supervisord.conf文件並向其添加有關ZooKeeper的部分。

    $ sudo nano /etc/supervisord.conf [program:zookeeper] command=/opt/zookeeper-3.4.9/bin/zkServer.sh start-foreground autostart=true autorestart=true startsecs=1
    startretries=999 redirect_stderr=false stdout_logfile=/var/log/zookeeper-out stdout_logfile_maxbytes=10MB stdout_logfile_backups=10 stdout_events_enabled=true stderr_logfile=/var/log/zookeeper-err stderr_logfile_maxbytes=100MB stderr_logfile_backups=10 stderr_events_enabled=true

    將Supervisor配置為在OS啟動時自動啟動。

    $ systemctl enable supervisord 

    啟動Zookeeper。

    $ systemctl start supervisord 

    檢查Zookeeper狀態。

    $ sudo supervisorctl zookeeper RUNNING pid 15546, uptime 0:00:41 

    檢查Zookeeper服務是否正在運行。

    $ sudo netstat -ntlp | grep 2181 tcp6 0 0 :::2181 :::* LISTEN 15546/java 
  1. 安裝NoSQL DB。Kaa需要MongoDB(默認使用)或Cassandra。

添加MongoDB yum存儲庫。

$ sudo nano /etc/yum.repos.d/mongodb.repo [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 

安裝MongoDB 2.6

$ sudo yum install -y mongodb-org 

啟動MongoDB。

$ sudo service mongod start
Starting mongod: [ OK ]

驗證MongoDB是否已成功啟動。

$ sudo cat /var/log/mongodb/mongod.log | grep "waiting for connections on port" 2015-09-23T16:39:35.455+0300 [initandlisten] waiting for connections on port 27017 

將數據庫配置為在OS啟動時自動啟動。

$ sudo chkconfig mongod on

Kaa服務器組件

要安裝Kaa,您需要下載預先構建的軟件包或從源代碼構建它們在本指南中,使用了預構建的包。

  1. Kaa下載頁面下載最新的RPM軟件包

  2. 解壓縮下載的tarball。

    $ tar -xvf kaa-rpm-*.tar.gz 
  3. 安裝節點服務。

    $ sudo rpm -i kaa-node.rpm 

組態

SQL數據庫

您可以使用MariaDB(默認使用)或PostgreSQL。在配置屬性文件模板是locatied在/etc/kaa-node/conf/目錄中:maria-dao.properties.templatemariadb-dao.properties.template為MariaDB的數據庫和文件postgre-dao.properties.templatepostgresql-dao.properties.template文件對PostgreSQL。

檢查PostgreSQL用戶名和密碼在服務器配置文件中是否有效。

$ cat /etc/kaa-node/conf/admin-dao.properties | grep jdbc_password jdbc_password=admin $ cat /etc/kaa-node/conf/sql-dao.properties | grep jdbc_password jdbc_password=admin 

如果密碼或用戶名不匹配,請編輯配置文件。

$ sudo nano /etc/kaa-node/conf/admin-dao.properties $ sudo nano /etc/kaa-node/conf/sql-dao.properties 

要從MariaDB切換到PostgreSQL,請將PostgreSQL配置文件的內容復制到Kaa數據庫配置文件。

$ sudo bash -c "cat /etc/kaa-node/conf/postgre-dao.properties.template > /etc/kaa-node/conf/sql-dao.properties" $ sudo bash -c "cat /etc/kaa-node/conf/postgresql-dao.properties.template > /etc/kaa-node/conf/admin-dao.properties" 

NoSQL數據庫

檢查NoSQL數據庫名稱是否正確。

$ cat /etc/kaa-node/conf/nosql-dao.properties | grep nosql_db_provider_name
nosql_db_provider_name=mongodb

如果使用Cassandra,請運行以下命令。

$ sudo cqlsh -f /etc/kaa-node/conf/cassandra.cql $ sudo nano /etc/kaa-node/conf/nosql-dao.properties nosql_db_provider_name=cassandra 

網絡接口

要為OperationsBootstrap服務配置接口,請指定網絡中設備可見的主機名或IP地址。這將允許各種設備與服務器組件通信。

$ sudo nano /etc/kaa-node/conf/kaa-node.properties transport_public_interface=localhost=YOUR_PUBLIC_INTERFACE 

火牆

打開管理UI(8080),引導服務(9888,9889)和操作服務(9997,9999)使用的TCP端口。

$ systemctl stop firewalld $ systemctl mask firewalld $ yum install iptables-services $ systemctl enable iptables $ systemctl start iptables $ sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$ sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT $ sudo iptables -I INPUT -p tcp -m tcp --dport 9888 -j ACCEPT $ sudo iptables -I INPUT -p tcp -m tcp --dport 9889 -j ACCEPT $ sudo iptables -I INPUT -p tcp -m tcp --dport 9997 -j ACCEPT $ sudo iptables -I INPUT -p tcp -m tcp --dport 9999 -j ACCEPT $ sudo service iptables save

啟動

啟動Kaa服務。

$ sudo service kaa-node start 

啟動后檢查日志。

$ cat /var/log/kaa/* | grep ERROR 

在Web瀏覽器中打開管理UI:[http:// YOUR_SERVER_HOST:8080 / kaaAdmin]。將打開一個頁面,您可以以Kaa管理員身份登錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM