hive搭建與簡單使用(1)
標簽(空格分隔): hive,mysql
hive相當於編譯器的組件,他並不存儲數據,元數據存儲在mysql中,數據則存放在hdfs中,通過hive,可以利用sql語句對存儲在hdfs的數據進行處理。
安裝前准備
Hadoop要搭建好(參考前面的文章)
mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
apache-hive-2.1.1-bin.tar.gz
mysql安裝參考了博客:https://www.cnblogs.com/clsn/p/8025324.html
注意事項
我的路徑放在了/root/下,你要根據自己的情況去修改下面的操作
操作系統是centos7
詳細搭建步驟
1.mysql的安裝
1.搭建mysql,mysql不需要在每台機子上都安裝,只需要在namenode(主機)上安裝就行了,如果確保高可用,還可以做一個主從復制。
2.將此壓縮包放在/root/目錄下,並執行解壓命令:
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
3.創建一個不能登陸系統但是可以管理數據庫存儲目錄的用戶mysql:
cd mysql
useradd -s /sbin/nologin -M mysql
4.對數據庫存儲目錄進行授權:
chown -R mysql.mysql ./mysql/data/
5.初始化數據庫:
./mysql/scripts/mysql_install_db --basedir=/root/mysql --datadir=/root/mysql/data --user=mysql
###備注:這一步可能會報錯,是因為沒有下載perl 和 perl-devel,用yum進行安裝即可
6.將啟動腳本放到啟動目錄中,並對兩個文件中路徑進行修改:
cp /root/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/root/mysql#g' /root/mysql/bin/mysqld_safe
sed -i 's#/usr/local/mysql#/root/mysql#g' /etc/init.d/mysql
7.將mysql自帶的配置文件復制為/etc/my.cnf:
cp /root/mysql/support-files/my-default.cnf /etc/my.cnf
8.啟動mysql,執行命令:
service mysqld start
9.設置root用戶密碼:
/root/mysql/bin/mysqladmin -u root password 'mysql123456'
10.登錄mysql,執行命令:
/root/mysql/bin/mysql -uroot -pmysql123456
2.hive的安裝
1.解壓hive,采用的版本是apache-hive-2.1.1-bin.tar.gz
tar xf apache-hive-2.1.1-bin.tar.gz
mv apache-hive-2.1.1-bin hive
2.添加到環境變量,在/etc/profile加上
export HIVE_HOME=/root/hive
export HIVE_CONF_DIR=/root/hive/conf
PATH=$PATH:$HIVE_HOME/bin
#保存退出后,執行 source /etc/profile 讓環境變量生效
3.啟動Hadoop
start-all.sh
4.利用Hadoop創建一些必要的目錄(配置文件要用到這些目錄),並賦予權限
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod -R 777 /user/hive/warehouse
hadoop fs -mkdir -p /tmp/hive
hadoop fs -chmod -R 777 /tmp/hive
cd /root/hive
mkdir tmp
chmod 777 ./tmp
5.修改hive-env.sh
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
#將下面三行寫入這個配置文件,注意用自己的路徑
HADOOP_HOME=/root/hadoop-2.8.0
export HIVE_CONF_DIR=/root/hive/conf
export HIVE_AUX_JARS_PATH=/root/hive/lib
6.修改hive-site.xml
cd /root/hive/conf
cp hive-default.xml.template hive-site.xml
#下面兩個命令把配置文件中的兩個變量進行全部替換
#這個/root/hive/tmp就是之前創建的
#這個root是我的用戶名
sed -i ‘s#${system:java.io.tmpdir}#/root/hive/tmp#g’ hive-site.xml
sed -i ‘s#${system:user.name}#root#g’ hive-site.xml
7.修改hive-site.xml中關於mysql的配置
將javax.jdo.option.ConnectionDriverName的值改成mysql驅動:
com.mysql.jdbc.Drive
將javax.jdo.option.ConnectionURL的值改成mysql連接路徑:
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
將javax.jdo.option.ConnectionUserName的值改成mysql用戶名:root
將javax.jdo.option.ConnectionPassword的值改成mysql密碼:mysql123456
8.下載mysql驅動包
cd /root/hive/lib
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
9.對mysql進行初始化
cd /root/hive/bin
./schematool -initSchema -dbType mysql
10.執行命令hive
,查看是否安裝成功
至此,hive搭建完成,本代碼已經過實驗,請放心使用,但還是需要根據情況做適當修改
新手上路,錯誤在所難免,懇請大家多多指正