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

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

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

然后要建立一个与windows系统的共享文件,具体方法见

建好以后将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

zookeeper hbase 元数据 namespace zookeeper hbase hadoop_hadoop

http://192.168.20.232:60010   #查看hbase

zookeeper hbase 元数据 namespace zookeeper hbase hadoop_hadoop_02

成功!!

 

最后关闭hbase 在关闭hadoop

bin/stop-hbase.sh

sbin/stop-all.sh