第一部分:先讲这么去安装hive.先去hive官网下载,我这里以hive-0.12.0为例子。
前面第二章讲了安装hadoop,hbase实例,我们继续讲这么安装hive,先说下hive配置文件
一,先讲下使用Derby数据库的安装方式
1.tar zxvf hive-0.12.0.tar.gz 解压hive
2.sudo nano /etc/profile 配置环境变量,在原有的基础上加上hive配置
在终端输入 source /etc/profile 使环境变量对当前终端有效
3.cd /home/hadoop/hive-0.12.0/conf
默认配置文档不存在,所以我们根据模板创建另外2个配置文件,或者还有个方法,就是把原有4个配置文档后面的template删除
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
4.sudo nano hive-env.sh 修改hive-env.sh配置文件
5.sudo nano hive-site.xml文件,在文件的2000行,有一个不对称
把它修改过来就OK了
6.进入到hive的conf目录下,启动hive
二,使用MySQL数据库的安装方式
注意:配置mysql远程连接必须是root用户
1.先安装mysql服务器
sudo apt-get install mysql-server
2.安装完一搬都自动启动mysql了,如果没有启动,你在输入:
/etc/init.d/mysql start
如果启动了,就登陆mysql
mysql -u root -p
enter password :'123456'
3.设置远程操作mysql权限
GRANT ALL PRIVILEGES ON *.* to root @"%" identified by "123456";
flush privileges;
4.建立hive数据库
create database hive;
选择你所创建的数据库
mysql> use hive; (按回车键出现Database changed 时说明操作成功!)
查看现在的数据库中存在什么表
mysql> show tables;
创建一个数据库表
mysql> create table hive(name VARCHAR(20), sex CHAR(1));
显示表的结构:
mysql> describe hive;
7:往表中加入记录
mysql>
insert into hive values (”hyq”,”M”);
4.安装hive还是跟上面一样,只是要修改下 hive-site.xml这个文件
1
2 javax.jdo.option.ConnectionURL
3 jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8
4 JDBC connect string for a JDBC metastore
5
6
7
8 javax.jdo.option.ConnectionDriverName
9 com.mysql.jdbc.Driver
10 Driver class name for a JDBC metastore
11
12
13
14 javax.jdo.PersistenceManagerFactoryClass
15 org.datanucleus.jdo.JDOPersistenceManagerFactory
16 class implementing the jdo persistence
17
18
19
20 javax.jdo.option.DetachAllOnCommit
21 true
22 detaches all objects from session so that they can be used after transaction is committed
23
24
25
26 javax.jdo.option.NonTransactionalRead
27 true
28 reads outside of transactions
29
30
31
32 javax.jdo.option.ConnectionUserName
33 root
34 username to use against metastore database
35
36
37
38 javax.jdo.option.ConnectionPassword
39 123456
40 password to use against metastore database
41
5.进入到hive的conf目录下,启动hive
远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接。
修改方法如下:
1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1为 bind-address=0.0.0.0
2:重新启动MySQL服务。
测试连接情况:
如果没有给远程登录用户添加所有机器都能访问的权限,将会出现“1045-Access denied for user ‘root@223123(using password:NO)”,这表明需要添加权限;
添加命令如下:
1)grant all on *.* to用户名@"%" identified by "密码";
2)flush privileges;
完成以上步骤,就可以远程访问MySQL数据库了。
第二部分,讲下这么安装sqoop
1.先去官网下载sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz版本
2.在hadoop用户下,进行解压
tar zxvf sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz
3.配置环境变量 /etc/profile
sudo nano /etc/profile,在文件的末尾,把jdk,hadoop,hbase,hive,sqoop等一些工具都要进行配置
记住,sqoop文件不要写错。
4.把mysql-connector-java-5.1.24-bin.jar放到$SQOOP_HOME/lib文件里,然后把sqoop文件里的sqoop-1.4.4.jar放到
$HADOOP_HOME/lib文件下面
5.如果你没有用到hbase或者 hcat ,修改SQOOP的文件bin/configure-sqoop
sudo nano sqoop-1.4.4.bin__hadoop-1.0.0/bin/configure-sqoop,按照下面的注释掉
#if [ ! -d "${HBASE_HOME}" ]; then
#echo "Warning: $HBASE_HOME does not exist! HBase imports will fail."
#echo 'Please set $HBASE_HOME to the root of your HBase installation.' #fi
## Moved to be a runtime check in sqoop.
#if [ ! -d "${HCAT_HOME}" ]; then
# echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
#echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
#fi
这样子,sqoop就装成功了,测试
cd #SQOOP_HOME/bin,代表sqoop环境配置没有问题
sqoop version ,可以看到sqoop的信息