Ubuntu16.04 Hive安装配置
说来自己断断续续自学大数据Hadoop已经有一段时间了,不过觉得还是晕乎乎的,各种看了就忘,好记性不如烂笔头,还是记录下吧,也希望能对后面自学的人能有所帮助。
我的系统环境是Ubuntu16.04
我安装的软件:
Mysql
Jdk1.8.0_121
apache-hive-2.1.1-bin
mysql-connector-java-5.1.42-bin.jar
hadoop2.8.0
安装过程:
- 因为很长时间没有用过Ubuntu系统中自带的MySQL,而且密码怎么输都不对,所以我还是删掉重新安装了下。
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server
service mysql start
mysql -u root -p
输入自己设置的root密码就能进入mysql啦;
然后创建hive数据库
create database hive
show databases
后来想起来其实可以重置密码的,下面重置密码的方法是试过OK的。
到/etc/mysql/mysql.conf.d下,编辑mysqld.cnf文件,在[mysqld]段下加入一行“skip-grant-tables”
重启mysql服务 sudo service mysql restart
用空密码进入mysql管理命令行,切换到mysql库。
然后按截图中步骤操作重置root密码为123456
回到sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。
再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。
2. 解压JDK,HIVE,HADOOP的压缩包,最好将这些解压后的文件放到同一个目录下,省的以后直接搞不清楚找不到,我是都放在hadoopEnv目录下的。
使用命令vim ~/.bashrc进行环境配置,我的配置如下,大家可根据直接的路径进行修改
然后source ~/.bashrc将配置生效
接着一定要记得将mysql-connector-java-5.1.42-bin.jar放到hive目录的lib目录下,否则到时运行hive的时候会报错,无法连接到数据库的!!!
同时在hive目录下新建warehouse文件夹。
3. Hive配置
Hive的conf目录下,新建hive-site.xml,进行一些简单的配置,我的配置如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hadoopEnv/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword </name>
<value>填上你自己的连接数据库的密码</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
</configuration>
PS:当然你也可以给HIVE新建个mysql的帐号密码,然后hive-site.xml配置那里改成HIVE的Mysql帐号密码;但是一定得记得在mysql root帐号登录的情况下给它全部权限,否则后面运行hive会一直提示访问数据库被拒。
#创建数据库
mysql> create database hive;
#赋予访问权限
mysql> grant all privileges on hive.* to root@localhost identified by '密码' with grant option;
mysql> flush privileges;
然后命令行
cp hive-env.sh.template hive-env.sh
4. Hadoop配置(我这里配的是本地模式)
(具体可以查看apache hadoop官网)
首先要配置ssh,不细说了;
hadoop的etc目录下修改各配置文件信息
core-site.xml
hdfs-site.xml
mapred-site.xml
因为我现在只是搭的本地,所以先ssh localhost;
再到hadoop安装目录下,运行sbin/start-all.sh;再jps查看是否正确启动hadoop的所有进程。
如果启动报错:
解决办法:
修改/etc/hadoop/hadoop-env.sh中设JAVA_HOME。
应当使用绝对路径。
export JAVA_HOME=${JAVA_HOME} //文档原来的(错误)
export JAVA_HOME=/home/wangly/hadoopEnv/jdk_ 1.8.0_121 //正确,应该这么改
在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。
HADOOP_HOME/bin/hadoop fs -mkdir /tmp
HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
5. 运行hive
运行hive --service metastore ,启动hive服务
要记得初始hive数据库!!!
.
完成~
其实搭建的过程中遇到了各种error!!然后各种网上搜解决方案,最终终于成功了,大家遇到问题的时候一定要耐心,看错误日志,一步步解决哦!
上一篇: 中国农业银行面试题
下一篇: 面试题_20180829001