目錄
- 什么是Cassandra Web?
- 環境規格:
- 第一步:CentOS 8上安裝Ruby
- 第二步:安裝Cassandra Web必備軟體包
- 第三步:安裝Cassandra Web界面
- 第四步:Cassandra Web配置CentOS 8防火墻
- 第五步:Cassandra Web創建資料庫用戶
- 第六步:Cassandra Web界面啟動
- 第七步:Cassandra Web創建系統服務
- 結論:

在本文中,您將學習如何在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 安裝相關軟體包,
[root@cassandra ~]# dnf install -y rubygems ruby-devel
Last metadata expiration check: 1:31:25 ago on Mon 21 Dec 2020 06:10:25 PM CST.
Dependencies resolved.
====================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================
Installing:
ruby-devel x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 126 k
rubygems noarch 2.7.6.2-105.module_el8.1.0+214+9be47fd7 AppStream 308 k
Installing dependencies:
ruby x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 86 k
ruby-irb noarch 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 102 k
ruby-libs x86_64 2.5.5-105.module_el8.1.0+214+9be47fd7 AppStream 2.9 M
rubygem-json x86_64 2.1.0-105.module_el8.1.0+214+9be47fd7 AppStream 90 k
rubygem-openssl x86_64 2.1.2-105.module_el8.1.0+214+9be47fd7 AppStream 190 k
rubygem-psych x86_64 3.0.2-105.module_el8.1.0+214+9be47fd7 AppStream 95 k
Installing weak dependencies:
rubygem-bigdecimal x86_64 1.3.4-105.module_el8.1.0+214+9be47fd7 AppStream 97 k
rubygem-did_you_mean noarch 1.2.0-105.module_el8.1.0+214+9be47fd7 AppStream 90 k
rubygem-io-console x86_64 0.4.6-105.module_el8.1.0+214+9be47fd7 AppStream 66 k
rubygem-rdoc noarch 6.0.1-105.module_el8.1.0+214+9be47fd7 AppStream 486 k
Enabling module streams:
ruby 2.5
Transaction Summary
====================================================================================================================
Install 12 Packages
Total download size: 4.6 M
Installed size: 15 M
Downloading Packages:
(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
(2/12): ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 3.9 MB/s | 86 kB 00:00
(3/12): ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch.rpm 4.4 MB/s | 102 kB 00:00
(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
(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
(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
(7/12): rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 20 MB/s | 90 kB 00:00
(8/12): rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 21 MB/s | 190 kB 00:00
(9/12): rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64.rpm 10 MB/s | 95 kB 00:00
(10/12): rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch.rpm 20 MB/s | 308 kB 00:00
(11/12): rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch.rpm 19 MB/s | 486 kB 00:00
(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
--------------------------------------------------------------------------------------------------------------------
Total 47 MB/s | 4.6 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 1/12
Installing : ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch 2/12
Installing : rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64 3/12
Installing : rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch 4/12
Installing : rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64 5/12
Installing : rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64 6/12
Installing : rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64 7/12
Installing : rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64 8/12
Installing : rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch 9/12
Installing : rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch 10/12
Installing : ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 11/12
Installing : ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 12/12
Running scriptlet: ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 12/12
Verifying : ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 1/12
Verifying : ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 2/12
Verifying : ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch 3/12
Verifying : ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 4/12
Verifying : rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64 5/12
Verifying : rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch 6/12
Verifying : rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64 7/12
Verifying : rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64 8/12
Verifying : rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64 9/12
Verifying : rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64 10/12
Verifying : rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch 11/12
Verifying : rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch 12/12
Installed products updated.
Installed:
ruby-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
ruby-devel-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
ruby-irb-2.5.5-105.module_el8.1.0+214+9be47fd7.noarch
ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-bigdecimal-1.3.4-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-did_you_mean-1.2.0-105.module_el8.1.0+214+9be47fd7.noarch
rubygem-io-console-0.4.6-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-json-2.1.0-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-openssl-2.1.2-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-psych-3.0.2-105.module_el8.1.0+214+9be47fd7.x86_64
rubygem-rdoc-6.0.1-105.module_el8.1.0+214+9be47fd7.noarch
rubygems-2.7.6.2-105.module_el8.1.0+214+9be47fd7.noarch
Complete!
[root@cassandra ~]#
第二步:安裝Cassandra Web必備軟體包
要使用rubygems安裝Cassandra Web ,我們需要make和build軟體包,我們正在使用單個dnf命令安裝所有必需的軟體包,
[root@cassandra ~]# dnf install -y make gcc gcc-c++ redhat-rpm-config
Last metadata expiration check: 1:32:13 ago on Mon 21 Dec 2020 06:10:25 PM CST.
Package make-1:4.2.1-10.el8.x86_64 is already installed.
Package gcc-8.3.1-5.el8.0.2.x86_64 is already installed.
Package redhat-rpm-config-122-1.el8.noarch is already installed.
Dependencies resolved.
====================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================
Installing:
gcc-c++ x86_64 8.3.1-5.el8.0.2 AppStream 12 M
Installing dependencies:
libstdc++-devel x86_64 8.3.1-5.el8.0.2 AppStream 2.0 M
Transaction Summary
====================================================================================================================
Install 2 Packages
Total download size: 14 M
Installed size: 42 M
Downloading Packages:
(1/2): libstdc++-devel-8.3.1-5.el8.0.2.x86_64.rpm 27 MB/s | 2.0 MB 00:00
(2/2): gcc-c++-8.3.1-5.el8.0.2.x86_64.rpm 57 MB/s | 12 MB 00:00
--------------------------------------------------------------------------------------------------------------------
Total 66 MB/s | 14 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libstdc++-devel-8.3.1-5.el8.0.2.x86_64 1/2
Installing : gcc-c++-8.3.1-5.el8.0.2.x86_64 2/2
Running scriptlet: gcc-c++-8.3.1-5.el8.0.2.x86_64 2/2
Verifying : gcc-c++-8.3.1-5.el8.0.2.x86_64 1/2
Verifying : libstdc++-devel-8.3.1-5.el8.0.2.x86_64 2/2
Installed products updated.
Installed:
gcc-c++-8.3.1-5.el8.0.2.x86_64 libstdc++-devel-8.3.1-5.el8.0.2.x86_64
Complete!
[root@cassandra ~]#

第三步:安裝Cassandra Web界面
我們準備安裝Cassandra Web界面,我們正在執行以下gem命令以將其安裝在我們的CentOS 8服務器上,
[root@cassandra ~]# gem install cassandra-web
Fetching: lz4-ruby-0.3.3.gem (100%)
Building native extensions. This could take a while...
Successfully installed lz4-ruby-0.3.3
Fetching: rack-1.6.13.gem (100%)
Successfully installed rack-1.6.13
Fetching: rack-protection-1.5.5.gem (100%)
Successfully installed rack-protection-1.5.5
Fetching: tilt-2.0.10.gem (100%)
Successfully installed tilt-2.0.10
Fetching: sinatra-1.4.8.gem (100%)
Successfully installed sinatra-1.4.8
Fetching: rack-parser-0.7.0.gem (100%)
Successfully installed rack-parser-0.7.0
Fetching: rack-cors-0.4.1.gem (100%)
Successfully installed rack-cors-0.4.1
Fetching: eventmachine-1.2.7.gem (100%)
Building native extensions. This could take a while...
Successfully installed eventmachine-1.2.7
Fetching: daemons-1.3.1.gem (100%)
Successfully installed daemons-1.3.1
Fetching: thin-1.8.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed thin-1.8.0
Fetching: ione-1.2.4.gem (100%)
Successfully installed ione-1.2.4
Fetching: cassandra-driver-3.2.5.gem (100%)
Building native extensions. This could take a while...
Successfully installed cassandra-driver-3.2.5
Fetching: cassandra-web-0.5.0.gem (100%)
Successfully installed cassandra-web-0.5.0
13 gems installed
Cassandra Web界面也需要Ruby Bundler gem,因此,我們現在也正在安裝它,
[root@cassandra ~]# gem install bundler
Fetching: bundler-2.2.2.gem (100%)
Successfully installed bundler-2.2.2
1 gem installed

第四步:Cassandra Web配置CentOS 8防火墻
Cassandra Web界面默認埠3000/tcp上運行,因此,我們需要在Linux防火墻中允許3000埠流入,
[root@cassandra ~]# firewall-cmd --permanent --add-port=3000/tcp
success
[root@cassandra ~]# firewall-cmd --reload
success
第五步:Cassandra Web創建資料庫用戶
要訪問Apache Cassandra節點,Cassandra Web界面需要一個Admin用戶,因此,我們為此創建一個資料庫用戶,如下所示,
[root@cassandra ~]# cqlsh -u lianglab -p lianglab@123
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.9 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
lianglab@cqlsh>
lianglab@cqlsh> CREATE ROLE cassweb WITH PASSWORD = 'Cassweb@123' AND SUPERUSER = true AND LOGIN = true;
lianglab@cqlsh> exit
[root@cassandra ~]#
第六步:Cassandra Web界面啟動
通過使用以下命令語法來啟動Cassandra Web界面,如果已在另一個節點上運行Apache Cassandra資料庫,則必須根據您的環境從以下命令更改主機地址,
[root@cassandra ~]# cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'
I, [2020-12-21T19:49:50.969783 #58769] INFO -- : Establishing control connection
I, [2020-12-21T19:49:51.089534 #58769] INFO -- : Refreshing connected host's metadata
I, [2020-12-21T19:49:51.096746 #58769] INFO -- : Completed refreshing connected host's metadata
I, [2020-12-21T19:49:51.098335 #58769] INFO -- : Refreshing peers metadata
I, [2020-12-21T19:49:51.099710 #58769] INFO -- : Completed refreshing peers metadata
I, [2020-12-21T19:49:51.099780 #58769] INFO -- : Refreshing schema
I, [2020-12-21T19:49:51.122821 #58769] INFO -- : Schema refreshed
I, [2020-12-21T19:49:51.122871 #58769] INFO -- : Control connection established
I, [2020-12-21T19:49:51.123174 #58769] INFO -- : Creating session
I, [2020-12-21T19:49:51.214760 #58769] INFO -- : Session created
2020-12-21 19:49:51 +0800 Thin web server (v1.8.0 codename Possessed Pickle)
2020-12-21 19:49:51 +0800 Maximum connections set to 1024
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服務檔案,
[root@cassandra ~]# vi /usr/lib/systemd/system/cassweb.service
添加以下代碼行,
[Unit]
Description=Cassandra Web
[Service]
Type=simple
ExecStart=cassandra-web --hosts '127.0.0.1' --port '9042' --username 'cassweb' --password 'Cassweb@123'
[Install]
WantedBy=multi-user.target
啟動Cassandra Web服務,
[root@cassandra ~]# systemctl enable --now cassweb.service
Created symlink /etc/systemd/system/multi-user.target.wants/cassweb.service → /usr/lib/systemd/system/cassweb.service.
[root@cassandra ~]# netstat -antpl | grep 3000
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 59130/ruby
[root@cassandra ~]#
Cassandra Web服務已啟動,
結論:
我們的Cassandra Web界面已經在CentOS 8上安裝完成,并且運行良好,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/238465.html
標籤:其它
上一篇:ora2pg簡單使用
下一篇:Mysql查看執行計劃及索引使用
