您的位置:首页 > 其它

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


修改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


1234567micmiu-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
详见:https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool以上方法都可以,否则第一次运行时会类似如下的报错信息:

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)

        ......

参考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

./beeline
!connect jdbc:hive2://zhangge(主机名):10000 zhangge(用户名)zhangge(密码)org.apache.hive.jdbc.HiveDriver

退出

!quit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hive server2