设为首页 收藏本站
查看: 2267|回复: 5

[经验分享] FreeBSD下安装配置Hadoop集群(Hive)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-10-30 08:52:44 | 显示全部楼层 |阅读模式
接以前hadoop安装的文章,Hive是什么就不介绍了,网上一大堆。主要介绍在FreeBSD下的安装配置和跟Linux的异同以及几种Metastore的配置方式。




Hive在FreeBSD的安装配置上,跟Linux的差别不是很大,主要要注意一个shell的问题,FreeBSD下默认是没有bash的,所以需要先安装一个bash上去才可以正常的使用Hive。



主要说说配置Metastore的部分。



Hive目前比较流行的有三种数据库当元数据管理的方式,mysql,pgsql,derby。derby属于hive默认安装就带的,无需配置,直接把hive解压缩就可以了。mysql和pgsql是目前使用最广泛的数据库。但是实际上,只要理解了hive对metastore的访问,就可以知道,只要是可以支持JDBC的关系型数据库,都可以当元数据的管理。比如Oracle或者SQL Server也可以用来存储元数据的关系表。只要你有这种JDBC的驱动就可以了。



先说下postgreSQL吧,要使用pgsql的话,当然你需要一个能够正常访问的pgsql,以及正常的访问权限。以下示例数据库名和用户名密码我都用hive,这个自己安装的时候修改一下就好了。



默认的hive从apache下载下来,解压缩之后需要设置一下环境变量HADOOP_HOME和JAVA_HOME,这个是由于hive是hadoop之上封装的应用,相当于一个扩展工具,所以对HDFS和map/reduce访问都需要使用hadoop的接口。



PostgreSQL:



需要先从这个地址下载对应你pgsql版本的jdbc驱动

http://jdbc.postgresql.org/download.html



然后将jar包放到$HIVE_HOME/lib/,就可以了。



将默认的hive-default.xml.template复制一份并改名为hive-site.xml,编辑这个文件,将下列部分是默认的derby访问,需要注释掉:



几种数据库配置形式是一样的。





<!--<property>
     <name>javax.jdo.option.ConnectionURL</name>         
     <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
     <description>JDBC connect string for a JDBC metastore</description>   
</property>
<!--上下两段可能不在一起,需要查找一下-->
<property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>org.apache.derby.jdbc.EmbeddedDriver</value>
     <description>Driver class name for a JDBC metastore</description>        
</property>
<property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value></value>                                                                                         
     <description>username to use against metastore database</description>
</property>   

<property>
     <name>javax.jdo.option.ConnectionPassword</name>   
     <value></value>                                                               
     <description>password to use against metastore database</description>
</property>-->



然后放入以下内容





<property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:postgresql://127.0.0.1:5432/hive?</value>
     <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>org.postgresql.Driver</value>
     <description>Driver class name for a JDBC metastore</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hive</value>
     <description>username to use against metastore database</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>hive</value>
     <description>password to use against metastore database</description>
</property>

这样就可以了,当你启动一个hive-cli,hive会自动创建相关的表。



然后是mysql的配置,需要注释的部分是一样的。

需要去

http://www.mysql.com/downloads/mirror.php?id=404191

下载mysql的connect J,解压缩,并提取出mysql-connector-java-5.1.18-bin.jar,放到$HIVE_HOME/lib/下。





<property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value>
     <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
     <description>Driver class name for a JDBC metastore</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hive</value>
     <description>username to use against metastore database</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>hive</value>
     <description>password to use against metastore database</description>
</property>

然后运行hive-cli会自动创建相关的表。



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



接下来是Oracle当metastore的配置





<property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:oracle:thin:@127.0.0.1:1521:hive;create=true</value>
        <!--OCI8连接方式未验证-->
     <description></description>
</property>

<property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>oracle.jdbc.driver.OracleDriver</value>         
     <description>Driver class name for a JDBC metastore</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hive</value>                                                            
     <description>username to use against metastore database</description>
</property>

<property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>hive</value>
    <description>password to use against metastore database</description>
</property>



还有就是比较另类的SQL Server当metastore。





<property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value>jdbc:sqlserver://10.8.0.205:1433; DatabaseName=hive</value>
         <description></description>
</property>

<property>
         <name>javax.jdo.option.ConnectionDriverName</name>
         <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>                 
         <description>Driver class name for a JDBC metastore</description>
</property>

<property>
         <name>javax.jdo.option.ConnectionUserName</name>
         <value>hive</value>                                                                                                                        
         <description>username to use against metastore database</description>
</property>

<property>
         <name>javax.jdo.option.ConnectionPassword</name>
         <value>hive</value>
        <description>password to use against metastore database</description>
</property>

然后赘述一句,hive只要你保存了metastore,就可以正常的使用hive-cli,但是,如果你需要远程其他程序连接hive,就需要启动hiveserver模式,hiveserver其实是启动了一个hive的Thrift server。这是我认为hive跟传统型数据库差异比较大的一点。事实上,严格的说,hive并不能算是一个数据库,他只是一个语言转换器,把sql语言翻译成map/reduce的方式,所以他不需要具备常规数据库所必需的C/S模式。



另外,启动hive不需要hadoop进程的支持,但是需要hadoop的文件,也就是说,你只要把hadoop的文件丢在那里能正常连接hdfs就可以了,然后为hive指定HADOOP_HOME就可以使用了,不需要启动任何hadoop的进程。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-10066-1-1.html 上篇帖子: FreeBSD下安装配置Hadoop集群(四) 下篇帖子: FreeBSD下安装配置Hadoop集群(性能调优)

尚未签到

发表于 2013-11-12 14:16:28 | 显示全部楼层
我是个凑数的。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-11-30 06:08:34 | 显示全部楼层
尽管已经好久彼此之间没有什么关系了,但见面还是会心动

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-14 01:15:37 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-23 05:59:46 | 显示全部楼层
写的真的很不错

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-30 01:30:30 | 显示全部楼层
如果我的真诚对你来说是种谎言的话,那我宁愿选择沉默

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表