Centos6.4-Hadoop1.2.1-Hbase-0.95.2 配置分布式服务器

转发请说明出处    http://blog.csdn.net/ligy2005/article/details/12112455
由于自己搭建 所以 没有 cloudera manager   快 但是 cloudera manager 架起来 对一两个 机器 负担 还是 有点 大   管理类和监控类工具过多  导致 使用内存 量  很大   


废话不多说了直接开始   


我的是64位  所以纠结了一阵  


Centos6.4 x86-64 安装就不说了  


两台机器 


192.168.1.117 hadoop.first


192.168.1.118 hadoop.second


需要无密码直接登陆 配置  这配置 网上有很多  但是我只配置出来 root的 无密码登陆  


JDK 需要 1.6.0_45 64位


hadoop-1.2.1-bin.tar.gz  下载下来     http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/


{CSDN:CODE: # tar zxvf hadoop-1.2.1-bin.tar.gz }


hbase-0.95.2-hadoop1-bin.tar.gz      http://mirror.esocc.com/apache/hbase/hbase-0.95.2/


{CSDN:CODE: # tar zxvf hbase-0.95.2-hadoop1-bin.tar.gz }
配置文件


# vi  /etc/profile
#JDK


JAVA_HOME=/tarfile/jdk1.6.0_45
JRE_HOME=/tarfile/jdk1.6.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#HADOOP
export HADOOP_DEV_HOME=/tarfile/hadoop-1.2.1
export PATH=$PATH:$HADOOP_DEV_HOME/bin
#HBASE
export HBASE_HOME=/tarfile/hbase-0.95.2-hadoop1
export PATH=$PATH:$HBASE_HOME/bin
zookeeper 用的是Hbase 自带的


下面是hadoop 配置


core-site.xml


<property>
   <name>hadoop.tmp.dir</name>
   <value>/hadoop/hdtemp</value>
   <description>A base for other temporary directories.</description>
</property>
<property>
   <name>fs.default.name</name>
   <value>hdfs://hadoop.first:8250/</value>
</property>
hadoop tmp  目录 修改了  如果不改 重启centos 数据就没有了
namenode  端口号  8250 在hadoop.first  这台机器上




hadoop-env.sh
这个文件 需要 


export JAVA_HOME=/tarfile/jdk1.6.0_45   


导入之后  就在这个目录下的 jdk 上  启动 hadoop  




hdfs-site.xml
hdfs 文件系统文件配置


<property>
<name>dfs.name.dir</name>
<value>/hadoop/temp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/temp/dfs/data</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>
<property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
</property>
dfs.name.dir


存放namenode 的数据元文件


dfs.data.dir
存放HDFS 数据文件


dfs.replication
有几台分布式机器


dfs.datanode.max.xcievers


datanode所允许同时执行的发送和接受任务的数量,此项可以导致内存不足




mapred-site.xml


JobTracker 的配置




<property>
  <name>mapred.job.tracker</name> 
        <value>hadoop.first:49001</value>
</property>
<property>  
        <name>mapred.local.dir</name>
        <value>/hadoop/mapred</value>
</property>
mapred.job.tracker


JobTracker  服务的机器和端口  使用的是hadoop.first 主机  端口 49001


mapred.local.dir


存储 MapReduce 中间数据




下面 是配置 主机和 副机的两个配置文件


masters  master机     192.168.1.117
slaves     datanode机      


192.168.1.117  


192.168.1.118
# vi /etc/hosts
192.168.1.117 hadoop.first
192.168.1.118 hadoop.second
这里添加上 hadoop两个机器的  地址


hadoop 配置完成


# cd  /tarfile/hadoop1.2.1/bin
进入 hadoop bin 目录


执行  


# service iptables stop
# ./start-all.sh
没有修改 防火墙 所以每次 重启 完 centos  都要关闭一下


hadoop 启动了


# jps
jps 一下 


192.168.1.117 主机


2882 NameNode
3302 TaskTracker
17536 Jps
2987 DataNode
3104 SecondaryNameNode
3186 JobTracker


192.168.1.118 副机


2836 DataNode
11900 Jps
2910 TaskTracker


服务启动了 


192.167.1.117:50030  Master  界面


192.167.1.117:50070 NameNode  界面


hadoop dfsadmin -report  看下 有没有报错 


一般也就是防火墙 没有关闭   副机 服务起不起来  


Hbase 配置


hbase etc/profile 已经在 前面就配置了 现在就直接进入 conf  吧


hbase-env.sh


导入jdk路径


export JAVA_HOME=/tarfile/jdk1.6.0_45




<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop.first:8250/hbase/data</value>
    <description>The directory shared byRegionServers.
    </description>
  </property>
<property>
    <name>hbase.master</name>
    <value>hadoop.first:60000</value>
</property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>The mode the clusterwill be in. Possible values are
      false: standalone and pseudo-distributedsetups with managed Zookeeper
      true: fully-distributed with unmanagedZookeeper Quorum (see hbase-env.sh)
    </description>
  </property>
    <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2222</value>
      <description>Property fromZooKeeper's config zoo.cfg.
      The port at which the clients willconnect.
    </description>
    </property>
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>hadoop.first,hadoop.second</value>
      <description>Comma separated listof servers in the ZooKeeper Quorum.
      For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
      By default this is set to localhost forlocal and pseudo-distributed modes
    of operation. For a fully-distributedsetup, this should be set to a full
    list of ZooKeeper quorum servers. IfHBASE_MANAGES_ZK is set in hbase-env.sh
      this is the list of servers which we willstart/stop ZooKeeper on.
      </description>
    </property>
    <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/hadoop/zookeeper</value>
      <description>Property fromZooKeeper's config zoo.cfg.
                   The directory where the snapshot isstored.
      </description>
    </property>


hbase.rootdir 
hbase 的数据存储地方  存在了192.168.1.117 上  /hbase/data 下面


hbase.master


Hmaster 的启动 端口  和机器   192.168.1.117:60000


hbase.cluster.distributed


这个为true  是 用hbase 自带的 zookeeper  false 需要自己安装 zookeeper 


hbase.zookeeper.property.clientPort


zookeeper 的 客户端 连接时的  端口


hbase.zookeeper.quorum


启动zookeeper 的机器    我配置的是  192.168.1.117 和 192.168.1.118


hbase.zookeeper.property.dataDir


ZooKeeper保存数据的目录


regionservers  配置此文件 


hadoop.first


hadoop.second


hbase 配置完成  两台机器配置 需要一致


hbase 可能有点兼容问题  


log 日志 工具 jar 包冲突 但是 不影响  运行


为了 能让 hadoop 和hbase  兼容  


把hadoop下  hadoop-core-1.2.1.jar  放到  hbase 的lib 下   并修改  原来的   hadoop-core-1.1.2.jar   为 hadoop-core-1.1.2.jar.backup


其他问题还木有 遇到  


然后进入 bin 目录


# ./start-hbase.sh
再看看进程
192.168.1.117  主机  hadoop.first
2882 NameNode
3302 TaskTracker
7911 HMaster
2987 DataNode
8065 HRegionServer
18641 Jps
3104 SecondaryNameNode
3186 JobTracker
7851 HQuorumPeer


192.168.1.118 副机  hadoop.second
4469 HRegionServer
2836 DataNode
4389 HQuorumPeer
11900 Jps
2910 TaskTracker


HQuorumPeer  就是zookeeper  的进程 


注意事项


Hbase 的hbase.rootdir  路径  hdfs://hadoop.first:8250/hbase/data
Hadoop 的 fs.default.name  路径  hdfs://hadoop.first:8250/


这两个 配置项 路径可以不一样  但是 端口 必须一样  要不然  Hmaster  启动起来  过一会 就自动 结束了




为了同步 副机的文件 有个快捷方法   


scp -r  路径/文件  192.168.1.118:/目标路径

你可能感兴趣的:(hadoop,hbase)