前提条件
- mysql -5.7.1安装完毕
- hadoop-2.8.3搭建完毕
tar -zxvf hive-1.2.1.gz
配置hive-env.sh
export JAVA_HOME=/home/hadoop/soft/jdk1.8
export HADOOP_HOME=/home/hadoop/soft/hadoop-2.8.3
export HIVE_HOME=/home/hadoop/soft/hive-1.2.1
配置hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name> <!--修改元数据存储数据库为mysql-->
<value>jdbc:mysql://master: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><!--指定mysql驱动-->
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value><!--连接数据库用户名-->
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123123123</value><!--连接数据库密码-->
<description>password to use against metastore database</description>
</property>
</configuration>
mysql的驱动jar包要放进hive的lib库里
在hdfs上创建这几个文件夹
在hdfs上创建目录及设置权限:
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
设置hdfs存储的权限
bin/hadoop fs -mkdir -p /user/hive/warehouse #创建目录
bin/hadoop fs -chmod -R 777 /user/hive/warehouse #新建的目录赋予读写权限
bin/hadoop fs -mkdir -p /tmp/hive/#新建/tmp/hive/目录
bin/hadoop fs -chmod -R 777 /tmp/hive #目录赋予读写权限
在hive 的安全组中配置50010端口和10000端口,这个很重要
在开发工具中不然会报错,表上传成功,但是没有数据
启动hive
#在master中启动
bin/ hiveserver2.sh
在复制一个maste的回话,启动
beeline -u jdbc:hive2://localhost:10000
授权hive运行的
#别忘了授权
hadoop fs -chmod -R 777 /tmp/hadoop-yarn/staging/hadoop
成功