1. 程式人生 > >遠端訪問Cloudera-Manager使用的postgres資料庫

遠端訪問Cloudera-Manager使用的postgres資料庫

概述

在採用Cloudera-Manager安裝cdh時,通常使用內嵌的PostgreSQL資料庫。 Cloudera-Manager除了儲存CDH叢集的配置元資料的scm資料庫外,還為Activity Monitor(活動監控)、Service Monitor(服務監控)、Report Manager(報告管理)、Host Monitor(主機監控)、Cloudera Navigator(Cloudera導航)等資訊分別建立資料amon、smon、rmon、hmon、nav相應的資料。 如果你運行了Hive服務,Cloudera-Manager還會建立hive資料庫用於儲存hive metastore即建表的元資料等。 在實際使用中,如果需要檢視資料庫內容,直接在伺服器上跑命令較為麻煩,因此採用遠端訪問的方式。

檢視資料庫密碼

   # scm資料庫的使用者名稱,密碼
   more /etc/cloudera-scm-server/db.properties


   #其他資料庫(如amon,hmon,smon,rman,nav)的使用者名稱、密碼
   more /etc/cloudera-scm-server/db.mgmt.properties

   #資料庫管理者(相當於oracle DBA)cloudera-scm的使用者名稱、密碼
   /var/lib/cloudera-scm-server-db/data/generated_password.txt

   #hive資料庫的使用者名稱、密碼
   #You can find the databaes admin(cloudera-scm) password in /var/lib/cloudera-scm-server-db/data/generated_password.txt.
#If you start the Hive Metastore Server, the hive password will be in its hive-site.xml. You can see this file by clicking on your Hive Metastore Server, then clicking on Processes, expanding Show, and clicking on hive-site.xml. #http://xxxx:7180/cmf/process/808/config?filename=hive-site.xml #即hive資料庫的密碼可以在hive-site.xml中發現。

遠端訪問postgres

這裡使用squirrelsql進行視覺化訪問。squirrelsql相關資訊參考官網,這裡不再贅述。

  1. 設定postgres可遠端訪問。
#檢視當前postgres啟動命令
ps -o ruser=cloudera-scm -e -o pid,ppid,c,stime,tty,time,cmd|grep postgres
#cloudera-scm      1687      1  0 Oct29 ?        00:00:07 /usr/bin/postgres -D /var/lib/cloudera-scm-server-db/data
#可以看到 postgres 啟動時使用了/var/lib/cloudera-scm-server-db/data目錄
vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf
#新增想要遠端訪問的主機ip,如:
host    all         all         192.168.34.1/24      trust
# reload配置
# 這裡需要注意,因為postgres是由cloudera-scm使用者啟動的,所以reload也需要用cloudera-scm使用者。
# 按照以下步驟設定
vim /etc/passwd
#將cloudera-scm:x:496:493:Cloudera Manager:/var/lib/cloudera-scm-server:/sbin/nologin 改成如下:
cloudera-scm:x:496:493:Cloudera Manager:/var/lib/cloudera-scm-server:/bin/bash
# 執行下列命令reload
su cloudera-scm -l -c "pg_ctl reload -D /var/lib/cloudera-scm-server-db/data"
# 之後可以將/etc/passwd中修改的再改回來
  1. 下載postgres的jdbc驅動 下載地址
  2. 連線postgres 第一步,設定postgres驅動。 設定jdbc驅動 第二步,連線 填寫相關資訊,注意cdh的postgres埠號為7432。如:jdbc:postgresql://ip:7432/scm 賬號名為scm,密碼為上面第一步中檢視到的密碼。 連線資料庫 連線成功後如下圖: 連線成功