这篇文章主要介绍“centos7快速配置hive的过程”,在日常操作中,相信很多人在centos7快速配置hive的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”centos7快速配置hive的过程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
### hive 配置部分
目录规划
/usr/lib/jvm/jdk1.8.0_65
/usr/hadoop
/usr/hive
/etc/profile
......
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/usr/hadoop
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
export HIVE_HOME=/usr/hive
export PATH=$HIVE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server
如果没有这个,会OGG-15050 Error loading Java VM runtime library: (2 No such file or directory)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/lib
export OGG_HOME=/ogg/oggbd
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OGG_HOME:$OGG_HOME/ggjava
下载解压
hive 下载地址: http://hive.apache.org/ --> GENERAL --> Downloads
apache-hive-2.3.0-bin.tar.gz
tar -xzf apache-hive-2.3.0-bin.tar.gz
mv apache-hive-2.3.0-bin /usr/hive
chown -R htjs:htjs /usr/hive
进入/usr/hive/conf 复制修改配置文件
配置文件
配置文件1 hive-env.sh
cp hive-env.sh.template hive-env.sh
修改HADOOP_HOME:HADOOP_HOME=/usr/hadoop
如果这里不修改,hive无法初始化元数据,
报错Error: Syntax error: Encountered "" at line 1, column 64. (state=42X01,code=30000)
配置文件2 hive-site.xml
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
hive-site.xml 配置文件中mysql相关部分 (这个地方在博客上显示不全!)
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
rootroot
hive-site.xml 配置文件中 tmpdir的替换
:%s/${system:java.io.tmpdir}/\/usr\/hive\/tmp/gc
:%s/${system:user.name}/htjs/gc
实际上是将
${system:java.io.tmpdir}/${system:user.name}
替换成
/usr/hive/tmp/htjs
如果这里不替换,会出现hive无法启动错误 URISyntaxException
复制mysql驱动
tar -xzf mysql-connector-java-5.1.42.tar.gz
cd mysql-connector-java-5.1.42
cp mysql-connector-java-5.1.42-bin.jar /usr/hive/lib
chown -R htjs:htjs /usr/hive/lib/mysql*.jar
创建目录
mkdir /usr/hive/tmp
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod -R +w /tmp
hdfs dfs -chmod -R +w /user/hive
hdfs dfs -ls /user/hive
初始化schema
$ $HIVE_HOME/bin/schematool -dbType mysql -initSchema
运行hive
单机模式
$ hive
hive> CREATE TABLE pokes (foo INT, bar STRING);
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
服务器模式
$ hiveserver2
or
$ nohup /usr/hive/bin/hiveserver2 &
这时可以通过jdbc客户端连接这个服务访问hive,端口默认是10000,
在hive-site.xml 中可以修改 hive.server2.thrift.port 为其他端口,比如8338
使用beeline连接
$ beeline -u jdbc:hive2://node1:10000 -n"htjs"
使用-n"htjs" 选项,是为了避免权限问题。如果/user/hive/warehouse 出现不能写入的问题,带上-n
insert into pokes (foo,bar) values (1,'a');
select * from pokes;
hive 配置完毕。
到此,关于“centos7快速配置hive的过程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!