经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Cassandra » 查看文章
CentOS 8.2上安装Cassandra Web部署
来源:cnblogs  作者:亮亮实验室  时间:2020/12/21 20:50:45  对本文有异议

在本文中,您将学习如何在CentOS 8上安装Cassandra Web界面。

什么是Cassandra Web?


Cassandra Web是带有AngularJS和服务器发送的事件的Apache Cassandra的Web界面。Cassandra Web是免费的开放源代码,其源代码可在GitHub上获得

Cassandra Web是功能有限的非常简单的应用程序,但是它可以通过单个Web界面实现监视整个Apache Cassandra集群的目的。

环境规格:


  • CPU:3.4 GHz(2核)

  • 内存:2 GB

  • 储存空间:20 GB

  • 作业系统:CentOS 8.2

  • 主机名: cassandra.liangglab.cn

  • IP地址:192.168.6.65/24

前面我们已经安装 CentOS 8.2上安装Apache Cassandra 3.11.9 所以我们现在不需要安装Cassandra,我们现在直接在这台机器上安装Cassandra Web

第一步:CentOS 8上安装Ruby


我们需要Rubygems软件包管理器才能在CentOS 8上安装Cassandra Web,我们正在使用dnf命令 安装Ruby 安装相关软件包。

  1. [root@cassandra ~]# dnf install -y rubygems ruby-devel
  2. Last metadata expiration check: 1:31:25 ago on Mon 21 Dec 2020 06:10:25 PM CST.
  3. Dependencies resolved.
  4. ====================================================================================================================
  5. Package Architecture Version Repository Size
  6. ====================================================================================================================
  7. Installing:
  8. ruby-devel x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 126 k
  9. rubygems noarch 2.7.6.2-105.module_el8.1.0+214+9be47fd7 AppStream 308 k
  10. Installing dependencies:
  11. ruby x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 86 k
  12. ruby-irb noarch 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 102 k
  13. ruby-libs x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 2.9 M
  14. rubygem-json x86_64 2.1.0-105.module_el8.1.0+214+9be47fd7 AppStream 90 k
  15. rubygem-openssl x86_64 2.1.2-105.module_el8.1.0+214+9be47fd7 AppStream 190 k
  16. rubygem-psych x86_64 3.0.2-105.module_el8.1.0+214+9be47fd7 AppStream 95 k
  17. Installing weak dependencies:
  18. rubygem-bigdecimal x86_64 1.3.4-105.module_el8.1.0+214+9be47fd7 AppStream 97 k
  19. rubygem-did_you_mean noarch 1.2.0-105.module_el8.1.0+214+9be47fd7 AppStream 90 k
  20. rubygem-io-console x86_64 0.4.6-105.module_el8.1.0+214+9be47fd7 AppStream 66 k
  21. rubygem-rdoc noarch 6.0.1-105.module_el8.1.0+214+9be47fd7 AppStream 486 k
  22. Enabling module streams:
  23. ruby 2.5
  24. Transaction Summary
  25. ====================================================================================================================
  26. Install 12 Packages
  27. Total download size: 4.6 M
  28. Installed size: 15 M
  29. Downloading Packages:
  30. (1/12): ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 6.3 MB/s | 126 kB 00:00
  31. (2/12): ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 3.9 MB/s | 86 kB 00:00
  32. (3/12): ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch.rpm 4.4 MB/s | 102 kB 00:00
  33. (4/12): rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 5.2 MB/s | 97 kB 00:00
  34. (5/12): rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch.rpm 4.2 MB/s | 90 kB 00:00
  35. (6/12): rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 14 MB/s | 66 kB 00:00
  36. (7/12): rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 20 MB/s | 90 kB 00:00
  37. (8/12): rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 21 MB/s | 190 kB 00:00
  38. (9/12): rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 10 MB/s | 95 kB 00:00
  39. (10/12): rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch.rpm 20 MB/s | 308 kB 00:00
  40. (11/12): rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch.rpm 19 MB/s | 486 kB 00:00
  41. (12/12): ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 38 MB/s | 2.9 MB 00:00
  42. --------------------------------------------------------------------------------------------------------------------
  43. Total 47 MB/s | 4.6 MB 00:00
  44. Running transaction check
  45. Transaction check succeeded.
  46. Running transaction test
  47. Transaction test succeeded.
  48. Running transaction
  49. Preparing : 1/1
  50. Installing : ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 1/12
  51. Installing : ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch 2/12
  52. Installing : rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64 3/12
  53. Installing : rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch 4/12
  54. Installing : rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64 5/12
  55. Installing : rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64 6/12
  56. Installing : rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64 7/12
  57. Installing : rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64 8/12
  58. Installing : rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch 9/12
  59. Installing : rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch 10/12
  60. Installing : ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 11/12
  61. Installing : ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 12/12
  62. Running scriptlet: ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 12/12
  63. Verifying : ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 1/12
  64. Verifying : ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 2/12
  65. Verifying : ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch 3/12
  66. Verifying : ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 4/12
  67. Verifying : rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64 5/12
  68. Verifying : rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch 6/12
  69. Verifying : rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64 7/12
  70. Verifying : rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64 8/12
  71. Verifying : rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64 9/12
  72. Verifying : rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64 10/12
  73. Verifying : rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch 11/12
  74. Verifying : rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch 12/12
  75. Installed products updated.
  76. Installed:
  77. ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
  78. ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
  79. ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch
  80. ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
  81. rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64
  82. rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch
  83. rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64
  84. rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64
  85. rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64
  86. rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64
  87. rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch
  88. rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch
  89. Complete!
  90. [root@cassandra ~]#

第二步:安装Cassandra Web必备软件包

要使用rubygems安装Cassandra Web ,我们需要make和build软件包。我们正在使用单个dnf命令安装所有必需的软件包。

  1. [root@cassandra ~]# dnf install -y make gcc gcc-c++ redhat-rpm-config
  2. Last metadata expiration check: 1:32:13 ago on Mon 21 Dec 2020 06:10:25 PM CST.
  3. Package make-1:4.2.1-10.el8.x86_64 is already installed.
  4. Package gcc-8.3.1-5.el8.0.2.x86_64 is already installed.
  5. Package redhat-rpm-config-122-1.el8.noarch is already installed.
  6. Dependencies resolved.
  7. ====================================================================================================================
  8. Package Architecture Version Repository Size
  9. ====================================================================================================================
  10. Installing:
  11. gcc-c++ x86_64 8.3.1-5.el8.0.2 AppStream 12 M
  12. Installing dependencies:
  13. libstdc++-devel x86_64 8.3.1-5.el8.0.2 AppStream 2.0 M
  14. Transaction Summary
  15. ====================================================================================================================
  16. Install 2 Packages
  17. Total download size: 14 M
  18. Installed size: 42 M
  19. Downloading Packages:
  20. (1/2): libstdc++-devel-8.3.1-5.el8.0.2.x86_64.rpm 27 MB/s | 2.0 MB 00:00
  21. (2/2): gcc-c++-8.3.1-5.el8.0.2.x86_64.rpm 57 MB/s | 12 MB 00:00
  22. --------------------------------------------------------------------------------------------------------------------
  23. Total 66 MB/s | 14 MB 00:00
  24. Running transaction check
  25. Transaction check succeeded.
  26. Running transaction test
  27. Transaction test succeeded.
  28. Running transaction
  29. Preparing : 1/1
  30. Installing : libstdc++-devel-8.3.1-5.el8.0.2.x86_64 1/2
  31. Installing : gcc-c++-8.3.1-5.el8.0.2.x86_64 2/2
  32. Running scriptlet: gcc-c++-8.3.1-5.el8.0.2.x86_64 2/2
  33. Verifying : gcc-c++-8.3.1-5.el8.0.2.x86_64 1/2
  34. Verifying : libstdc++-devel-8.3.1-5.el8.0.2.x86_64 2/2
  35. Installed products updated.
  36. Installed:
  37. gcc-c++-8.3.1-5.el8.0.2.x86_64 libstdc++-devel-8.3.1-5.el8.0.2.x86_64
  38. Complete!
  39. [root@cassandra ~]#

第三步:安装Cassandra Web界面

我们准备安装Cassandra Web界面。我们正在执行以下gem命令以将其安装在我们的CentOS 8服务器上。

  1. [root@cassandra ~]# gem install cassandra-web
  2. Fetching: lz4-ruby-0.3.3.gem (100%)
  3. Building native extensions. This could take a while...
  4. Successfully installed lz4-ruby-0.3.3
  5. Fetching: rack-1.6.13.gem (100%)
  6. Successfully installed rack-1.6.13
  7. Fetching: rack-protection-1.5.5.gem (100%)
  8. Successfully installed rack-protection-1.5.5
  9. Fetching: tilt-2.0.10.gem (100%)
  10. Successfully installed tilt-2.0.10
  11. Fetching: sinatra-1.4.8.gem (100%)
  12. Successfully installed sinatra-1.4.8
  13. Fetching: rack-parser-0.7.0.gem (100%)
  14. Successfully installed rack-parser-0.7.0
  15. Fetching: rack-cors-0.4.1.gem (100%)
  16. Successfully installed rack-cors-0.4.1
  17. Fetching: eventmachine-1.2.7.gem (100%)
  18. Building native extensions. This could take a while...
  19. Successfully installed eventmachine-1.2.7
  20. Fetching: daemons-1.3.1.gem (100%)
  21. Successfully installed daemons-1.3.1
  22. Fetching: thin-1.8.0.gem (100%)
  23. Building native extensions. This could take a while...
  24. Successfully installed thin-1.8.0
  25. Fetching: ione-1.2.4.gem (100%)
  26. Successfully installed ione-1.2.4
  27. Fetching: cassandra-driver-3.2.5.gem (100%)
  28. Building native extensions. This could take a while...
  29. Successfully installed cassandra-driver-3.2.5
  30. Fetching: cassandra-web-0.5.0.gem (100%)
  31. Successfully installed cassandra-web-0.5.0
  32. 13 gems installed

Cassandra Web界面也需要Ruby Bundler gem。因此,我们现在也正在安装它。

  1. [root@cassandra ~]# gem install bundler
  2. Fetching: bundler-2.2.2.gem (100%)
  3. Successfully installed bundler-2.2.2
  4. 1 gem installed

第四步:Cassandra Web配置CentOS 8防火墙

Cassandra Web界面默认端口3000/tcp上运行。因此,我们需要在Linux防火墙中允许3000端口流入。

  1. [root@cassandra ~]# firewall-cmd --permanent --add-port=3000/tcp
  2. success
  3. [root@cassandra ~]# firewall-cmd --reload
  4. success

第五步:Cassandra Web创建数据库用户

要访问Apache Cassandra节点,Cassandra Web界面需要一个Admin用户。因此,我们为此创建一个数据库用户,如下所示。

  1. [root@cassandra ~]# cqlsh -u lianglab -p lianglab@123
  2. Connected to Test Cluster at 127.0.0.1:9042.
  3. [cqlsh 5.0.1 | Cassandra 3.11.9 | CQL spec 3.4.4 | Native protocol v4]
  4. Use HELP for help.
  5. lianglab@cqlsh>
  6. lianglab@cqlsh> CREATE ROLE cassweb WITH PASSWORD = 'Cassweb@123' AND SUPERUSER = true AND LOGIN = true;
  7. lianglab@cqlsh> exit
  8. [root@cassandra ~]#

第六步:Cassandra Web界面启动

通过使用以下命令语法来启动Cassandra Web界面。如果已在另一个节点上运行Apache Cassandra数据库,则必须根据您的环境从以下命令更改主机地址。

  1. [root@cassandra ~]# cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'
  2. I, [2020-12-21T19:49:50.969783 #58769] INFO -- : Establishing control connection
  3. I, [2020-12-21T19:49:51.089534 #58769] INFO -- : Refreshing connected host's metadata
  4. I, [2020-12-21T19:49:51.096746 #58769] INFO -- : Completed refreshing connected host's metadata
  5. I, [2020-12-21T19:49:51.098335 #58769] INFO -- : Refreshing peers metadata
  6. I, [2020-12-21T19:49:51.099710 #58769] INFO -- : Completed refreshing peers metadata
  7. I, [2020-12-21T19:49:51.099780 #58769] INFO -- : Refreshing schema
  8. I, [2020-12-21T19:49:51.122821 #58769] INFO -- : Schema refreshed
  9. I, [2020-12-21T19:49:51.122871 #58769] INFO -- : Control connection established
  10. I, [2020-12-21T19:49:51.123174 #58769] INFO -- : Creating session
  11. I, [2020-12-21T19:49:51.214760 #58769] INFO -- : Session created
  12. 2020-12-21 19:49:51 +0800 Thin web server (v1.8.0 codename Possessed Pickle)
  13. 2020-12-21 19:49:51 +0800 Maximum connections set to 1024
  14. 2020-12-21 19:49:51 +0800 Listening on 0.0.0.0:3000, CTRL+C to stop

在客户端的浏览器 打开URL http://192.168.6.65:3000,Cassandra Web界面运行正常。

Cassandra Web不提供任何用户身份验证。但是,我们可以配置HTTP基本身份验证来控制对Cassandra Web界面的访问。

单击system_schema

CTRL+C to 会停止3000端口监听,需要创建一个Cassandra web服务

第七步:Cassandra Web创建系统服务

为了自动启动Cassandra Web应用程序,我们可以创建一个简单的Systemd服务。

为Cassandra Web创建一个Systemd服务文件。

  1. [root@cassandra ~]# vi /usr/lib/systemd/system/cassweb.service

添加以下代码行。

  1. [Unit]
  2. Description=Cassandra Web
  3. [Service]
  4. Type=simple
  5. ExecStart=cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'
  6. [Install]
  7. WantedBy=multi-user.target

启动Cassandra Web服务。

  1. [root@cassandra ~]# systemctl enable --now cassweb.service
  2. Created symlink /etc/systemd/system/multi-user.target.wants/cassweb.service /usr/lib/systemd/system/cassweb.service.
  3. [root@cassandra ~]# netstat -antpl | grep 3000
  4. tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 59130/ruby
  5. [root@cassandra ~]#

Cassandra Web服务已启动。

结论:

我们的Cassandra Web界面已经在CentOS 8上安装完成,并且运行良好。

原文链接:http://www.cnblogs.com/lianglab/p/14169744.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号