首页 > 其他 > 详细

HBase 入门笔记-安装篇

时间:2017-01-26 17:22:14      阅读:214      评论:0      收藏:0      [点我收藏+]

一、前言
    接触HBase已近半年,从一无所知到问题的解决,在数据落地方面也有了一定的了解,在此记录这半年来碰到的一些问题和对一些数据落地方面的见解,本篇主要介绍一下hbase安装方面的信息

二、安装环境

    对于生产环境而言,一个hbase集群可能包含几百上千机器,集群必不可少的几个组件,如Zookeeper, Hbase, Hadoop等,其中Zookeeper一般是奇数台且独立部署,HBase方面主要包括Master结点和RegionServer结点,Hadoop方面包括NameNode和DataNode,在这里模拟生产环境部署,准备了三台机器,不过ZK是一起部署的,没有单独再隔离部署,同时一些配置也简化了,以尽量保持简单。

    机器方面,最好是硬件、OS保持一致,HBase和Hadoop方面,主要是版本要匹配,网上也有相应的说明,这里就不贴了。假设三台机器IP分别为:10.1.1.1,10.1.1.2,10.1.1.3 ,HBase版本是0.98.6.1, Hadoop版本是2.2.0, 部署机器对应关系如下

技术分享

 

    

三、安装步骤 

3.1 信任关系建立

    由于hbase集群需要通过ssh进行免密交互,所以master和namenode机器需要分别和RegionServer和DataNode建立SSH免密信任关系,关于SSH免密登陆,主要是两类OpenSSH和SSH2两种,要确认机器OS上是用的OpenSSH还是SSH2,我机器是用的OpenSSH, 并用如下脚本批量生成SSH KEY。

  

#!/usr/bin/python
# -*- coding: utf-8 -*-  
import sys,os
import paramiko


if len(sys.argv) > 1:
    username = sys.argv[1]
else:
    username = ‘root‘

home_dir = ‘/%(user)s‘%{‘user‘:username}
id_rsa_pub = ‘%s/.ssh/id_dsa.pub‘ %home_dir

if not  id_rsa_pub:
    print ‘id_rsa.pub Does not exist!‘
    sys.exit(0)

file_object = open(‘%s/.ssh/config‘ %home_dir ,‘w‘)
file_object.write(‘StrictHostKeyChecking no\n‘)
#file_object.write(‘UserKnownHostsFile /dev/null‘)
file_object.close()

def up_key(host,port,user,passwd):
    try:
        s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(host, port, user, passwd)

        t = paramiko.Transport((host, port))
        t.connect(username=user, password=passwd)
        sftp =paramiko.SFTPClient.from_transport(t)

        print ‘create Host:%s .ssh dir......‘ %host
        stdin,stdout,stderr=s.exec_command(‘mkdir ~/.ssh/‘)
        print ‘upload id_rsa.pub to Host:%s......‘ %host
        sftp.put(id_rsa_pub, "/tmp/temp_key1")
        #stdin,stdout,stderr=s.exec_command(‘ssh-keygen -f /tmp/temp_key -i >> ~/.ssh/authorized_keys‘)
        stdin,stdout,stderr=s.exec_command(‘cat /tmp/temp_key1 >> ~/.ssh/authorized_keys‘)
        stdin,stdout,stderr=s.exec_command(‘chmod -R g-w /data/home/mta/.ssh/‘)
        stdin,stdout,stderr=s.exec_command(‘rm /tmp/temp_key1‘)
        print ‘host:%s@%s auth success!\n‘ %(user, host)
        #logger.logger("%(h)s\t%(u)s"%{‘h‘:host,‘u‘:user})
        s.close()
        t.close()
    except Exception, e:
        import traceback
        traceback.print_exc()
        try:
            s.close()
            t.close()
        except:
            pass

def run():
    for line in open(‘ip.list‘):
    line = line.strip(‘\n‘)
        host,port,user,passwd = line.split(‘:‘)
        fullhost = "hbase-"+host.replace(".","-")
        up_key(host, int(port), user, passwd)
        up_key(fullhost, int(port), user, passwd)

if __name__ == ‘__main__‘:
    run()

  

    

 

HBase 入门笔记-安装篇

原文:http://www.cnblogs.com/ballwql/p/6351732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!