环境
hadoop2.7.1+ubuntu 14.04
hive 2.0.1
集群环境
hadoop怎么运行jar包。namenode节点:master (hive服务端)
datanode 节点:slave1,slave2(hive客户端)
hive建立在hadoop的HDFS上,搭建hive前,先需搭建hadoop
远程模式:
101.201.81.34(Mysql server meta server安装位置)
centos安装hadoop。一、101.201.81.43
该主机上安装好mysql,并且建立一个hive数据库
(要开启远程访问)
二、在master上安装hive
1.安装hive
hadoophive版本对应、1)在apache官网上下载hive-2.1.0包
2)sudo tar -zxvf apache-hive-2.1.0-bin.tar.gz
3)sudo cp -R apache-hive-2.1.0-bin /home/cms/hive
4)chmod -R 775 /home/cms/hive
5)sudo chown -R cms /home/cms/hive
配置hadoop?2.修改/etc/profile加入HIVE_HOME的变量
HIVE_HOME/PATH/CLASSPATH
我粘贴的是我所有的配置
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64export HADOOP_HOME=$HOME/hadoop-2.7.1export HIVE_HOME=$HOME/hiveexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$HIVE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATHexport HADOOP_MAPARED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
source /etc/profile
3.修改hive/conf下的几个template模板并重命名为其他
hadoop在eclipse?cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
配置hive-env.sh文件,指定HADOOP_HOME安装位置 HADOOP_HOME=$HADOOP_HOME/hadoop-2.7.1
4.修改hive-site.xml文件,指定MySQL数据库驱动、数据库名、用户名及密码,修改的内容如下所示
javax.jdo.option.ConnectionURLjdbc:mysql://101.201.81.34:3306/hive?createDatabaseIfNotExist=trueJDBC connect string for a JDBC metastorejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverDriver class name for a JDBC metastorejavax.jdo.option.ConnectionUserNamerootusername to use against metastore databasejavax.jdo.option.ConnectionPasswordadminpassword to use against metastore database
其中:javax.jdo.option.ConnectionURL参数指定的是Hive连接数据库的连接字符串;
sparkhive与hadoop、javax.jdo.option.ConnectionDriverName参数指定的是驱动的类入口名称;
javax.jdo.option.ConnectionUserName参数指定了数据库的用户名;javax.jdo.option.ConnectionPassword参数指定了数据库的密码。
5.缓存目录的问题,如果不配置也会出错的
hive.exec.local.scratchdir/opt/hivetmpLocal scratch space for Hive jobshive.downloaded.resources.dir/opt/hivetmpTemporary local directory for added resources in the remote file system.
并且需要对目录进行权限设定mkdir -p /opt/hivetmp chmod -R 775 /opt/hivetmp
6.下载mysql-connector-java-5.1.30-bin.jar文件,并放到$HIVE_HOME/lib目录下
Hive和Hadoop关系?可以从Mysql的官方网站下载,但是记得一定要解压呀,下载的是一个tar.gz文件,解压后为jar文件
7.hive表存储在在HDFS中的/user/hive/warehouse中
三、slave2建立hive客户端
1.将master上的整个hive目录移至slave2上
scp -r hive slave2:/home/cms
hadoop内的hive、注意要关闭防火墙
sudo ufw disable
2.修改slave2下的hive-site配置文件,内容如下:
hive.metastore.uris
thrift://master:9083
centos7安装hadoop。 Thrift uri for the remote metastore. Used by metastore client to connect to remote metastore.
hive.metastore.warehouse.dir
hdfs://hive/warehouse
修改/etc/profile,与master配置一致
四、启动
hadoop安装java环境?1.进入之前要初始化数据库(master节点)
schematool -initSchema -dbType mysql
2.hive启动
cms@master:~$ schematool -initSchema -dbType mysqlSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in 1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]Metastore connection URL: jdbc:mysql://101.201.81.34:3306/hive?createDatabaseIfNotExist=trueMetastore Connection Driver : com.mysql.jdbc.DriverMetastore connection User: rootStarting metastore schema initialization to 2.1.0Initialization script hive-schema-2.1.0.mysql.sqlInitialization script completedschemaTool completed```2.hive启动要启动metastore服务在master上执行hive --service metastore &[cms@master ~]$ jps10288 RunJar #多了一个进程9365 NameNode9670 SecondaryNameNode11096 Jps9944 NodeManager9838 ResourceManager9471 DataNod
3.测试hive shell(服务端,客户端都可)
hiveshow databases;show tables;查看hive表dfs -ls /user/hive/warehouse
点赞和转发是最大的支持~
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态