现在的位置: 首页 > 综合 > 正文

在centos上部署python+hbase

2013年08月07日 ⁄ 综合 ⁄ 共 1613字 ⁄ 字号 评论关闭

centos-5.4  + jdk-1.6 + hadoop-0.20.2 + hbase-0.90.2 + python-2.6

 

note:hbase-0.90.2 中自带zookeeper

 

  1. 在centos的配置文件(/etc/profile or ~/.bash_profile)中增加$JAVA_HOME,$HADOOP_HOME,$HBASE_HOME
  2. ln -s hadoop-0.20.2 hadoop; ln -s hbase-0.90.2 hbase
  3. 配置hadoop:
    • 配置ssh:生成rsa公钥和私钥文件(密码设为空较方便),将公钥加入到访问的机器的~/.ssh/authorized_keys中,当然要保证集群中每台机器是可连接的(iptables权限),如有问题,可在/var/log/secure中找到相应的日志
    • 修改hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves可满足基本的要求:
      在hadoop-env.sh的HADOOP_CLASSPATH中增加hbase的lib和conf,如:

      在core-site.xml中增加fs.default.name(hdfs的namenode,格式:hdfs://hostname:port,其中hostname在/etc/hosts中),mapred.job.tracker(mapred的trackernode,格式:hostname:port),dfs.name.dir(hdfs namespace),dfs.data.dir(hdfs data path),hadoop.tmp.dir,mapred.system.dir,dfs.replication。要注意的是hostname在hadoop中有命名规则,不能用"-"可以用"_"
      masters和slaves中分别入相应的master node 和slaves node 的hostname(或ip)
    • scp配置文件到所有的集群机器上
    • $HADOOP_HOME/bin/start-all.sh启动hdfs和mapreduce,$HADOOP_HOME/bin/hadoop dfsadmin -report或 查看http://namenode:50070和http://namenode:50030得到hdfs和mapreduce的集群运行情况
  4. 配置hbase:
    • 修改hbase-env.sh,将HBASE_MANAGES_ZK 设为true,将hadoop的conf和lib加入到$HBASE_CLASSPATH中
    • 修改hbase-site.xml,增加hbase.rootdir(hdfs://hostname:port/hbase,为hdfs的namenode),hbase.cluster.distributed(true),另外zookeeper的配置:hbase.zookeeper.property.clientPort(zookeeper的通讯端口),hbase.zookeeper.quorum,hbase.zookeeper.property.dataDir.
    • 修改regionservers,增加hbase region要存放的机器名(或ip)
  5. 安装thrift:
    下载:http://incubator.apache.org/thrift/download/
    安装后thrift --gen py $HBASE_HOME/*/Hbase.thrif(从$HBASE_HOME下查找到Hbase.thrif)生成python的hbase库,将其cp到python lib的site-packages下即可

抱歉!评论已关闭.