1.说明
- hive 是hadoop的客户端,所以,安装一个就可以了
2. 注意
- 安装 hive 之前必须已经安装过数据库 (我这里安装是mysql)
3.安装配置
-
修改hadoop的配置
1. 修改hadoop中的 mapred-site.xml(添加) <property> <name>mapreduce.jobhistory.address</name> <value>server1:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>server1:19888</value> </property> 2. core-site.xml <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
-
hive配置
1. 解压 tar -zxvf apache-hive-2.1.1-bin.tar.gz 2. 配置环境变量 1. 打开配置文件 vim /etc/profile 2. 内容 export HIVE_HOME=/apache-hive-2.1.1-bin export PATH=$PATH:$HIVE_HOME/bin 3. 刷新 source /etc/profile 3. 在 hive的根目录下创建文件夹 1. 进入根目录 cd /apache-hive-2.1.1-bin 2. 创建temp 文件 mkdir temp 3. 设置temp的权限 chmod 777 temp/ 4. 进入hive 的conf目录 cp hive-default.xml.template hive-site.xml cp hive-env.sh.template hive-env.sh 5. 修改配置(notepad++) 1. hive-site.xml 1. 把 ${system:java.io.tmpdir} 用 创建的tmp(/apache-hive-2.1.1-bin/temp)路径替换(所有的都替换) 2. 把${system:user.name} 用${user.name} 替换(所有的都替换) 3. 修改数据库 1. 把name为 javax.jdo.option.ConnectionURL 的value 值修改为 jdbc:mysql://192.168.63.110:3306/hive?useSSL=false 2. 把 name 为 javax.jdo.option.ConnectionDriverName 的 value 值 改为 com.mysql.jdbc.Driver 3. 把 name 为 javax.jdo.option.ConnectionUserName 的 value 值 改为 root 4. 把 name 为 javax.jdo.option.ConnectionPassword 的 value 值 改为 123456 4. 把 name 为 hive.metastore.schema.verification 的 value 值 改为 false 5. name 为 hive.server2.authentication 的值一定为 NONE 2. hive-env.sh HADOOP_HOME=[hadoop的根路径] /hadoopServer/haoop-2.7.1 export HIVE_CONF_DIR=[hive的配置文件路径] /apache-hive-2.1.1-bin/conf export HIVE_AUX_JARS_PATH=[hive的jar路径] /apache-hive-2.1.1-bin/lib 6. 把mysql的驱动包(mysql-connector-java-5.1.40.jar) 放入hive的jar目录下 7. 启动 hadoop 1. 在HFDS 中创建两个路径 1. hadoop fs -mkdir -p /user/hive/warehouse 2. hadoop fs -mkdir -p /tmp/hive 2. 设置权限 1. hadoop fs -chmod -R 777 /tmp 2. hadoop fs -chmod -R 777 /user 8. 删除hive的 jar中的log find log* rm -rf log4j-slf4j-impl-2.4.1.jar 9. 在hive的根目录下执行 cd /apache-hive-2.1.1-bin bin/schematool -initSchema -dbType mysql
4. 使用和操作
- 启动
hive
- 操作
1. 数据库 1. 创建 create database scott; 2. 删除 drop database scott; 2. 表 1. 创建 create table scott.dept( deptno string, dname string, loc string ) row format delimited fields terminated by ',' lines terminated by '\n' location '/user/hive/warehouse/scott.db/dept'; 3. 导入数据 1. 生成 csv文件 2. 在hive中使用 1. 从本地加载 load data local inpath '/tmp/dept.csv' into table scott2.dept; 2. 从HFDS上加载 load data inpath '/tmp/dept.csv' into table scott2.dept;
5. hiveServer2
-
作用
- 可以使hive的操作界面为mysql的操作页面
- 可以使用jdbc连接,就可以使用Java代码操作
-
启动
hive --service hiveserver2 &
-
连接
1. 不用输入密码 beeline -u jdbc:hive2://localhost:10000 2. 输入密码 beeline !connect jdbc:hive2://localhost:10000 输入账号 hadoop 输入密码 hadoop