环境准备:java
hadoop环境搭建node
安装mysqlmysql
hive环境搭建sql
hadoop环境搭建参考:http://my.oschina.net/u/2311010/blog/508139 数据库
安装mysqlapache
卸载自带的mysql
bash
rpm -qa | grep mysql rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
2.yum安装mysqlapp
yum install -y mysql-server mysql mysql-devel
3.启动mysql服务,添加mysql用户
oop
service mysqld start /usr/bin/mysqladmin -u root password hadoop /usr/bin/mysqladmin -u root -h master password hadoop mysql -uroot -hmaster -phadoop 建立用户hive@master(密码hive)并分配权限 CREATE USER 'hive' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master' WITH GRANT OPTION; flush privileges; 用户名hive登陆 mysql -h master -uhive set password = password('hive'); 创建 Hive 专用的元数据库 create database hive; 查看MYSQL数据库中全部用户 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 查看用户是否设置了密码 select user,host,password from mysql.user;
4.hive环境搭建
spa
修改hive的配置文件,位置在hive/conf/hive-site.xml。几个较为重要的metastore配置属性见下表:
hive.metastore.warehouse.dir | 相对于fs.default.name的目录,托管表存储在这里 |
javax.jdo.option.ConnectionURL | metastore数据库的JDBC URL |
javax.jdo.option.ConnectionDriverName | JDBC驱动器的类名 |
javax.jdo.option.ConnectionUserName | JDBC用户名 |
javax.jdo.option.ConnectionConnectionPassword | JDBC密码 |
进入到hive的配置文件目录下,找到hive-default.xml.template,另存为hive-site.xml并修改参数。Hive 系统会加载两个配置文件一个默认配置文件“hive-default.xml”,另外一个就是用户自定义文件“hive-site.xml”。当“hive-site.xml”中的配置参数的值与“hive-default.xml”文件中不一致时,以用户自定义的为准。因此可将不须要的参数都删除掉,只留下下面所示的内容。
<?xml version=”1.0″?> <?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> </property> <property> <name>hive.querylog.location</name> <value>/usr/local/hive/iotmp</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/usr/local/hive/iotmp</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/usr/local/hive/iotmp</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> </configuration>
5.拷贝jdbc驱动包
把MySQL的JDBC驱动包复制到Hive的lib目录下(mysql-connector-java)
6.修改环境变量
vi ~/.bashrc export HIVE_HOME=/app/Servers/apache-hive-1.2.1-bin export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH
启动hive
hive [hadoop@master conf]$ hive jar Logging initialized using configuration in jar:file:/app/Servers/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties hive> show databases; OK default Time taken: 1.458 seconds, Fetched: 1 row(s) hive>