hive、sqoop安装
- 一、hive安装
- 1.1 解压hive
- 1.2 配置
- 二、安装sqoop
- 2.1 下载sqoop
- 2.2 解压![tar -zvxf](https://i-blog.csdnimg.cn/blog_migrate/260a6de7035b6012dd68d5b446a181ab.png)
- 2.3 将jdbc驱动包复制到sqoop/lib下:
- 2.4 添加环境变量
- 2.5 配置sqoop-env.sh
- 2.6 执行sqoop version,看到版本信息,即安装成功
- 2.7 设置远程连接mysql(linux连接window上的mysql)
- 将mysql中的表导入hive中发生错误:
一、hive安装
1.1 解压hive
把Hive安装包hive-2.1.1-bin-tar 拖进MobaXtrem目录下
tar -zvxf hive-2.1.1-tar -C /bigdata/
1.2 配置
a.配置环境变量
vim /etc/profile
export HIVE_HOME=/bigdata/hive-2.1.1
export PATH=$PATH:$HIVE_HOME/bin
# 2.保存退出生效环境变量
source /etc/profile
查看hive是否安装成功 hive --version
b.配置 hive-env.sh
# 将 hive-env.sh.template改名为 hive-env.sh
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
# 修改HADOOP_HOME的路径
export HADOOP_HOME=/bigdata/hadoop-2.7.3
# 修改HIve配置文件的路径
export HIVE_CONF_DIR=/bigdata/hive-2.1.1/conf
# 修改Hive需要jar包的路径
export HIVE_AUX_JARS_PATH=/bigdata/hive-2.1.1/lib
c.配置hive-site.xml
这里没有就以模板复制一个
[root@hadoop conf]# cp hive-default.xml.template hive-site.xml
[root@hadoop conf]# vim hive-site.xml
插入:
<property>
<name>javax.jdo.option.ConnectionUserName</name> <!-- 用户名(这是新添加的,记住删除配置文件原有的哦!)-->
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name> <!-- 密码 -->
<value>986836</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name> <!--mysql-->
<value>jdbc:mysql://192.168.100.253:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name> <!-- mysql驱动程序-->
<value>com.mysql.jdbc.Driver</value>
</property>
d.将mysql驱动包添加到hive的lib目录下
f.设置应用通过防火墙防护(因为我这里是用hive连接windows上的mysql数据库,连接会被防火墙拦截,需要注意的是windows上的动态ip)
e.初始化hive数据库
schematool -dbType mysql -initSchema
如图,hive表已经创建成功
g.执行hive
二、安装sqoop
2.1 下载sqoop
地址:https://attic.apache.org/projects/sqoop.html
2.2 解压
2.3 将jdbc驱动包复制到sqoop/lib下:
mv mysql-connect-java-5.17 /bigdata/sqoop-1.4.7/lib/
2.4 添加环境变量
vim /etc/profile
生效:source /etc/profile
2.5 配置sqoop-env.sh
在sqoop的conf目录下,添加配置文件,从模板复制就好
cp sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
添加如下内容:
2.6 执行sqoop version,看到版本信息,即安装成功
sqoop version
2.7 设置远程连接mysql(linux连接window上的mysql)
mysql不允许远程ip访问
解决办法:修改MySQL数据库权限
# 使用mysql数据库
use mysql;
# 设置允许任意远程访问
update user set host = '%' where user = 'root';
# 刷新内存中的权限,就不用重启mysql服务了
flush PRIVILEGES;
flush privileges是为了将权限更新操作刷新到内存中,而不用下次启动时生效。
将mysql中的表导入hive中发生错误:
Caused by: java.lang.ClassNotFoundException:org.apache.hadoop.hive.conf.HiveConf
修改:
cp $HIVE_HOME/lib/hive-common-2.1.1.jar $SQOOP_HOME/lib