hive-1.2.1配置hiveserver2
2016-07-06 15:51
281 查看
参考:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4222978&uid=20682147
安装好hive之后
拷贝4个文件:
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
HADOOP_HOME=/home/hadoop/app/hadoop
hive.log.dir=/data/hadoop/hive/logs
然后创建好目录/data/hadoop/hive/logs。
hive.log.dir=/data/hadoop/hive/logs/exec
然后创建好目录/data/hadoop/hive/logs/exec
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://zhangge: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>zhangge</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>zhangge</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.hwi.listen.host</name>
<value>zhangge</value>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-1.2.1.war</value>
</property>
<property>
1) 初始化metastore
有关 hive.metastore.schema.verification 版本检查的问题,有三个解决办法
方法一:安装配置好后,在启动Hive服务端之前,需要在服务端执行一次“schematool -dbType mysql -initSchema”,以完成对metastore的初始化。(我采用的方法一)
方法二:修改配置文件
第一次运行前先将 hive.metastore.schema.verification 设为false
XHTML
方法三:不改配置,先初始化好数据执行初始化命令:
查看初始化后的信息:
详见:https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool以上方法都可以,否则第一次运行时会类似如下的报错信息:
参考http://www.micmiu.com/bigdata/hive/hive-default-setup/
&符号表示后台运行(作为守护进程运行),可以去掉2),3)步骤中的&符号,
但执行时需要两个命令窗口,每一个窗口中用<Ctrl>-c停止对应的服务.
建议执行命令时去掉&符号,因为可以用<Ctrl>-c停止对应的服务.
我安装情况发现后台启动使用命令 sudo
service hive-metastore stop
与sudo
service hive-server stop命令发现停止不了对应的服务.
2) 启动metastore
执行命令:hive --service metastore &
3) 启动Hive服务
执行:hiveserver2 &。
4) 进入Hive命令行操作界面(类似于mysql)
执行:hive
./beeline
!connect jdbc:hive2://zhangge(主机名):10000 zhangge(用户名)zhangge(密码)org.apache.hive.jdbc.HiveDriver
退出
!quit
安装好hive之后
拷贝4个文件:
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
修改hive-env.sh
HADOOP_HOME=/home/hadoop/app/hadoop
修改hive-log4j.properties
hive.log.dir=/data/hadoop/hive/logs然后创建好目录/data/hadoop/hive/logs。
修改hive-exec-log4j.properties
hive.log.dir=/data/hadoop/hive/logs/exec然后创建好目录/data/hadoop/hive/logs/exec
修改hive-site.xml
<property><name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://zhangge: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>zhangge</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>zhangge</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.hwi.listen.host</name>
<value>zhangge</value>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-1.2.1.war</value>
</property>
<property>
启动运行
1) 初始化metastore有关 hive.metastore.schema.verification 版本检查的问题,有三个解决办法
方法一:安装配置好后,在启动Hive服务端之前,需要在服务端执行一次“schematool -dbType mysql -initSchema”,以完成对metastore的初始化。(我采用的方法一)
方法二:修改配置文件
第一次运行前先将 hive.metastore.schema.verification 设为false
XHTML
12345 | ......<!-- 设为false 不做验证--><name>hive.metastore.schema.verification</name><value>false</value>...... |
schematool -dbType derby -initSchema
1 2 3 4 5 6 7 8 | micmiu-mbp:~micmiu$schematool-dbTypederby-initSchema MetastoreconnectionURL:jdbc:derby:;databaseName=metastore_db;create=true MetastoreConnectionDriver:org.apache.derby.jdbc.EmbeddedDriver MetastoreconnectionUser:APP Startingmetastoreschemainitializationto0.12.0 Initializationscripthive-schema-0.12.0.derby.sql Initializationscriptcompleted schemaToolcompleteted |
schematool -dbType derby -info
1234567 | micmiu-mbp:~ micmiu$ schematool -dbType derby -infoMetastore connection URL: jdbc:derby:;databaseName=metastore_db;create=trueMetastore Connection Driver : org.apache.derby.jdbc.EmbeddedDriverMetastore connection User: APPHive distribution version: 0.12.0Metastore schema version: 0.12.0schemaTool completeted |
1 2 3 4 5 6 7 8 9 10 11 12 | ERRORexec.DDLTask(DDLTask.java:execute(435))-org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient atorg.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1143) ...... Causedby:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient atorg.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1212) ...... Causedby:java.lang.reflect.InvocationTargetException ...... Causedby:MetaException(message:Versioninformationnotfoundinmetastore.) atorg.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:5638) atorg.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:5622) ...... |
&符号表示后台运行(作为守护进程运行),可以去掉2),3)步骤中的&符号,
但执行时需要两个命令窗口,每一个窗口中用<Ctrl>-c停止对应的服务.
建议执行命令时去掉&符号,因为可以用<Ctrl>-c停止对应的服务.
我安装情况发现后台启动使用命令 sudo
service hive-metastore stop
与sudo
service hive-server stop命令发现停止不了对应的服务.
2) 启动metastore
执行命令:hive --service metastore &
3) 启动Hive服务
执行:hiveserver2 &。
4) 进入Hive命令行操作界面(类似于mysql)
执行:hive
使用beeline
./beeline!connect jdbc:hive2://zhangge(主机名):10000 zhangge(用户名)zhangge(密码)org.apache.hive.jdbc.HiveDriver
退出
!quit
相关文章推荐
- 分享Hive的一份胶片资料
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 将Hive的默认数据库Derby改为Postgresql
- kettle中对hive操作时需要知道的东西
- Hive安装配置
- Hive - truncate partition、drop partition 区别
- #Note# Analyzing Twitter Data with Apache Hadoo...
- 大数据实验室(大数据基础培训)——Hive的安装、配置及基础使用
- [翻译]Hive wiki GettingStarted
- hive命令积累
- 启动hive命令报错 “Metastore contains multiple versions”
- sparksql与hive整合
- hive on spark 编译
- sqoop 中文文档 User guide 一
- sqoop 中文文档 User guide 二 import
- sqoop 中文文档 User guide 二 import续
- sqoop 中文文档 User guide 三 export
- sqoop 中文文档 User guide 四 validation
- sqoop 中文文档 User guide 五 job,metastore,merge,codegen