搭建hadoop+zookeeper+hbase集群完整步骤

在win7-64位宿主机上的centos-6.4上搭建伪分布式系统

当我们在vmware 上装好centos以后,下面开始为搭建集群做一些准备工作

首先在root用户下建立一个转门用户操作集群的用户hadoop

然后要建立一个与windows系统的共享文件,具体方法见http://www.cnblogs.com/Likyn/p/3640622.html

建好以后将hadoop.tar.gz,zookeeper.tar.gz,hbase.tar.gz减压在一个目录下面,下面开始配置集群

一.hadoop配置

1.配置network

 a.在终端下>setup

然后再弹出的对话框中依次选择network configuration-device configuration-eth0

name   eth0(自己定义一个名称)

device   eth0

static ip  (与宿主机的ip前三个一样,最后一位自己选一个数字,不能与宿主机重复)

netmask (与宿主机的网关一样)

最后保存退出

b.在终端下>vim /etc/sysconfig/network-script/ifcfg-eth0(要根据自己安装的目录名称,最后找到ifcfg-*,*与上面的name一致)

进入vi编辑器以后要看isboot 是否为yes,如果不是,改为yes

c.重启

service network restart

这样我们的网络环境就配好了

2.关闭防火墙(否则在远程ssh的时候容易出现错误)

利用下面的方法不能永久关闭,每次重启之后还要重新关闭

service iptables stop

setenforce 0

getenforce 

永久关闭防火墙方法

setup

进入图形用户界面以后选择system service

让后将iptables和ip6tables前面的*按空格键去掉

然后选ok退出

查看防火墙的状态

chkconfig  --list | grep iptables

3.修改主机名,设置映射关系

hostname   //查看主机名

hostname likyn    //将主机名改为likyn

vim etc/hosts

将1中设置的ip地址与3主机名添加在文本最后

如:

127.0.0……

::……

192.168.*.*   likyn

4.安装java并配置环境变量

a.查看当前Java版本信息如下:

]# java -version

java version "1.7.0_25"

Java(TM) SE Runtime Environment (build 1.7.0_25-b15)

Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) 

b.如果返回结果与上文相同,则进入到下一项。如果不同,需要安装新的Java包。这里安装的是jdk-7u25-linux-x64.rpm包。

安装方式如下:

]# rpm -ivh jdk-7u25-linux-x64.rpm

c.加入到系统变量,编辑/etc/profile文件。

]# vim /etc/profile

在文件最后加入

export CLASSPATH=/usr/java/jdk1.7.0_25/lib:/usr/java/jdk1.7.0_25/jre/lib:$CLASSPATH

export JAVA_HOME=/usr/java/jdk1.7.0_25

export PATH=/usr/java/jdk1.7.0_25/bin:/usr/java/jdk1.7.0_25/bin:$PATH

让/etc/profile生效

执行source /etc/profile

5.自动登陆ssh

 ssh-keygen -t rsa

然后一直enter,直到生成默认密码

ssh-copy-id ..(主机名)

ssh ..(主机名)

为authorized_keys分配权限700(可读可写可执行)

chmod 700 authorized_keys

6.配置集群

[hadoop@centos1 hadoop-2.0.0-cdh4.4.0]$ vim etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_25     
[hadoop@centos1 hadoop-2.0.0-cdh4.4.0]$ vim etc/hadoop/core-site.xml

<property>
<name>fs.defaultFS</name>                             //默认的文件系统为hdfs
<value>hdfs://centos1:9000</value>
</property>


[hadoop@centos1 hadoop-2.0.0-cdh4.4.0]$ vim etc/hadoop/hdfs-site.xml

<property>

<name>dfs.namenode.name.dir</name>                       //namenode
<value>file:///storage/dfsdata/name</value>
</property>

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

<value>file:///storage/dfsdata/data</value>
</property>

<property>
<name>dfs.replication</name>                               //配置副本度
<value>1</value>
</property>

<property>
<name>dfs.permission</name>
<value>false</value>
</property>

7启动集群

第一次启动要格式化分布式文件系统

bin/hdfs namenode -format

启动hadoop

sbin/start-all.sh

上面就是全部的配置过程

最后在网页上输入http://192.168.20.231(自己的ip):50070

二.zookeeper配置

创建data目录: ${ZOOKEEPER_HOME}/data
创建log目录: ${ZOOKEEPER_HOME}/logs
创建myid文件: ${ZOOKEEPER_HOME}/data/myid 内容为1

在bin目录下cp一个zoo.cfg,用vim打开zoo.cfg

dataDir修改为上面创建的data全路径

clientPort修改为想要的端口(默认是2181

最后加上

server.1=ip:8880:7770

因为我们只有一台机器所以只要写一个就可以了

三.hbase配置

1 配置/etc/profile,加入

export HBASE_HOME=hbase的安装目录

export PATH=$PATH:$HBASE_HOME/bin

最后/etc/profile文件的配置是

 

unset i
unset -f pathmunge

 

export ZOOKEEPER_HOME=/storage/zookeeper-3.4.5-chd4.4.0
export HBASE_HOME=/storage/hbase-0.94.6-cdh4.4.0
export HADOOP_HOME=/storage/hadoop-2.0.0-cdh4.4.0
export JRE_HOME=/usr/java/jdk1.7.0_25/jre
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=/usr/java/jdk1.7.0_25/lib:/usr/java/jdk1.7.0_25/jre/lib:$ZOOKEEPER_HOME/lib:$HBASE_HOME/lib:$CLASSPATH;
export PATH=/usr/java/jdk1.7.0_25/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH

为让它生效,执行source /etc/profile

2.修改hbase-site.xml文件

<configuration>

<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.20.232</value>
<description>The directory shared by RegioinServers.</description>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.20.232:9000/hbasedata</value>
<description>the directory shared by RegionServers.</description>
</property>
<property>
<name>hbase.master</name>
<value>192.168.20.232:6000</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/storage/zookeeper-3.4.5-cdh4.4.0</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>centos1</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>

3 修改 hbase-env.sh

 export JAVA_HOME=/usr/java/jdk1.7.0_25

 export HBASE_MANAGES_ZK=true;

 

 4。将hadoop/share/hadoop/common/lib/commons-configuration1.6.jar复制到hbase的lib下,否则在web上用60010端口的时候打不开网页

 5. 将hadoop/share/hadoop/mapreduce1/hadoop-core.jar复制到hbase下的lib下,删除原来的hadoop-core-0.20-append-r1056497.jar文件

四。启动服务

  先启动hadoop,然后是hbase

  /sbin/start-dfs.sh

 /bin/start-hbase.sh

查看进程jps

8444 HRegionServer
8193 HQuorumPeer
7588 DataNode
5894 NameNode
8554 Jps
8297 HMaster
5399 SecondaryNameNode

在网页上查看

http;//192.168.20.232:50070   #查看hadoop

http://192.168.20.232:60010   #查看hbase

成功!!

 

最后关闭hbase 在关闭hadoop

bin/stop-hbase.sh

sbin/stop-all.sh

 

 

 

 

posted @ 2014-04-02 10:44  likyn  阅读(788)  评论(0编辑  收藏  举报