其他分享
首页 > 其他分享> > Hive API

Hive API

作者:互联网

  1. 配置MySQL

只需要在master节点上启动MySQL即可

注意需要创建hive用户,并设置MySQL远程可以访问

• mysql -hlocalhost -uroot -p123456
• GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY '123456'
• GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' IDENTIFIED BY '123456'
• FLUSH PRIVILEGES
  1. 安装Hive

• 上传apache-hive-1.2.1-bin.tar.gz,解压后重命名为hive-1.2.1
• MySQL的驱动包mysql-connector-java-5.1.39-bin.jar,将解压出来的jar放入hive 的lib目录下

  1. 配置环境变量

• 配置hive环境变量
sudo vi /etc/profile
export HIVE_HOME=/home/hadoop/hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
source /etc/profile
• 修改/conf/hive-env.sh文件
HADOOP_HOME=/home/hadoop/hadoop-2.7.2
export HIVE_CONF_DIR=/home/hadoop/hive-1.2.1/conf

  1. 配置HDFS存储位置

• Hive配置文件里要用到HDFS的一些路径,需要手动创建如下路径:
• hdfs dfs -mkdir -p /hive/warehouse
• hdfs dfs -mkdir -p /hive/logs
• hdfs dfs -mkdir -p /hive/tmp
• hdfs dfs -chmod 733 /hive/warehouse
• hdfs dfs -chmod 733 /hive/logs
• hdfs dfs -chmod 733 /hive/tmp
• 创建本地的目录
• mkdir -p /home/hadoop/hive-1.2.1/hivedata/logs

  1. 配置文件

hive-site.xml

• cp hive-default.xml.template hive-site.xml

<property><name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value></property>
<property><name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value></property>
<property><name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value></property>
<property><name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value></property>
<property><name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value></property>
<property><name>hive.exec.scratchdir</name><value>/hive/tmp</value>
</property>

配置log4j

• 创建配置文件:
• cp hive-exec-log4j.properties.template hive-exec-log4j.properties
• cp hive-log4j.properties.template hive-log4j.properties
• 修改两个文件中的配置: • hive.log.dir=/home/hadoop/hive-1.2.1/logs
• log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

启动hive

• 确保hdfs启动
• 初始化mysql数据库:schematool --dbType mysql -initSchema
问题.ls: cannot access '/home/hadoop/spark-2.0.2/lib/spark-assembly-.jar': No such file or
directory
原因.spark升级到spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的sparkassembly-
.jar已经不存在
解决.打开hive的安装目录下的bin目录,找到hive文件
修改成:sparkAssemblyPath=ls ${SPARK_HOME}/jars/*.jar

• 启动hive:hive

• 测试hive
hive> create TABLE test( id INT, name string); (观察hdfs下路径)
hive> show tables;

标签:hdfs,dfs,hadoop,hive,API,Hive,mysql,log4j
来源: https://www.cnblogs.com/attack204/p/16442175.html