前言
hive默認使用的是內嵌據庫derby,Derby 是一個嵌入式數據庫,可以輕松地以庫的形式集成到應用程序中。它不需要獨立的服務器進程,所有的數據存儲在應用程序所在的文件系統中。為了支持hive服務更方便的使用,我們使用mysql數據庫的方式,使得服務部署更加靈活。數據庫是分開部署的,使用十分靈活,性能也相對更高。
正文
-
上傳mysql安裝包和驅動到服務器/opt/softeware目錄
- 創建一個mysql5.7-inst目錄,將mysql安裝包解壓到mysql目錄?
- mkdir mysql5.7-inst
-?tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql5.7-inst/
- ?卸載系統自帶的mariadb數據庫,沒有則跳過此步驟
命令:sudo rpm -qa | grep mariadb | xargs sudo rpm -e --nodeps
- 安裝mysql?
- 安裝mysql依賴
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
- 安裝mysql客戶端
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
- 安裝mysql服務
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
- 啟動mysql服務,查看mysql狀態 ,驗證mysql是否安裝完成
- 啟動mysql服務:sudo systemctl start mysqld
- mysql設置為開機自啟動:sudo systemctl enable mysqld
- 修改mysql密碼?
- 查看mysql密碼:sudo cat /var/log/mysqld.log | grep password
- 使用臨時密碼登錄mysql:sudo mysql -uroot -p'TGZ.#v4fDqLJ'
- 更改mysql密碼策略,并修改mysql密碼
set global validate_password_policy=0; set global validate_password_length=4; set password=password("root");
?
- 進入mysql數據庫,將root訪問權限改為%
use mysql; #查看訪問權限 select user, host from user; #修改訪問權限 update user set host="%" where user="root"; #刷新權限 flush privileges;
- ?刪除derby數據庫默認的元數據庫信息
- 連接mysql數據庫,創建metastore數據庫用于hive使用
- 將mysql的數據庫驅動拷貝至hive安裝目錄下的lib目錄
?- 命令:cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
- 使用vi編輯器,創建hive-site.xml文件用于mysql連接等相關hive的配置
- hive-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- jdbc連接的URL --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop101:3306/metastore?useSSL=false</value></property><!-- jdbc連接的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><!-- jdbc連接的username--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!-- jdbc連接的password --><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property><!-- Hive默認在HDFS的工作目錄 --><property><name>hive.metastore.warehouse.dir</name><value>/hadoop/hive/warehouse</value></property> </configuration>
- ?初始化hive元數據庫
- 命令:bin/schematool -dbType mysql -initSchema -verbose
- 啟動hive,驗證是否安裝成功
結語
至此,關于使用mysql作為數據源存儲的hive服務安裝部署到這里就結束了,我們下期見。。。。。。。