HadoopDB叢集配置方法
Author:謝
本文介紹在2個節點上安裝配置HadoopDB方法。各節點的名稱分別為Cluster01(192.168.0.1),Cluster02(192.168.0.2)。
以下若是用 [email protected]:~ 代表 Cluster01 ~ Cluster02 都要做的.
1 首先在各節點上安裝Hadoop-0.20.2, 參考此文 。
2 各節點安裝設定 PostgreSQL:
- 安裝併為資料庫建立 hadoop 帳號,假定使用密碼為 1234
- [email protected]:~$ sudo apt-get install postgresql
- [email protected]
- #local all all ident
local all all trust
# IPv4 local connections:
#host all all 127.0.0.1/32 md5
host all all 127.0.0.1/32 password
host all all 192.168.0.1/24 password # 加上Cluster 機器 IP 範圍
# IPv6 local connections:
#host all all ::1/128 md5
host all all ::1/128 password
- #local all all ident
- [email protected]:~$ sudo /etc/init.d/postgresql-8.4 restart
- [email protected]:~$ sudo su - postgres
- [email protected]:~$ createuser hadoop
- Shall the new role be a superuser? (y/n) y
[email protected]:~$ psql
psql (8.4.2)
Type "help" for help.
postgres=# alter user hadoop with password '1234';
ALTER ROLE
postgres=# /q
- Shall the new role be a superuser? (y/n) y
- 測試其他機器可否連線
- [email protected]:~$ createdb testdb
- [email protected]:~$ psql -h Cluster01 testdb
- 如果能夠連線上,則出現以下提示:
- 口令:
psql (8.4.2)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
testdb=#
- 口令:
- 如果能夠連線上,則出現以下提示:
3 設定HadoopDB
- core-site.xml 檔案中新增以下內容:
<property>
<name>hadoopdb.config.file</name>
<value>HadoopDB.xml</value>
<description>The name of the HadoopDB cluster configuration file</description>
</property>
<property>
<name>hadoopdb.fetch.size</name>
<value>1000</value>
<description>The number of records fetched from JDBC ResultSet at once</description>
</property>
<property>
<name>hadoopdb.config.replication</name>
<value>false</value>
<description>Tells HadoopDB Catalog whether replication is enabled.
Replica locations need to be specified in the catalog.
False causes replica information to be ignored.</description>
</property>
- 192.168.0.1
- 192.168.0.2
- #Properties for Catalog Generation
##################################
nodes_file=nodes.txt
# Relations Name and Table Name are the same
relations_unchunked=raw
relations_chunked=poi
catalog_file=HadoopDB.xml
##
#DB Connection Parameters
##
port=5432
username=hadoop
password=1234
driver=org.postgresql.Driver
url_prefix=jdbc/:postgresql/://
##
#Chunking properties
##
# the number of databases on a node
chunks_per_node=2
# for udb0 ,udb1 ( 2 nodes = 0 ~ 1 )
unchunked_db_prefix=udb
# for cdb0 ,cdb1, ... , cdb5 (2 nodes x 3 chunks = 0~5 )
chunked_db_prefix=cdb
##
#Replication Properties
##
dump_script_prefix=/root/dump_
replication_script_prefix=/root/load_replica_
dump_file_u_prefix=/mnt/dump_udb
dump_file_c_prefix=/mnt/dump_cdb
##
#Cluster Connection
##
ssh_key=id_rsa-gsg-keypair
- 產生的 HadoopDB.xml 類似下面:
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Nodes Password="1234" Username="hadoop" Driver="org.postgresql.Driver" Location=" 192.168.0.1 ">
<Relations id="raw">
<Partitions url="jdbc:postgresql:// 192.168.0.1 :5432/udb0" id="0"/>
</Relations>
<Relations id="poi">
<Partitions url="jdbc:postgresql:// 192.168.0.1 :5432/cdb0" id="0"/>
<Partitions url="jdbc:postgresql:// 192.168.0.1 :5432/cdb1" id="1"/>
</Relations>
</Nodes>
<Nodes Password="1234" Username="hadoop" Driver="org.postgresql.Driver" Location=" 192.168.0.2 ">
<Relations id="raw">
<Partitions url="jdbc:postgresql:// 192.168.0.2 :5432/udb1" id="1"/>
</Relations>
<Relations id="poi">
<Partitions url="jdbc:postgresql:// 192.168.0.2 :5432/cdb2" id="2"/>
<Partitions url="jdbc:postgresql:// 192.168.0.2 :5432/cdb3" id="3"/>
</Relations>
</Nodes>
</DBClusterConfiguration>
4 資料載入
在此以 raw 這個 talbe 當作例子進行講解。根據前面HadoopDB.xml的內容,叢集中的兩個節點,第一個節點的資料庫名稱為udb0 ,第二個節點為udb1,首先分別建立這兩個資料庫:- [email protected]:~$ createdb udb0
[email protected]:~$ createdb udb1
- [email protected]:~$ psql udb0
udb0=#
CREATE TABLE raw (
ID int,
NAME varchar(300)
); - 同理如 Cluster02
$ hadoop jar lib/hadoopdb.jar edu.yale.cs.hadoopdb.dataloader.GlobalHasher input_in_hdfs out_in_hdfs 2 '/n' 0 在各個節點上,將切割後的資料,從hdfs中傳到各個節點的本地檔案系統中: $ hadoop fs -get out_in_hdfs/part-00000 /home/hadoop/p0 將本地檔案載入到資料庫中:
[email protected]:~$ psql udb0
udb0=# COPY RAW FROM '/home/hadoop/p0' WITH DELIMITER E'/t' ; 同理如 Cluster02
5 SMS安裝配置
第3步下載的hadoopdb解壓後包含SMS_dist.tar.gz資料夾。
SMS的安裝方法很簡單:首先將其解壓,然後開啟bin目錄下的hive-config.sh檔案,再最後加上一句:
export HADOOP_HOME="此處寫hadoop的安裝路徑"。
然後在hive上建立上面raw這個table對應的資料庫: 假設 Hive 使用的資料將儲存在 HDFS 的 /db [email protected]:~ $ hadoop dfs -mkdir /db [email protected]:~ $ SMS_dist/bin/hiveCREATE EXTERNAL TABLE raw (
ID int,
NAME string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS
INPUTFORMAT 'edu.yale.cs.hadoopdb.sms.connector.SMSInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION '/db/raw'; /db/raw中的raw是指table的名稱
5 以上設定完後,即可在一臺機器上(Ex: Cluster1) 執行 $ SMS_dist/bin/hive 看看成果
- [email protected]:~ $ SMS_dist/bin/hive
hive> show tables;
hive> select name from raw;
相關推薦
HadoopDB叢集配置方法
Author:謝 本文介紹在2個節點上安裝配置HadoopDB方法。各節點的名稱分別為Cluster01(192.168.0.1),Cluster02(192.168.0.2)。 以下若是用 [email protected]:~ 代表 Cluster01 ~ C
NGINX+TOMCAT搭建高效能負載均衡叢集 配置方法
一、 工具 nginx apache-tomcat 二、 目標 實現高效能負載均衡的Tomcat叢集:
Resin 多站點叢集配置方法
Resin 多站點叢集配置方法 轉載:http://www.open-open.com/doc/
weblogic tomcat 叢集配置方法(轉)軟體層次上的分散式與叢集
叢集與分散式一直是我想學習的東西.可惜沒有實踐的機會 分散式強調的同一個業務被分拆成不同的子業務,被部署在不同的伺服器上(可能是效能的問題,也可能是安全的問題,也可能是模組對伺服器的需求不同的問題將業務進行分解),伺服器可以跨域也可以同域。 而
centos7.5+mysql主主叢集+keepalived+郵件報警 配置方法
centos7.5+mysql主主叢集+keepalived+郵件報警 配置方法 一、環境說明 作業系統: CentOS Linux release 7.5.1804 Mysql版本:mysql-5.7.23 Keepalived版本: v1.3.5 Mysql-vip:192.
hadoop叢集配置無密碼登陸 啟動關閉namenode輸入密碼的解決方法
最近做hadoop學習,按網上的資料照本宣科做的,發現死活搞不懂為啥在啟動和關閉namenode的時候都要輸入密碼。上網查詢半天都沒摸到頭腦,後來仔細研究了下ssh後才發現,原來是一直沒在namenode主機上加入ssh本地免驗證authorized_keys檔案,ssh
springmvc和json整合配置方法
repl bin blank converter htm spring配置 tpm port 三方 配置方法一 1、導入第三方的jackson包,jackson-mapper-asl-1.9.7.jar和jackson-core-asl-1.9.7.jar。 2、spri
Linux操作系統下/etc/hosts文件配置方法
主機名 進行 問題 解釋 很快 中一 linux 同時 包括 1、關於/etc/host,主機名和IP配置文件 Hosts - The static table lookup for host name(主機名查詢靜態表) hosts文件是Linux系統中一個負責
j2ee監聽器的實現及配置方法
tin sta j2ee bsp 對象 配置方法 clas http ont j2ee中存在的監聽器有八種,其中四種有關於session 可以分為以下幾類: 生命周期類:監聽對象的創建和銷毀 Interface ServletRequestListener Interfa
phpunit 生成三種日誌文件的配置方法
complete spa php style highlight bin 方法 cnblogs nco #目錄結構 windows bin目錄下 ├── phpunit.phar ├── phpunit.cmd ├──
Python的Flask框架使用Redis做數據緩存的配置方法
num pre 設置 span run type con sudo python flask配置redis 首先得下載flask的緩存插件Flask-Cache,使用pip下載。 sudo pip install flask_cache 為應用擴展flask_ca
Windows訪問Linux下的共享目錄的配置方法
cat tab all samb dha server nbsp lan eno user安全級別 第一步:安裝samba3(如果已經安裝就跳過這一步) [[email protected]/* */ /]# yum groupinstall "CIFS
【STORAGE】Qlogic FC存儲交換機cmd配置方法
dmi bsp pos add rac .net edi csdn clu *************************************************************** ****原文: blog.csdn.net/clark_xu
Spring之AOP在XML中的配置方法
字段 object 代理 [] ger 編程 調用 加載器 bsp AOP 即 Aspect Oriental Program 面向切面編程 先來一個栗子: <aop:config> <aop:pointcut id="
PPP的兩種配置方法(pap和chap)
pap chapPAP的配置R1上的配置[R1]int s4/0/0[R1-Serial4/0/0]ppp authentication-mode pap[R1-Serial4/0/0]q[R1]aaa[R1-aaa]local-user huawei password cipher 123456Info:
mongodb切片配置方法
-s 查看 conf init collect 架構圖 切片 創建索引 () ---------------------------------切片架構圖------------------------------------------------------------
cmake安裝mysql及多實例配置方法
end transacti per 企業 erro mysql con 初始 root 一、安裝mysql 1、 生產環境如何選擇MySQL版本 1. 選擇社區版的穩定GA版本2. 可以選擇5.1或5.5.互聯網公司主流5.5, 其次是5.1和5.63. 選擇發布後6個月以
Spring-boot之jQuery File Upload後臺配置方法
文件上傳 query jquer highlight origin exc exist int alt 文件上傳在Spring-boot中本身配置起來非常簡單,但是有個多文件傳遞和單個傳遞的問題。 兩者配置是略有不同的,而且還有一些讓我這個技術小白很容易踩坑的地方。 重
mysql-5.7.13-winx64 免安裝版配置方法
comm 免密 install 免密碼登錄 命令 logs detail itl target 1.下載MySQL Community Server 5.7.13 解壓MySQL壓縮包 2.修改 my-default.ini skip-grant-
Spring+Quartz實現定時任務的配置方法
detail 包含 範例 empty beans ref tail 可選 creat 1、Scheduler的配置 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&g