學習筆記:從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入門及常用指令