2.5、CDH 搭建Hadoop在安裝(設置Cloudera Manager數據庫)


步驟5:設置Cloudera Manager數據庫

Cloudera Manager Server包含一個可以為自己創建和配置數據庫的腳本。該腳本可以:

  • 創建Cloudera Manager Server數據庫配置文件。
  • (MariaDB,MySQL和PostgreSQL)為Cloudera Manager Server創建和配置數據庫以供使用。
  • (MariaDB,MySQL和PostgreSQL)為Cloudera Manager Server創建和配置用戶帳戶。

雖然腳本可以創建數據庫,但以下過程假定您已按步驟4:安裝和配置數據庫中所述創建了數據庫

以下部分描述了腳本的語法並演示了如何使用它:

 

語法 scm_prepare_database.sh

的語法 scm_prepare_database.sh 腳本如下:

/usr/share/cmf/schema/scm_prepare_database.sh [options] <databaseType>  <databaseName>  <databaseUser>  <password>
注意: 您也可以運行 scm_prepare_database.sh  沒有選項來查看語法。

要創建新數據庫,必須指定 -u 和 -p具有創建數據庫權限的用戶的參數。如果已按照步驟4:安裝和配置數據庫中的說明創建了數據庫,請不要指定這些選項。

下表描述了該參數和選項 scm_prepare_database.sh 腳本:

參數
 
Parameter (Required in bold) Description
<databaseType> One of the supported database types:
  • MariaDB: mysql
  • MySQL: mysql
  • Oracle: oracle
  • PostgreSQL: postgresql
<databaseName> The name of the Cloudera Manager Server database to use. For MySQL, MariaDB, and PostgreSQL databases, the script can create the specified database if you specify the -u and -p options with the credentials of a user that has privileges to create databases and grant privileges. The default database name provided in the Cloudera Manager configuration settings is scm, but you are not required to use it.
<databaseUser> The username for the Cloudera Manager Server database to create or use. The default username provided in the Cloudera Manager configuration settings is scm, but you are not required to use it.
<password> The password for the <databaseUser> to create or use. If you do not want the password visible on the screen or stored in the command history, do not specify the password, and you are prompted to enter it as follows:
Enter SCM password:
選項
選項 描述
-?|--help
顯示幫助。
--config-path Cloudera Manager Server配置文件的路徑。默認是的/etc/cloudera-scm-server
-f | --force 如果指定,則在發生錯誤時腳本不會停止。
-h | --host 安裝數據庫的主機的IP地址或主機名。默認是使用localhost
-p | --password 數據庫應用程序的管理員密碼。與...一起使用-u選項。默認為無密碼。不要在它們之間留一個空格-p 和密碼(例如, -phunter2)。如果您不希望密碼在屏幕上可見或存儲在命令歷史記錄中,請使用-p選項而不指定密碼,系統會提示您輸入密碼,如下所示:
輸入數據庫密碼:
如果您已經創建了數據庫,請不要使用此選項。
-P | --port 用於連接數據庫的端口號。對於MariaDB,默認端口為3306,對於MySQL為3306,對於PostgreSQL為5432,對於Oracle為1521。此選項僅用於遠程連接。
--scm-host 安裝Cloudera Manager Server的主機名。如果Cloudera Manager Server和數據庫安裝在同一主機上,請不要使用此選項或-h 選項。
--scm-password-script
一個執行其腳本的腳本 stdout  提供用戶SCM的密碼(用於數據庫)。
-u | --user 數據庫應用程序的管理員用戶名。與...一起使用-p選項。不要在它們之間留一個空格 -u 和用戶名(例如, -uroot)。如果提供此選項,腳本將為Cloudera Manager Server創建用戶和數據庫。如果您已經創建了數據庫,請不要使用此選項。

准備Cloudera Manager Server數據庫

  1. 跑過 scm_prepare_database.shCloudera Manager Server主機上的腳本,使用您在步驟4:安裝和配置數據庫中創建的數據庫名稱,用戶名和密碼
    sudo /usr/share/cmf/schema/scm_prepare_database.sh <databaseType>  <databaseName>  <databaseUser>

    出現提示時,輸入密碼。

  2. 如果存在,請刪除嵌入的PostgreSQL屬性文件:
    sudo rm /etc/cloudera-scm-server/db.mgmt.properties
以下示例演示了語法和輸出  scm_prepare_database.sh  不同場景的腳本:

示例1:當MySQL或MariaDB與Cloudera Manager Server位於同一位置時運行腳本

此示例假定您已創建Cloudera Management Server數據庫和數據庫用戶,同時命名兩者 SCM

sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql scm scm
Enter SCM password:
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.7.0_67-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

示例2:在另一台主機上安裝MySQL或MariaDB時運行腳本

此示例演示如何在Cloudera Manager Server主機上運行腳本(cm01.example.com)並連接到遠程MySQL或MariaDB主機(db01.example.com):

sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -h db01.example.com --scm-host cm01.example.com scm scm
Enter database password:
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.7.0_67-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
 
示例3:運行腳本以配置Oracle
sudo /usr/share/cmf/schema/scm_prepare_database.sh -h cm-oracle.example.com oracle orcl sample_user sample_pass
Enter SCM password:
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.7.0_67-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

安裝CDH

配置Cloudera Manager Server數據庫后,繼續執行 步驟6:安裝CDH和其他軟件
 
 
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql scm scm
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql amon amon
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql rman rman
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql hue hue
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql metastore hive
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql sentry sentry
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql nav nav
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql navms navms
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql oozie oozie
 
 
echo "vm.swappiness=10" >>/etc/sysctl.conf
sysctl -p
cat /proc/sys/vm/swappiness


免責聲明!

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



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