1.进行测试调节时,hadoop和hive都是直接解压就可以使用的,不需要额外的配置文件,只需配置环境即可
解压时,tar.gz ---tar -xzvf tar ---tar -xvf 注意是打包还是压缩。
2.hive使用默认的derby数据库的时候,只能单用户登录hive,并且一旦退出后有可能需要重新启动一个窗口重新连接才可以,直接重连可能会出问题,必须重新连接服务器,再进如hive(学术语言为,只允许单会话连接),所以一般安装mysql,不使用默认的derby作为元数据库,当然只是学习一下hive的话,derby足够的
3.mysql的安装要注意选择怎样的安装方式,我选择的是rpm方式,会自动配置依赖
1.查看mysql安装
rpm -qa | grep -i mysql(-i:不区分大小写)
2.卸载
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
3.安装mysql server
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
4.安装mysql client
rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
5.启动服务
service mysql start
6.测试
登录:
cat .mysql_secret :初始密码
修改密码:
set password=password('root');
7.授权(mysql)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
8.如果第6不操作不通,可以直接进行本步
进行登录:mysql -u root -p
出现错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) --实际是权限不足导致的
解决方法很简单,如下:
# /etc/init.d/MySQL stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
# mysql>use mysql ;
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit # /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
后续登录使用时可能会:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
其实就是重新输入一遍密码即可:SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!
至此,mysql就可以使用了
4,将mysql设置为hive的元数据库,修改hive的配置文件即可
/home/hadoop/apps/hive/conf
touch hive-site.xml中添加以下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true</value>
<description>元数据库的连接url,myhive指的是hive的元数据在mysql中的库名</description>
<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>指定元数据库mysql的驱动类</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>元数据库mysql的用户名</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>元数据库mysql的密码</description>
</property>
</configuration>
6)将mysql的驱动包放在hive的依赖库lib下
7)初始化hive的元数据库
schematool -dbType mysql -initSchema
schemaTool completed
8)启动hive即可
5.将excle文件转换为以逗号间隔的格式,先转化为csv文件,也可以是别的,然后用记事本打开,最后记得把记事本的编码设置为utf-8,否则上传linux中会乱码。