欢迎投稿

今日深度:

Hive安装配置,

Hive安装配置,


安装环境配置

将文件apache-hive-1.2.1-bin.tar.gz通过XFTP工具上传到其node1

解压压缩包

tar -zxvf apache-hive-1.2.1-bin.tar.gz

将其移动到/usr下

mv apache-hive-1.2.1-bin /usr/

替换jline jar包
hadoop中yarn/lib下原有jline jar包版本:jline-0.9.94.jar
hive/lib下版本:jline-2.12.jar
把/usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar 替换为
/usr/apache-hive-1.2.1/lib/jline-2.12.jar

先把/usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar删除,再把hive目录下的包复制过来

rm -rf /usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar
cd /usr/apache-hive-1.2.1-bin/lib/
cp jline-2.12.jar /usr/hadoop/share/hadoop/yarn/lib/

查看是否拷贝成功

cd /usr/hadoop/share/hadoop/yarn/lib

通过ll命令查看

配置hive环境变量

vi /etc/profile

配置HIVE_HOME,并将HIVE_HOME/bin拼接到PATH后面

export HIVE_HOME=/usr/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin


使生效

source /etc/profile 

配置hive的hadoop目录
进入配置文件目录cd /usr/apache-hive-1.2.1-bin/conf/
复制hive-env.sh.template 文件并重命名为hive-env.sh

cp hive-env.sh.template hive-env.sh

编辑vi hive-env.sh
找到#HADOOP_HOME一行,重新写一行配置HADOOP_HOME路径
HADOOP_HOME=/usr/hadoop-2.5.2 (注意自己hadoop目录名字)

hive部署

hive部署包括三种方式:本地derby、本地mysql、远端mysql
本地derby
hive本身内置了一个derby数据库
进入配置文件目录

cd /usr/apache-hive-1.2.1-bin/conf/


复制hive-default.xml.template文件并重命名为hive-site.xml

scp  hive-default.xml.template  hive-site.xml

编辑hive-site.xml文件

vi hive-site.xml

清空配置:将光标置于要删除的首行,输入:.,1d<property>![](https://imgblog.csdnimg.cn/20181208142343381.png?xossprocess=image/watermark,typeZmFuZ3poZW5naGVpdGk,shadow10,textaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTM4MTgzMw==,size16,colorFFFFFF,t70):.,-1d表示删除当前行到倒数第二行 这里把光标定位于<property>一行 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181208142343381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTM4MTgzMw==,size_16,color_FFFFFF,t_70) 然后输入:.,-1d 再回车,即删除原来所有配置(configuration之间的未被注释的就是配置)
再配置如下内容

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
</property>

这种方式元数据保存在hive_home/conf/ metastore_db文件夹中,即上面配置的数据库名称

启动hive,保证hadoop已正常启动,
如未启动请分别启动zkServer.sh start、 start-dfs.sh、start-yarn.sh、service mysqld start
再直接输入hive

可以看到进入hive的一个命令行模式
如果报以下错误

解决:
打开 HADOOP下面/usr/hadoop-2.5.2/etc/haoop下的

(因为在做MapReduce和HDFS的实验的时候引入过这个,可以暂时注释之前的)
添加 :export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:SOMGTHING ELSE

改好之后重启hadoop集群,再次运行即可;
输入show tables; 成功查询

show functions

本地mysql方式
首先需要在本地安装mysql数据库:

yum -y install mysql-server

启动mysql服务

service mysqld start


安装后root的默认密码为空,可以登陆后设置root的密码:mysql -uroot -p
默认密码为空,直接回车

重新设置root密码:use mysql 这里我们也设置为root

执行语句: update user set password=password(‘root’) where user=‘root’;

重新刷新权限表: flush privileges;

exit退出

重新登陆mysql –uroot -p,则需要输入root密码

再切换到mysql数据库:use mysql
查询user表:select user,host from user

将user字段的值为空的记录删除:delete from user where user=’’;

再将host为node1的改为%,表示允许从其他主机远程访问
update user set host=’%’ where host=‘node1’;

给root授予所有权限:
GRANT ALL PRIVILEGES ON . TO root@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’;

刷新权限:flush privileges;

exit退出再重新启动service mysqld restart

再配置hive-site.xml为本地mysql模式
删除hive-site.xml原来所有配置

再添加以下内容,#后面(包括#)为注释,实际配置时请删除

<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive_remote/warehouse</value> 
</property>   
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://192.168.81.131:3306/hive?createDatabaseIfNotExist=true</value>  
</property>  #node1的IP+端口号+数据库名
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>root</value>  #mysql数据库用户名
</property>  
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>root</value>  #mysql数据库密码
</property> 
 <property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value> #zookeeper节点
</property>


将mysql的驱动jar 包放到hive的lib目录/usr/apache-hive-1.2.1-bin/lib下

重新启动hive,同样进入hive命令行模式

输入exit;退出
我们再进入mysql命令行通过show databases;可以看到多了一个hive的数据库,即我们在hive-site.xml中配置的数据库

www.htsjk.Com true http://www.htsjk.com/hive/35036.html NewsArticle Hive安装配置, 安装环境配置 将文件apache-hive-1.2.1-bin.tar.gz通过XFTP工具上传到其node1 解压压缩包 tar -zxvf apache-hive-1.2.1-bin.tar.gz 将其移动到/usr下 mv apache-hive-1.2.1-bin /usr/ 替换jline jar包 ha...
相关文章
    暂无相关文章
评论暂时关闭