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管理员身份登录。

 

posted @ 2019-09-05 12:45  dulingyulove  阅读(1226)  评论(0编辑  收藏  举报