1. 程式人生 > >hadoop+zookeeper+hbase安裝、配置及應用例項

hadoop+zookeeper+hbase安裝、配置及應用例項

出於種種原因,想要搭建一個小叢集,來搞搞資料處理。

實踐環境: ubuntu10.04+jdk1.6.20+hadoop-0.20.2+zookeeper3.3.4+hbase0.90.6 本來是準備好了三臺機器,結果後面一臺掛了,所以只有兩臺了=。= 機器名              ip                           作用 ibm        125.216.227.182     namenode ibm00    125.216.227.53        datanode 在開始之前,先負責任的說,選擇的hadoop,hbase版本是有很大影響的,一方面是不同版本配置不一樣,個別的配置檔案沒有等,另一方面並不是所有多相容,所以還是要看看官方文件。
一. Hadoop的安裝配置

1、安裝ubuntu10.04

    為了操作的簡便,在所有機器上建立相同使用者名稱和相同密碼的使用者。本例建立了相同的使用者ibm

修改機器名:$ hostname機器名。(注:重啟ubuntu後,hostname會變為原來的預設值,所以重啟電腦後記得把hostname改回來,免得與下面設定的/etc/hosts檔案不一致!)

/etc/hosts中新增機器名和相應的IP

127.0.0.1 localhost

125.216.227.182 ibm

125.216.227.53 ibm00

2、開啟ssh服務

注意:自動安裝openssh-server時,先要進行

sudo apt-get update操作。

安裝openssh-server$ sudo apt-get install openssh-server

3、建立ssh無密碼登入

(1)NameNode上實現無密碼登入本機:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

直接回車,完成後會在~/.ssh/生成兩個檔案:id_dsaid_dsa.pub。這兩個是成對出現,類似鑰匙和鎖。

再把id_dsa.pub追加到授權key裡面(當前並沒有authorized_keys檔案)

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

完成後可以實現無密碼登入本機:$ ssh localhost

(2)實現NameNode無密碼登入其他DataNode(不用設定DataNode無密碼登入NameNode!):

NameNode上的id_dsa.pub檔案追加到dataNodeauthorized_keys(125.216.227.182節點為例)

a.拷貝NameNodeid_dsa.pub檔案:

$ scp id_dsa.pub[email protected]3:/home/ibm/

b.登入125.216.227.53執行$ cat id_dsa.pub >> .ssh/authorized_keys

其他的dataNode執行同樣的操作。

4、關閉防火牆

$ sudo ufw disable

注意:這步非常重要。如果不關閉,會出現找不到datanode問題。

5、安裝jdk1.6

 在ubuntu預設的源中,可以找到的jdk為openjdk,其正好是1.6的,可以使用

$sudo apt-cache search jdk可選列表,然後安裝

安裝配置JAVA 1.6.20

$sudo apt-get install openjdk-6-jre openjdk-6-jdk

然後配置環境變數:

 vi /etc/profile

在其中新增如下:

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

儲存退出。

重啟ubuntu

使用命令測試:

$java -version

注意:每臺機器的java環境最好一致。

6、安裝hadoop

下載hadoop-0.20.2.tar.gz

解壓:$ tar –zvxf hadoop-0.20.2.tar.gz

Hadoop的安裝路徑新增到環/etc/profile:

export HADOOP_HOME=/home/ibm/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

7、配置hadoop

hadoop的主要配置都在hadoop-0.20.2/conf下。

(1)conf/hadoop-env.sh中配置Java環境(namenodedatanode的配置相同)

$ vim hadoop-env.sh

$ export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

(2)配置conf/mastersconf/slaves檔案:(只在namenode上配置)

masters: 125.216.227.182

slaves:125.216.227.53

(3)配置conf/core-site.xml, conf/hdfs-site.xmlconf/mapred-site.xml(簡單配置,namenodedatanode的配置相同)

core-site.xml:

<configuration>

<!--- global properties -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/ibm/tmp</value>

<description>A base for other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

<name>fs.default.name</name>

<value>hdfs://125.216.227.182:9000</value>

</property>

</configuration>

hdfs-site.xml:( replication預設為3,如果不修改,datanode少於三臺就會報錯)

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>125.216.227.182:9001</value>

</property>

</configuration>

{

namenodedatanode的配置一樣,只是datanode不用配masterslave,其中core.xmlmapred-site.xmlvalue值均要配成namenodeip地址。

8、執行hadoop

進入hadoop-0.20.2/bin,首先格式化檔案系統:$ hadoop namenode –format

{

如果在這裡輸入命令hadoop namenode –format,返回bash: hadoop:找不到命令;則進入hadoop檔案,輸入命令bin/hadoop namenode -format就可以格式化了。

啟動Hadoop$ start-all.sh

通過jps命令檢視當前資訊。

二. zookeeper的安裝配置

        zookeeper的安裝配置比較簡單,下載、解壓到/home/ibm/zookeeperinstall,在zookeeperinstall目錄下建立data目錄來存放zookeeper的資料,這裡需要配置的就是/zookeeper/conf下的zoo.cfg配置檔案,zookeeper最初只有zoo.sample.cfg,將其改名為zoo.cfg,然後配置:

        起步階段只需考慮dataDir和clientPort屬性,

        參考別人的教程配置為:

# the directory where the snapshot is stored.

dataDir=/home/ibm/zookeeperinstall/data

# the port at which the clients will connect

clientPort=2222

最後因為我們要配置的是叢集,所以需要在zoo.cfg中新增

server.1=125.216.227.182:2888:3888

server.2=125.216.227.53:2888:3888

其中等號左邊1,2是代表這是第幾個zookeeper,也即機器的id,我們還需要在每臺機器上的data目錄下建立一個檔案myid,其內容即為其ip對應的id。等號右邊依次為機器ip,通訊埠,選舉leader埠(注:詳細的暫沒研究)。

三. HBase安裝配置

下載hbase-0.90.6.tar.gz,解壓到/home/ibm,並用mv修改其目錄名為hbase,

開始叢集配置:

1、修改conf/hbase-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

export HBASE_CLASSPATH=/home/ibm/hadoop/conf

export HBASE_MANAGES_ZK=false

2、修改hbase-site.xml,增加以下內容

<property>

    <name>hbase.rootdir</name>

    <value>hdfs://ibm:9000/hbase</value>(注:這裡須hadoop-config/core-site.xml中的fs.default.name保持一致,但是貌似必須要用ibm,而不能用ip地址,開始我用ip地址,後面看logs才發現是這裡出錯)

</property>

<property>

    <name>hbase.cluster.distributed</name>

    <value>true</value>

</property>

    <property>

      <name>hbase.zookeeper.property.clientPort</name>

      <value>2222</value>(注:這裡的埠需要和zookeeper的埠配置值一樣)

      <description>Property from ZooKeeper's config zoo.cfg.</description>

    </property>

3、把/home/frank/HadoopInstall/hadoop-config/hdfs-site.xml檔案拷貝至hbaseconf資料夾下

4、把${ZOOKEEPER_HOME}/conf/zoo.cfg拷貝至hbaseconf資料夾下

5、在conf/regionservers中新增hadoop-config/conf/slaves中所有的datanode節點。

6、刪除/hbase-0.90.2/lib/hadoop-core-0.20-append-r1056497.jar

拷貝/hadoop-0.20.2/hadoop-0.20.0-core.jar/hbase-0.90.2/lib/

7、最後,把配置好的hbase-0.20.2,拷貝到其它節點scp

到了這裡整個配置就完成了,在namenode上啟動hadoop叢集,接著在每臺機器上啟動zookeeper,最後啟動hbase,以./hbase/conf/hbase shell進入hbase的shell命令列,執行status檢視當前的狀態,如果命令可正常執行說明叢集配置成功。

四. 一個HBase的Java客戶端例項

(操作環境:window7,myeclipse)

(1)下載hbase-0.90.6-tar.gz

(2)建立一個java project——“HBaseClient”,將解壓得到的hbase-0.90.6.jar,hbase-0.90.6-tests.jar新增到build path。

(3)新建hbase-site.xml(拷貝你的同名hbase配置檔案過來也行),要將其新增到工程的classpath中,也即跟src平行,這是因為下面的程式碼中初始化配置使用的是HBaseConfiguration.create(),關於這個在hbase的api使用說明中有這麼一段註釋:“You need a configuration object to tell the client where to connect.When you create a HBaseConfiguration, it reads in whatever you've set into your hbase-site.xml and in hbase-default.xml, as long as these can be found on the CLASSPATH”。

完整的配置檔案為:

<configuration>
	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://125.216.227.182:9000/hbase</value>
	</property>
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	<property>
		<name>hbase.zookeeper.property.clientPort</name>
		<value>2222</value>
		<description>property from zookeeper zoo.cfg.</description>
	</property>
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>125.216.227.182,125.216.227.53</value>
	</property>
	<property skipInDoc="true">
		<name>hbase.defaults.for.version</name>
		<value>0.90.6</value>
	</property>
</configuration>

(4)新建類MyHBaseClient,在hbase中建立一個簡單的表dsinfo,完整程式碼為:

public class MyHBaseClient {
	
	private static 	Configuration conf = null;
	
	static {
		conf = HBaseConfiguration.create();
	}
	
	/**
	 * create table
	 * @param args
	 */
	public static void createTable(String tablename,String []cfs)throws IOException{
		HBaseAdmin admin = new HBaseAdmin(conf);
		if(admin.tableExists(tablename)){
			System.out.println("table has existed.");
		}
		else{
			HTableDescriptor tableDesc = new HTableDescriptor(tablename);
			for(int i=0;i<cfs.length;i++){
				tableDesc.addFamily(new HColumnDescriptor(cfs[i]));
			}
			admin.createTable(tableDesc);
			System.out.println("create table successfully.");
		}
	}
	
	public static void main(String []args){
	
		try{
			createTable("dsinfo", new String[]{"publish","mark"});
		}catch(IOException e){
			e.printStackTrace();
		}
		
	}
}
執行程式即可在hbase中建立dsinfo表。 (這裡可能出現的錯誤有:(1)hbase-site.xml檔案配置不對,這裡是需要新增zookeeper的地址資訊的,不然找不到hbase。(2)dns無法解析ibm,ibm00等我們叢集中的hostname,因為是在window上程式設計,所以需要將ip與hostname的資訊新增到window的hosts檔案中,否則會有dns無法解析的錯誤。) ./hbase/bin/hbase shell 進入hbase shell命令列,執行list即可看到: 小開心一下=。= (筆記是最好的學習方式,歡迎交流!!!)

相關推薦

hadoop+zookeeper+hbase安裝配置應用例項

出於種種原因,想要搭建一個小叢集,來搞搞資料處理。 實踐環境: ubuntu10.04+jdk1.6.20+hadoop-0.20.2+zookeeper3.3.4+hbase0.90.6 本來是準備好了三臺機器,結果後面一臺掛了,所以只有兩臺了=。= 機器名  

oracle em企業管理器的安裝配置相關問題

密碼 技術分享 分享 control spa alt .com 企業管理 gre 2017-05-10 一、配置ORACLE_UNQNAME環境變量 二、重建EM資料庫:emca -repos recreate 三、配置EM賬號密碼:DBSNMP、SYSMAN 四、配置EM

PHP安裝配置拓展總結

lin 底層 mcr 程序 off bug so庫 處理 why 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 PHP安裝、配置及拓展總結: 本篇文章主要總結的是PHP的安裝、配置、拓展庫的添加及驗證,實現平臺為Unix/Linux/Mac OS X

Nginx安裝配置使用總結

base 搭建 超時 refused splay ssl == 一個 document 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 Nginx的安裝、配置及使用總結: Nginx是一個高性能的HTTP及反向代理服務器,也是IMAP/POP3/

PHP安裝配置拓展

min 軟件 prefix ttl sum director core dev don 主要總結的是PHP的安裝、配置、拓展庫的添加及驗證,實現平臺為Unix/Linux/Mac OS X,這裏也包括日後的技術文章,只將PHP語言作為服務器端腳本和命令式腳本的使用進行總

Cscope安裝配置使用

ron pat str 虛擬機 含義 符號 設置 配置 es2017 安裝及配置 步驟一:設置Cscope: 一、下載 二、安裝 三、建立數據庫 首先在目錄下建立cscope索引文件 find `pwd` -name ‘*.c‘ -o -name ‘*.h‘> csc

maven安裝配置創建工程

lec 不能 前三 變量 lob users 網絡 無法 pla 準備工作 java開發環境(JDK) maven下載地址:http://maven.apache.org/release-notes-all.html 一、安裝 安裝maven

Ansible的安裝配置常用模塊介紹

touch cbc tor ext num using remove face 附加 Ansible的安裝、配置及常用模塊介紹 ansible安裝方式 1、 ansible安裝常用兩種方式,yum安裝和pip程序安裝 這裏提供二種安裝方式,任選一種即可: 1、使用yum

OpenVPN下載安裝配置使用詳解

原文:http://www.cnblogs.com/CakaSWM/p/5582236.html 一、目的: 通過雲伺服器的外網地址,將沒有外網的伺服器的埠地址轉發到外網,使其能夠通過外網進行訪問。 二、原理:   1.虛擬專用網VPN   虛擬專用網VPN(virt ual p

Centos6.10下Open-falcon微信郵件告警安裝配置使用

1 郵件告警 1.1 郵件告警元件安裝 使用官方提供的一個郵件閘道器(https://github.com/open-falcon/mail-provider)配置郵件報警 下載mail-provider並安裝 #下載 cd ~/open-falcon #我的工作目錄 wget h

JDK的下載安裝配置校驗 — 全程圖文詳細教程

JDK的下載、安裝、配置及校驗 — 全程圖文詳細教程 JAVA的學習和開發,必須安裝配置好JDK(java development kit java開發工具包)。Java的開發平臺主要分2類:Java SE是標準版,Java應用程式開發 Application;Java EE是企業版

InfluxDB原始碼編譯安裝配置主從同步實現

先扯點蛋 公司有個專案要求使用InfluxDB時序資料庫儲存點東西。第一次聽說還有這種資料庫,哈哈哈,孤陋寡聞了,先從各位大佬的部落格看起,慢慢學習,逐漸瞭解了之後在伺服器上進行安裝。直接使用官方包進行安裝很簡單,檢視官方說明即可。安裝之後使用才發現,開源的只支援單機版的,但是公司用不能

AndroidStudio2.3.3安裝配置NDKCmake配置遇到的問題彙總

##從入門到放棄系列## ###1、報錯 1.1 CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage    解決方法:在Module:app的build.gradle中新增: ndk{ a

zookeeper叢集安裝配置主要Shell操作

1.下載 http://apache.fayea.com/zookeeper/ 這裡選擇 stable 目錄下的版本,下載並上傳到 Linux。 解壓壓縮包到 /usr/local/ 目錄(注意許可權問題),並修改名稱為 zk,擁有者為登入使用者: 在 ~/.bashrc 檔

IDEA安裝配置解除安裝

2018-12-04  IDEA 安裝: 此處為最新版2018.3 官網下載地址:http://www.jetbrains.com/idea/download/#section=windows 雙擊下載的exe程式 點選next 選擇安裝地址

ubantu下redis安裝配置使用

ubantu源安裝 安裝/檢視版本資訊 apt install redis-server redis-server -version redis服務啟動/重啟/關閉/檢視狀態 service redis start service redis rstart s

RabbitMQ3.7.8在win10中的安裝配置使用

1、配套檔案 2、RabbitMQ服務端程式碼是使用併發式語言Erlang編寫的,安裝Rabbit MQ的前提是安裝Erlang,雙擊otp_win64_21.1.exe直接安裝,選擇預設配置即可,如果不安裝Erlang或安裝錯誤而直接安裝RabbitMQ會彈出

sublime安裝配置常用外掛(陸續補全中~)

  一、安裝sublime text3   網址:http://www.sublimetext.com/3 註冊碼:(sublime Text3漢化和啟用註冊碼) ----- BEGIN LICENSE ----- sgbteam Single User License E

Weblogic的安裝配置應用部署

Weblogic安裝 Linux下安裝過程 安裝環境: 作業系統: redhat-release-5Server-5.4.0.3 Weblogic版本: Weblogic 9.24   部署前準備: 建立webl

Sybase的安裝配置使用(一)

第一章 資料庫安裝 系統環境:作業系統:win7。資料庫 Sybase 12.5.3。 1.解壓ase1252_de_win.zip 2.進入目錄ase1252_de_win,點選setup.exe