2016-08-11 63 views
1

我正在SQOOP上設置多節點(7個節點)。
SQOOP:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:未知的數據庫

  1. CLIENT
  2. 名稱節點
  3. SECONDARY名稱節點
  4. 的JobTracker
  5. 數據管理部1
  6. 數據管理部2
  7. 數據管理部3

客戶端節點我已經安裝了hadoop,sqoop。 在其他節點只安裝了Hadoop。我正在使用mySQL。我創建了數據庫GAME_OF_THRONES。我已創建的表kings_battles如下:

create table kings_battles(name VARCHAR(50) NOT NULL, year INT NOT NULL, battle_number INT NOT NULL, attacker_king VARCHAR(50), defender_king VARCHAR(50), attacker_1 VARCHAR(50), attacker_2 VARCHAR(50), attacker_3 VARCHAR(50), attacker_4 VARCHAR(50), defender_1 VARCHAR(50), defender_2 VARCHAR(50), defender_3 VARCHAR(50), defender_4 VARCHAR(50), attacker_outcome VARCHAR(50), battle_type VARCHAR(50), major_death TINYINT, major_capture TINYINT, attacker_size INT, defender_size INT, attacker_commander VARCHAR(50), defender_commander VARCHAR(50), summer TINYINT, location VARCHAR(50), region VARCHAR(50), PRIMARY KEY(battle_number));

不過,雖然執行sqoop export命令從客戶端節點我得到錯誤:

命令:

sqoop export --connect jdbc:mysql://localhost/GAME_OF_THRONES --table 
kings_battles --username root --password hadoop123 --export-dir 
/input/5kings_battles.csv 

錯誤:

Error : com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'GAME_OF_THRONES' 

我檢查數據庫和表在客戶端節點使用 的mysql -u根-p

創建我怎樣才能解決這個錯誤..喜歡的端口號,需要IP地址? 任何人都可以幫助我。謝謝。

回答

0

看來你的數據庫名稱是game_of_thrones而不是GAME_OF_THRONES

嘗試:

sqoop export --connect jdbc:mysql://localhost/game_of_thrones --table kings_battles --username root --password hadoop123 --export-dir /input/5kings_battles.csv

要確保有關數據庫名的大小寫,您可以使用命令 -

sqoop list-databases --connect jdbc:mysql://localhost/ --username root --password hadoop123

+0

喜@dev檢查所有數據庫的名單ツ:感謝幫助。我已經檢查了使用你給定的查詢和使用show數據庫;也。數據庫名稱是GAME_OF_THRONES,表名是kings_battles。另外我嘗試使用數據庫名稱game_of_thrones導出,但它給了我未知的數據庫'game_of_thrones'錯誤 – techGaurdian

+0

我應該使用節點的IP地址,即客戶端節點。但在嘗試使用IP地址時顯示連接被拒絕。我需要授予任何特權嗎? – techGaurdian

+0

@techGaurdian mysql和sqoop安裝在同一臺機器上? –