hive單機部署

hadoop,hbase,zookeeper安裝好了,如今來安裝hivejava

hadoop 版本:2.8.4mysql

hbase 版本:2.1.3linux

hive 版本:2.3.4sql

zookeeper 版本:3.4.13數據庫

 

1.hive下載:http://mirrors.shu.edu.cn/apache/hive/apache

 

2.上傳到linux解壓windows

 

3.配置環境變量ide

vi /etc/profileoop

 

export HIVE_HOME=/hive測試

把$HIVE_HOME/bin:$PATH加到path中去

 

>hive --version  就能看到hive版本

安裝成功

 

4.配置

進入/hive/conf目錄

vi hive-site.xml  配置hive-site.xml文件,沒有複製一份

在hive-site.xml中加如下配置,否則報錯:java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:us

  <property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
  </property>
  <property>
    <name>system:user.name</name>
    <value>${user.name}</value>
  </property>  
  

將裏面一些system....路徑的value,所有改爲/tmp/hive/iotmp

 

vi hive-env.xml,配置hive-env.xml,沒有複製一份,加如下內容

export HADOOP_HOME=/hadoop/hadoop-2.8.4
export HIVE_CONF_DIR=/hive/conf

 

>hive 進入hive命令行

能進入hive命令行,可是提示版本不匹配

 

但網上別人也提示這個,能夠正常使用

說是hive要有一個數據庫來存儲它的元數據,默認是使用derby,也有使用mysql,大多使用mysql,我也使用mysql配置

在/hive/conf/hive-site.xml文件中加如下內容:

<property>
        <name>javax.jdo.option.ConnectionUserName</name>   //用戶名(這4是新添加的,記住刪除配置文件原有的哦!)
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>  //密碼
        <value>123456</value>
    </property>
   <property>
        <name>javax.jdo.option.ConnectionURL</name>        //mysql
        <value>jdbc:mysql://192.168.1.136:3306/hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>    //mysql驅動程序
        <value>com.mysql.jdbc.Driver</value>
    </property>

  

配置後,把mysql驅動包拷貝到/hive/lib/下

在/hive/bin下執行:

>  schematool -dbType mysql -initSchema   將hive元數據格式化一下

 

 

hive元數據保存在內嵌的 Derby 數據庫中,只能容許一個會話鏈接,只適合簡單的測試。爲了支持多用戶多會話,則須要一個獨立的元數據庫,咱們使用 MySQL 做爲元數據庫,Hive 內部對 MySQL 提供了很好的支持,配置一個獨立的元數據庫須要增長如下幾步驟:

1)安裝mysql服務端和客戶端,這個在我本機上安裝好了

2)安裝hive,也安裝好了

3)爲Hive創建相應的MySQL帳戶,並賦予足夠的權限,執行命令以下:

發現hive-site.xml配置文件,本來有derby數據庫的配置信息,沒有刪除掉,咱們只是在上面加了mysql的配置,derby的配置沒有註釋掉,註釋掉,再格式化

仍是不行,

報錯信息不同了,使用的是我配置的mysql數據庫

網上說是用戶權限不足,繼續:

個人mysql是安裝在我本地windows機器上,cmd

> cd C:\Program Files\MySQL\MySQL Server 5.5\bin    進入mysql安裝目錄

> mysql -hlocalhost -uroot -p

>  select user,host from mysql.user where user='root';\

 

 > grant all privileges on *.* to 'root'@'192.168.1.166' identified by '123456';  受權

> flush privileges;

 

> net stop mysql;  先關閉mysql

> net start mysql;  再重啓mysql

再在/hive/bin 下執行格式化

成功了

 > show databases;

相關文章
相關標籤/搜索