Hadoop_Hive本地模式部署
mysql安裝
此過程最好使用root使用者來執行,因為一些許可權問題,使用root會更方便
解除安裝CentOS7自帶的mariadb
列出所有被安裝的rpm package:rpm -qa|grep mariadb
解除安裝:rpm -e mairadb package
如果有錯誤:依賴檢測失敗:云云~~
則強制解除安裝:rpm -e --nodeps 你的mairadb package
建立mysql安裝包存放點
我將其存放在/opt/software/mysql
中,可已根據自己需要設定
上傳mysql安裝包到存放點中,解壓
//蒟蒻的mysql安裝包是 mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
解壓:tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
執行安裝
yum -y install libaio
蒟蒻顯示的是最新版本,那本蒟蒻就不管了
安裝命令:rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
初始化mysql
mysqld --initialize
更改所屬組
chown mysql:mysql /var/lib/mysql -R
啟動mysql
systemctl start mysqld.service
檢視生成的臨時root密碼
cat /var/log/mysqld.log
這行日誌就是最後生成的隨機密碼
[Note] A temporary password is generated for root@localhost: o+TU+KDOm004
登入mysql,修改mysql root密碼,授權遠端訪問
登入進mysql中後執行mysql -u root -p
來修改密碼
本蒟蒻將密碼設為了hadoop
授權:在mysql中執行
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
還可以將其他使用者加入進來,本蒟蒻再授權給cheetah使用者
GRANT ALL PRIVILEGES ON *.* TO 'cheetah'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
最後在sql中執行mysql> FLUSH PRIVILEGES;
以更新授權
mysql的其他operation
mysql的啟動和關閉 狀態檢視
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
因為以後一直要用到,建議設定為開機自動啟動
systemctl enable mysqld
檢視是否已經設定開機自啟動成功
systemctl list-unit-files | grep mysqld
hive配置
上傳並解壓安裝包
//本蒟蒻安裝包為apache-hive-3.1.2-bin.tar.gz
來到安裝包目錄
解壓:tar zxvf apache-hive-3.1.2-bin.tar.gz
並將其改名(可有可無,方便後續操作
mv apache-hive-3.1.2-bin /opt/module/hive-3.1.2
解決hive與hadoop之間的guava版本差異
將hive lib資料夾中的guava檔案刪除
在hive根目錄中執行rm -rf lib/guava-19.0.jar
再將hadoop中的guava檔案複製過來:cp hadoop根目錄/share/hadoop/common/lib/guava-27.0-jre.jar hive根目錄/lib/
新增mysql jdbc驅動到hive lib目錄下
本蒟蒻使用的是 mysql-connector-java-5.1.32.jar
將其移動到hive的lib資料夾中即可
修改hive環境變數檔案
將hive根目錄中conf資料夾下的hive-env.sh.template
改名為hive-env.sh
(直接建立一個hive-env.sh
也可以
再對其進行新增
加入以下:
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib
(以上均為本蒟蒻的路徑,諸位佬爺根據實際情況更改
新增hive-site
在hive的conf目錄下新建一個hive-site.xml
vim hive-site.xml
將以下配置資訊新增到hive-site.xml
中
<configuration>
<!-- 儲存元資料mysql相關配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!-- 注意此處的mysql地址是您的地址,本蒟蒻就填錯了一遍 -->
<value> jdbc:mysql://hadoop102:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>
<!-- 這裡為您設定的mysql密碼 -->
</property>
<!-- 關閉元資料儲存授權 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- 關閉元資料儲存版本的驗證 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
初始化metadata
在hive根目錄中初始化:bin/schematool -initSchema -dbType mysql -verbos
//初始化成功mysql的hive庫中會存在74張表
啟動hive
(記得在啟動前將叢集啟動
在hive根目錄下執行bin/hive