Hadoop+HBase+Hive如何实现完全分布式部署-成都快上网建站

Hadoop+HBase+Hive如何实现完全分布式部署

这篇文章主要介绍了Hadoop+HBase+Hive如何实现完全分布式部署,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

目前创新互联已为上千家的企业提供了网站建设、域名、虚拟主机网站托管、企业网站设计、淅川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

完全分布式Hadoop + HBase + Hive 部署过程的的一些问题。

NameNode: 192.168.229.132

DataNode: 192.168.229.133/192.168.229.134

--------------------------------------------------------------------------------

配置 Hadoop

无密码SSH

首先是NameNode需要通过ssh来访问DataNode,配置一个无密码的ssh

NameNode上生成公钥私钥

$ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

把公钥放到tmp目录,并且scp到每一个DataNode

$cp ~/.ssh/id_dsa.pub /tmp

在NameNode和DataNode都执行这个,完成配置

$cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys

配置文件 (其中涉及到的目录会自动创建)

conf/hadoop-env.sh

# The Java implementation to use.  Required. 
export JAVA_HOME=/usr/jdk1.6.0_25

conf/core-site.xml  (如果要使用Hive,就需要把红色的IP改成主机名,否则会有Wrong FS错误)

 
   
     
    fs.default.name 
    hdfs://192.168.229.132:9000 
 
 
    
   
    hadoop.logfile.size 
    10 
 
  

conf/hdfs-site.xml

 
   
     
    dfs.name.dir 
    /u01/app/data/dfs.name.dir 
 
 
   
     
    dfs.data.dir 
    /u01/app/data/dfs.data.dir 
 
 

conf/mapred-site.xml

 
   
     
    mapred.job.tracker 
    192.168.229.132:9001 
 
 
   
     
    mapred.system.dir 
    /u01/app/data/mapred.system.dir 
 
 
   
     
    mapred.local.dir 
    /u01/app/data/mapred.local.dir 
 
 

主从配置

conf/masters

192.168.229.132

conf/slaves

192.168.229.133

192.168.229.134

在NameNode进行了所有的配置之后,通过scp把hadoop安装目录同步到DataNode。然后在NameNode进行格式化和启动。

--------------------------------------------------------------------------------

配置 Hbase

$vi /etc/hosts (HBase使用机器名称,在hosts里面必须配置集群里面的机器) 
127.0.0.1    localhost 
192.168.229.132    ubuntu02 
192.168.229.133    ubuntu03 
192.168.229.134    ubuntu04

conf/hbase-env.sh (这里)

# The Java implementation to use.  Java 1.6 required. 
export JAVA_HOME=/usr/jdk1.6.0_25

# Extra Java CLASSPATH elements.  Optional. 
export HBASE_CLASSPATH=/u01/app/hadoop/conf

# Tell HBase whether it should manage it's own instance of Zookeeper or not. 
export HBASE_MANAGES_ZK=true

conf/hbase-site.xml (红色部分必须使用主机名称,其他部分可以使用IP)

 
   
    hbase.rootdir 
    hdfs://ubuntu02:9000/u01/app/data/hbase 
 
 
   
    hbase.cluster.distributed 
    true 
 
 
    
    hbase.master  
    hdfs://192.168.229.132:60000  
 
  
   
    hbase.zookeeper.quorum 
    192.168.229.132, 192.168.229.133, 192.168.229.134 
 
 

conf/regionservers (和Hadoop的slaves文件一致) 
192.168.229.133 
192.168.229.134

通过scp把hbase安装目录同步到DataNode

----------------------------------------------------------------------------------------------

配置 Hive

MySQL存储元数据 (安装过程见这里)

创建数据库的时候,必须使用latin1作为字符集,否则会有错误信息Specified key was too long; max key length is 767 bytes

mysql> create database hivedb default character set latin1; 
mysql> create user 'hive'@'localhost' identified by 'hive'; 
mysql> grant all on hivedb.* to 'hive'@'localhost';

Hive 配置信息 (Hive仅需要在Master节点安装配置即可)

bin/hive-config.sh (可以设置 .profile 文件来略过这步) 
export JAVA_HOME=/usr/jdk1.6.0_25 
export HIVE_HOME=/u01/app/hive 
export HADOOP_HOME=/u01/app/hadoop

conf/hive-site.xml 
 
  javax.jdo.option.ConnectionURL  
  jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true 
  JDBC connect string FOR a JDBC metastore 
 
  
  javax.jdo.option.ConnectionDriverName  
  com.mysql.jdbc.Driver 
  Driver class name FOR a JDBC metastore
 
  
  javax.jdo.option.ConnectionUserName  
  hive 
  username TOUSE against metastore database 
 
 
  javax.jdo.option.ConnectionPassword  
  hive 
  password TOUSE against metastore database 

MySQL 驱动包

下载mysql-connector-java-5.1.18-bin.jar文件,并放到$HIVE_HOME/lib目录下

测试

hadoop@ubuntu02:/u01/app/hive$ bin/hive 
Logging initialized using configuration in jar:file:/u01/app/hive-0.8.1-bin/lib/hive-common-0.8.1.jar!/hive-log4j.properties 
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201203201733_2122821776.txt 
hive> show tables; 
OK 
tb 
Time taken: 2.458 seconds 
hive>

感谢你能够认真阅读完这篇文章,希望小编分享的“Hadoop+HBase+Hive如何实现完全分布式部署”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网站名称:Hadoop+HBase+Hive如何实现完全分布式部署
分享地址:http://kswjz.com/article/gocsoi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流