版本下载
下载网站如下:http://archive-primary.cloudera.com/cdh5/cdh/5/
下载、解压、配置环境变量、配置文件的相关参数
[hadoop@hadoop001 hadoop]$ cd /home/hadoop/app
[hadoop@hadoop001 app]$ wget http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
[hadoop@hadoop001 app]$ tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app/(解压)
[hadoop@hadoop001 app]$ ~/.bash_profile(配置环境变量:个人环境变量在Hadoop用户的家目录下面的.bash_profile文件里配置。。也可以在/etc下面配置profile,属于全局环境变量的配置)
export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
export PATH=$HIVE_HOME/bin:$PATH
生效: source ~/.bash_profile
相关参数的配置
Hive配置:1.
HIVE_HOME/conf文件夹下的hive-env.sh文件中配置)在# Set HADOOP_HOME to point to a specific hadoop install directory
#HADOOP_HOME=${bin}/…/…/hadoop的下面加上HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
2.hive-site.xml配置的就是MySQL的相关信息
配置内容如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/ruoze_d5?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value>
</property>(连到ruoze_d5这个数据库,如果这个数据库不存在就自动创建)
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
拷贝mysql驱动到$HIVE_HOME/lib(也就是/home/hadoop/app/hive-1.1.0-cdh5.7.0/lib)
可能会遇到的问题:可能遇到的问题:mysql赋权 (对于mysql登录的问题,在mysqladmin用户下,可以使用mysql -uroot -p123456 登录,但是对于其他包括root在内的用户需要将mysql的家目录添加到所在用户如hadoop的家目录下面的.bash_profile的环境变量中,就可以在所在用户如hadoop下面通过mysql -p127.0.0.1 -uroot -p123456登录了。但是工厂生产中一般都是把相关软件放到指定的用户下,所以不用hadoop用户下去登录mysql,通过上面的hive-site.xml文件的配置,已经让它们通过jdbc连接了,此时输入命令hive,进入hive后就可以连上mysql了)
mysql> use ruoze_d5;(切换到ruoze_d5数据库)
show tables; (查看ruoze_d5数据库里面的表,也就是meta信息)
检查安装是否成功
hive (default)> show tables;
OK
ruoze_helloword
hive (default)> select * from ruoze_helloword;
[hadoop@hadoop001 hadoop]$ mkdir data
[hadoop@hadoop001 hadoop]$ cd data
[hadoop@hadoop001 data]$ pwd
/tmp/hadoop/data
[hadoop@hadoop001 data]$ vi helloworld.txt
[hadoop@hadoop001 data]$ cat helloworld.txt
1 zhangsan
2 lisi
3 wangwu(这个表之间的空隙就是以tab键分割的)
hive (default)> load data local inpath '/tmp/hadoop/data/helloworld.txt' overwrite into table ruoze_helloword;(加载数据从本地,(local指的本地,也就是Linux机器不是指hdfs系统,去掉local的话就代表hdfs了)从/tmp/hadoop/data/helloworld.txt中拷贝重写到ruoze_helloword这张表中)
hive (default)> select count(1) from ruoze_helloword;(此时打开8088的web界面,能看到hive的语句已经提交到yarn上面运行map reduce作业了)