1. 程式人生 > >學習筆記:從0開始學習大資料-10. hive安裝部署

學習筆記:從0開始學習大資料-10. hive安裝部署

1. 下載
wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.15.1.tar.gz

2.解壓

tar -zxvf hive-1.1.0-cdh5.15.1.tar.gz

3.  hive的元資料(如表名,列名等)存放在RDBMS,安裝mysql  也可以是mariadb

安裝命令

yum -y install mariadb mariadb-server

安裝完成MariaDB,首先啟動MariaDB

systemctl start mariadb

設定開機啟動

systemctl enable mariadb

接下來進行MariaDB的相關簡單配置

mysql_secure_installation

首先是設定密碼,會提示先輸入密碼

Enter current password for root (enter for none):<–初次執行直接回車

設定密碼

Set root password? [Y/n] <– 是否設定root使用者密碼,輸入y並回車或直接回車
New password: <– 設定root使用者的密碼
Re-enter new password: <– 再輸入一次你設定的密碼

其他配置

Remove anonymous users? [Y/n] <– 是否刪除匿名使用者,回車

Disallow root login remotely? [Y/n] <–是否禁止root遠端登入,回車,

Remove test database and access to it? [Y/n] <– 是否刪除test資料庫,回車

Reload privilege tables now? [Y/n] <– 是否重新載入許可權表,回車

初始化MariaDB完成,接下來測試登入

mysql -uroot -p

能進入mysql,完成mariadb的安裝

4. 設定hive

(1) nano /etc/profile

export HIVE_HOME=/home/linbin/software/hive-1.1.0-cdh5.15.1
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin

(2)  nano /home/linbin/software/hive-1.1.0-cdh5.15.1/conf/hive-site.xml

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://centos7:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
<description>password to use against metastore database</description>
</property>
</configuration>

5. 初始化hive

[[email protected] linbin]# schematool -dbType mysql -initSchema -servers hdfs://centos7:8020
初始化時,我遇到兩個狀況,首先是沒有mysql jdbc 驅動程式

下載或安裝 或直接複製 mysql-connector-java-8.0.13.jar  到hiveXX/lib 目錄

另外是遇到錯誤 org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version

是許可權問題  在mysql資料庫執行   GRANT ALL ON *.* to 'root'@'centos7' IDENTIFIED BY '123'; 

重啟 systemctl restart mariadb 

再執行# schematool -dbType mysql -initSchema -servers hdfs://centos7:8020  即可初始化成功

6. 可以開始使用hive了

(1)建表

   > create table fz
    >     (id int,name string,age int,tel string)
    >     ROW FORMAT DELIMITED
    >     FIELDS TERMINATED BY ','
    >     STORED AS TEXTFILE;
(2)裝入資料

load data local inpath '/root/fz.txt' into table fz;

(3)查詢

hive> select * from fz;
OK
1    fz    25    131888888888
2    test    20    13222222222
3    dx    24    183938384983
Time taken: 0.451 seconds, Fetched: 3 row(s)
-------------------------------------------------------------------------

7.hive 常用命令參考

https://blog.csdn.net/ddydavie/article/details/80667727 Hive入門及常用指令