Hadoop+Flume+Kafka+Zookeeper叢集環境搭建

1.部署基礎條件

1.1 硬體條件

IP

hostname

192.168.100.103

mater

192.168.100.104

flumekafka1

192.168.100.105

flumekafka2

192.168.100.106

flumekafka3

注意:修改hostname的方法是:

(1)       vim /etc/hostname

(2)       將localhost改成您所需要的內容

1.2 修改ssh

在master機器上執行下面的命令:

$ ssh -keygen -t dsa -P ''  -f  ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys flumekafka1 ~/.ssh/ 
scp ~/.ssh/authorized_keys flumekafka2 ~/.ssh/

scp ~/.ssh/authorized_keys flumekafka1 ~/.ssh/

注意:
(1)若提示.ssh目錄不存在,則表示此機器從未執行過ssh,因此執行一次即可建立.ssh目錄。(2).ssh/的許可權為600,authorized_keys的許可權為700,許可權大了小了都不行。

1.3 JAVA環境變數的配置

l  下載jdk(版本是:jdk-1.7.0_80)

l  將jdk的壓縮包解壓到/home/bms目錄下

l  配置環境變數

1)  vim /etc/profile

2)  新增如下內容

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0._80

export JRE_HOME=${ JAVA_HOME }/jre

export CLASSPATH=.:${ JAVA_HOME }/lib: ${ JRE_HOME}/lib

export PATH=${ JAVA_HOME }/bin

3)  儲存檔案

注意:上述四臺虛擬機器要進行同樣的配置

1.4 安裝hadoop

l  下載hadoop-2.6.0

l  hadoop的壓縮包解壓到/home/bms目錄下,解壓命令式:tar -zxvf hadoop-2.6.0.tar.gz

l  配置hadoop的環境變數

按著配置JAVA環境變數的方法在/etc/profile中新增如下內容:

exportHADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

exportHADOOP_OPTS=”-Djava.library.path=$HADOOP_HOME/lib”

export HADOOP_HOME=/home/bms/Hadoop-2.6.0

exportPATH=$PATH:$HADOOP_HOME/bin

1.5 hadoop相關配置

注意:相關的配置檔案都在/home/bms/Hadoop-2.6.0/etc/hadoop下面

l  配置hadoop_env.sh

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_80

l  配置core-site.xml

<property>

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

   <value>/root/Hadoop/tmp</value>

   <description>Abase for other temporarydirectories.</description>

</property>

<property>

   <name>fs.defaultFS</name>

   <value>hdfs://master:9000</value>

</property>

<property>

    <name>io.file.buffer.size</name>

    <value>4096</value>

</property>

l  配置hdfs-site.xml

<property>

   <name>dfs.replication</name>

    <value>3</value>

</property>

<property>

    <name>dfs.data.dir</name>

    <value>/root/hadoop/hdfs/data</value>

</property>

<property>

    <name>dfs.name.dir</name>

    <value>/root/hadoop/hdfs/name</value>

</property>

l  配置mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<final>true</final>

</property>

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>master:50030</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

<property>

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

<value>http://master:9001</value>

</property>

l  配置yarn.xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

    </property>

    <property>

       <name>yarn.resourcemanager.webapp.address</name>

       <value>master:8088</value>

</property>

l  配置slaves檔案

flumekafka1 

flumekafka2 

flumekafka3

1.6 將master上/home/bms/Hadoop-2.6.0整個檔案分別拷貝到三個slave虛擬機器上面

1.7 格式化namenode

master虛擬機器上執行如下操做:

l  Cd /home/bms/Hadoop-2.6.0/bin

l  hadoop namenode -format

1.7 啟動hadoop

master虛擬機器上執行如下操做:

l  cd /home/bms/Hadoop-2.6.0/sbin

l  ./start-all.sh

1.8 檢視java程序

1)在master上操做如下命令

$ jps
3694 NameNode
3882 SecondaryNameNode
7216 Jps
4024 ResourceManager

2)在slave上執行如下操作

$ jps
1913 NodeManager
2673 Jps
1801 DataNode

Hbase與zookeeper叢集部署的步驟

1.部署基礎條件

1.1 硬體條件

IP

hostname

192.168.100.103

mater

192.168.100.104

flumekafka1

192.168.100.105

flumekafka2

192.168.100.106

flumekafka3

1.2 下載hbase-0.98.13-hadoop2的安裝包

1.3 將hbase的壓縮包解壓到master的/home/bms目錄下

1.4 配置hbase的環境變數

1)在master上做如下操作

l  Vim /etc/profile

l  在上述檔案中新增如下內容:

Export PATH=$PATH:/home/bms/hbase-0.98.13-hadoop2/bin

2)在所有的slave上做與master上一樣的操作

1.5 配置hbase

1)cd /home/bms/hbase-0.98.13-hadoop2/conf

2)在hbase-env.sh檔案中新增如下內容

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_80

export HBASE_MANAGES_ZK=false

3)在hbase-site.xml檔案中新增如下內容

<configuration>

  <property>

    <name>hbase.rootdir</name>

   <value>hdfs://master:9000/hbase</value>

  </property>

  <property>

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

<value>true</value>

  </property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>flumekafka1,flumekafka2, flumekafka3</value>

</property>

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

</property>

<property>

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

    <value>/home/bms/zookeezookeeper-3.4.5/zookeeper-data</value>

</property>

<property>

<name>hbase.master</name>

<value>master</value>

</property>

</configuration>   

4)在regionservers檔案中新增如下內容

flumekafka1
flumekafka2
flumekafka3

1.6 將master上/home/bms/hbase-0.98.13-hadoop2整個檔案拷貝到其餘的三個slave機器上面。

1.7 zookeeper部署

1)下載zookeeper安裝檔案(zookeeper-3.4.5壓縮包)

2)將zookeeper-3.4.5壓縮包加壓到flumekafka1虛擬機器的/home/bms目錄下

3)配置zookeeper環境變數

l  vim /etc/profile

l  在上述檔案中新增如下內容

export  ZOOKEEPER_HOME=/home/bms/zookeeper-3.4.5

export PATH=$PATH:${ZOOKEEPER_HOME }/bin

4)將/home/bms/zookeeper-3.4.5/conf/ 目錄下的zoo_sample.cfg 改名成 zoo.cfg操作命令是:

l  cd /home/bms/zookeeper-3.4.5/conf

l  mv zoo_sample.cfg  zoo.cfg

5)修改zoo.cfg檔案內容如下

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can passbetween 
# sending a request and getting anacknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/bms/zookeeper-3.4.5/zookeeper-data
# the port at which the clients will connect
clientPort=2222
server.1=flumekafka1:2888:3888
server.2= flumekafk21:2888:3888
server.3= flumekafka3:2888:3888

6)分別在將flunekafka1上/home/bms/zookeeper-3.4.5整個目錄拷貝到另外兩臺slave虛擬機器上

注意:最後記得在部署zookeeper的節點上的/root/zookeeper/zookeeper-data的目錄下新建一個myid檔案裡寫上zoo.cfg檔案對應的server號碼,flumekafka1寫1,flumekafka2寫2,flumekafka3寫3,這樣基本就完成了zookeeper的配置了。

7)分別在三臺slave機器上執行下面的操作

l  cd /home/bms/zookeeper-3.4.5/bin

l  zookeeper/bin/zkServer.sh start

8)     分別在三臺slave機器上執行下面的操作

l  zookeeper/bin/zkServer.sh status(驗證zookeeper的啟動狀態)

9)在master上面執行下面的命令

l  cd /homehbase/bin/start-hbase.sh

FlumeNG部署的步驟

1.1    下載FlumeNG

1.2    下載FlumeNG

將下載的安裝包解壓到master/home/bms目錄下

l  apache-flume-1.6.0-bin.tar.gz拷貝到/home/bms目錄下面

l  執行tar -zxvf apache-flume-1.6.0-bin.tar.gz

1.3    下載FlumeNG

關於flume的相關配置和執行方式請檢視個人部落格:http://l=blog.csdn.net/xuguokun1986

Kafka與zookeeper部署的步驟

關於kafka的相關配置和執行方式請檢視個人部落格:http://l=blog.csdn.net/xuguokun1986