集群環境:
(以下數字為集群內機器的hostname)
hadoop:
namenode&jobtracker:28
datanode&tasktracker:15,
16,17,
18,23,
24,25,
26,27,
28 hbase:
master:18
regionserver:15,
16,17,
18,23,
24,25,
26,27,
28 zookeeper:15,
17,18
新集群環境:
檔案系統用原有的,即
hadoop:
namenode&jobtracker:28
datanode&tasktracker:15,
16,17,
18,23,
24,25,
26,27,
28 hbase:
master:16
regionserver:15,
16,17,
18 zookeeper用原有的,即
zookeeper:15,
17,18
一、在新集群的配置檔案hbase-site.xml
裡面需要修改的地方:
1、 hbase.rootdir
hdfs://hostname:9000/rootdirectory
這裡的hostname
就跟原hbase
集群裡面的是一樣的,即
hadoop
檔案系統的
namenode
結點;rootdirectory
這裡必須改動,即跟原集群裡的必須不一樣。
2、修改各種埠號
因為hbase
集群內部有很多通訊協議,集群內部需要統一的埠號,比如
60000
、60010
這些,已經是預設的,原有的
hbase
集群已經在用了,現在需要對新集群的埠做些改變,否則預設的就會與原集群埠衝突。
hbase.master.port
61000
hbase.master.info.port
61010
hbase.regionserver.port
61020
hbase.regionserver.info.port
61030
3、修改臨時檔案的檔案目錄
hbase.tmp.dir
/root/base_tmp
4、修改引數,使得啟動hbase
的時候,不用自帶的啟動自己的一套
zookeeper
,這裡是直接利用了原有的
hbase
的zookeeper
hbase.cluster.distributed
true
保留引數,這個跟原有的集群的配置一樣,即兩者公共一套zookeeper
hbase.zookeeper.quorum
15,17,18
5、修改引數,在zookeeper
裡面每個
hbase
需要有乙個屬於自己的
root znode
zookeeper.znode.parent
/basefortest
二、在新集群的配置檔案hbase-env.sh
裡面需要修改的地方:
因為hbase
啟動的master
、regionserver
程序,是在某乙個指定的目錄之下讀取程序名稱,如果不改這個目錄,那麼在同一臺機器上啟動兩個
regionserver
或者master
,會出現衝突問題。
將export hbase_pid_dir=/var/hadoop/pids
注釋去掉,等號後邊的路徑是在
hbase_home
相對路徑下手動選擇的的乙個路徑,即
hbase_pid_dir
最後的絕對路徑是
hbase_home/var/hadoop/pids。
在這個配置檔案裡面也需要指明不單獨啟動zookeeper
,即將
export hbase_manages_zk=true注釋取消,並其值為
false
。
在linux上搭建hbase集群
1 安裝jdk 2 zookeeper安裝 注意 1 我們需要建立使用者hadoop,並配置 etc sudoers檔案,使其許可權為hadoop all all nopasswd 2 修改檔案使用者 sudo chown r hadoop data 修改檔案使用者組 sudo chown r ha...
在原有的陣列中插入乙個整數,依然儲存陣列的排序
在原有的陣列中插入乙個整數,依然儲存陣列的排序 public class test1 w int arr2 new int arr1.length 1 新的陣列 arrays.sort arr1 system.out.print 請插入乙個數 int num input.nextint int in...
原有的記錄的乙個欄中新增問題
我有2個表.乙個是表a 乙個是表b 表a的字段是 id gonghao name xianlu jinge ejinge 表b的字段是 id gonghao name ejinge 怎麼樣才能這樣 當表b的gonghao 表a的gonghao時就把表b的ejinge寫到表a的ejinge中 當表b的...