Oracle Big Data Connectors:ODCH
下載下傳位址:
<a href="http://www.oracle.com/technetwork/bdc/big-data-connectors/downloads/index.html">http://www.oracle.com/technetwork/bdc/big-data-connectors/downloads/index.html</a>

Jave SE 下載下傳位址:
<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html">http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html</a>
Oracle11g下載下傳位址:
Oracle Enterprise Linux下載下傳位址:需要注冊oracle帳号才能下載下傳:
<a href="https://edelivery.oracle.com/linux">https://edelivery.oracle.com/linux</a>
在虛拟機或者實體機下安裝都可以:
基本上就是一頓下一步。
然後安裝oracle11g,這個真是折騰了好幾天
最後按照這篇文章操作,安裝成功。
<a href="http://wenku.baidu.com/view/fc804254be23482fb4da4c63.html">http://wenku.baidu.com/view/fc804254be23482fb4da4c63.html</a>
我覺得這塊最好的文章就是oracle的官方給的教程:
<a href="http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm">http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm</a>
安裝hadoop
<a href="http://blog.csdn.net/lichangzai/article/details/8206834">http://blog.csdn.net/lichangzai/article/details/8206834</a>
遇到問題1:
ssh 免密碼登入設定後還是提示需要輸入密碼
解決方法如下:
遇到的問題2:
Agent admitted failure to sign using the key
解決辦法:
機器部署情況:
主機名
IP
系統版本
Oracle node
Hadoop node
hadoop程序名
Master
192.168.74.153
OEL6.4
Oracle11.2.0.2
master
namenode,jobtracker
Node1
192.168.2.147
Ubuntu12.04
無
slave
datanode,tasktracker
Node2
192.168.2.148
主要環境變量:
變量名
變量值
ORACLE_HOME
/oracle/11g
ORACLE_SID
orcl
HADOOP_HOME
/home/hadoop/hadoop-1.2
HADOOP_CONF_DIR
$HADOOP_HOME/conf
OSCH_HOME
/opt/odch/orahdfs-2.2.0
ORAHDFS_JAR
$OSCH_HOME/jlib/orahdfs.jar
HDFS_BIN_PATH
HADOOP_CLASSPATH
$OSCH_HOME/jlib/*
按照以上配置。
在opt下建立檔案夾odch,将檔案傳到這個目錄下解壓縮。
/opt/odch
解壓縮:
unzip orahdfs-2.2.0.zip
然後添加hadoop\oracle\ODCH主要要環境變量
進入hadoop使用者主目錄,vi .bash_profile
我的配置如下(可參考):
修改使用者組屬性:
說明:因為之前的hadoop安裝在hadoop系統使用者下,而oracle安裝在了oracle系統使用者下,為了操作友善,使hadoop使用者有操作oracle操作庫的權限,現在修改hadoop系統使用者屬組,添加到和oracle同樣的使用者組下。
--檢視之前的使用者屬組
--修改使用者屬組
然後重新開機一下計算機。
連接配接oracle啟動資料庫
然後啟動oracle的listener
進入目錄/opt/odch/orahdfs-2.2.0/bin,用vi打開hdfs_stream檔案,加入如下配置:
確定oracle使用者對$ODCH_LOG_DIR/logs目錄有讀寫權限
因為Oracle使用者需要在 {$ODCH_LOG_DIR} 目錄中建立log/bad檔案,是以要確定oracle使用者對$ODCH_LOG_DIR/log目錄有讀寫權限
--修改目錄權限,測試讀寫檔案
配置作業系統目錄和資料庫的Directory對象
--建立所用的系統目錄
--建立oracle Directory對象
--目錄對象說明
HDFS_BIN_PATH::hdfs_stream腳本所在目錄.
HDFS_DATA_DIR:用來存放“位置檔案”(location files)的目錄。“位置檔案”(location files) 是一個配置檔案,裡面包含HDFS的檔案路徑/檔案名以及檔案編碼格式。
ODCH_LOG_DIR:Oracle用來存放外部表的log/bad等檔案的目錄.
建立oracle外部表:
連上之後然後建立表:
--示例檔案内容
在附件中Tmpdata.csv
檔案的準備過程:
Tmpdata.csv檔案是我們通過all_objects生成的,SQL腳本為:select rownum,owner,object_name,created,data_object_id from all_objects
其中路徑檔案名等可根據實際情況修改。
啟動hadoop
--先在Hadoop中建立一個目錄,然後把empxt*.dat放入該目錄中
--執行下面的指令
參數說明:
ExternalTable:使用hadoop ExternalTable指令工具
-D:指定相關參數
tableName:外部表名字
datasetPaths:源資料存放路徑(HDFS)
datasetRegex:資料源格式
connection.url:oracle資料庫連接配接串
connection.user:資料庫使用者名scott
指令執行後還要輸入使用者名密碼:oracle
修改參數:
進入extdir目錄:
可以看出上面有了到hadoop的指向資訊。
檢視外鍊到hadoop表資訊:
在scott使用者檢視:
這些就是查詢到的hadoop中的資料資訊。