溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

apache-hive安裝部署

發(fā)布時(shí)間:2020-05-21 03:17:22 來(lái)源:網(wǎng)絡(luò) 閱讀:841 作者:yr_linux運(yùn)維 欄目:大數(shù)據(jù)

前提:

安裝jdk

無(wú)密互通

安裝zookeeper

安裝hadoop


安裝mysql

yum安裝

mysql是做為元數(shù)據(jù)庫(kù),mysql安裝在mater主機(jī)上

 sudo yum install -y mysql mysql-server

 sudo service mysqld start

sudo mysql

編譯安裝mysql

先下載mysql二進(jìn)制安裝包,版本隨便挑

mysql安裝包下載地址:http://mirrors.sohu.com/mysql/

參考文檔:http://blog.csdn.net/t1dmzks/article/details/71374740

#創(chuàng)建數(shù)據(jù)存放目錄
#解壓文件
tar axf mysql-boost-5.7.18.tar.gz  -C /usr/local/
#編譯安裝
cd mysql-5.7.18

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DWITH_BOOST=boost -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

#安裝
make && make install && echo $?

#修改權(quán)限
chown -R mysql.mysql /data/mysqldb
chown -R mysql.mysql /usr/local/mysql

初始化mysql數(shù)據(jù)庫(kù)
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

注意框起來(lái)的那部分,是你的用戶密碼,現(xiàn)在mysql初始是有密碼的

apache-hive安裝部署

如果要重新初始化數(shù)據(jù)庫(kù)就刪除掉/data/mysqldb下的所有文件

rm -rf /data/mysqldb

修改

環(huán)境變量

在path中添加mysql的bin目錄

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile


查看mysql版本信息

mysql -V

apache-hive安裝部署


修改my.cnf主配置文件

[mysqld]

datadir=/data/mysqldb

socket=/usr/local/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

復(fù)制啟動(dòng)腳本

cd /usr/local/mysql

cp support-files/mysql.server /etc/init.d/mysqld

啟動(dòng)mysql

service  mysqld start

設(shè)置開(kāi)機(jī)啟動(dòng)

chkconfig --level 2345 mysqld on

設(shè)置環(huán)境變量

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin


source /etc/profile

登錄mysql并修改密碼(登錄密碼在初始化數(shù)據(jù)的時(shí)候有提示)

mysql -uroot -p'8XeyEBg_yLj6'

apache-hive安裝部署

grant不能用

mysql> SET PASSWORD = PASSWORD('mysql');

apache-hive安裝部署

ok,重新登錄

 mysql -uroot -pmysql

apache-hive安裝部署

沒(méi)有password字段了

查看表結(jié)構(gòu)

mysql> desc mysql.user;

apache-hive安裝部署

查看

select HOst,User,authentication_string from mysql.user;

apache-hive安裝部署

mysql.sys用戶貌似是新添的mysql的system用戶,密碼*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE,翻譯過(guò)來(lái)差不多就是沒(méi)有設(shè)置密碼,需要設(shè)置

通過(guò)support-files/mysqld_multi.server 可以輕松實(shí)現(xiàn)mysql多實(shí)例

參考:http://blog.csdn.net/miyatang/article/details/56846283

創(chuàng)建hive數(shù)據(jù)庫(kù)

創(chuàng)建hive數(shù)據(jù)庫(kù)

apache-hive安裝部署

創(chuàng)建hadoop用戶,并訪問(wèn)數(shù)據(jù)庫(kù)授權(quán)(這里權(quán)限給高的,應(yīng)該只給hive庫(kù)的權(quán)限)

apache-hive安裝部署


下載、安裝hive

如果下載報(bào)錯(cuò)請(qǐng)用瀏覽器查看 http://mirror.bit.edu.cn/apache/hive下版本是否發(fā)生變更

mkdir /data

cd /data

wget http://mirrors.hust.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz


tar axf apache-hive-1.2.2-bin.tar.gz



修改環(huán)境變量

vim /etc/profile

export HIVE_HOME=/data/apache-hive-1.2.2-bin

export PATH=$PATH:${HIVE_HOME}/bin

source /etc/profile

chown –R hadoop:hadoop /data/apache-hive-1.2.2-bin

create database hive;


為hive創(chuàng)建相應(yīng)的mysql賬戶,并賦予權(quán)限(上面弄了)

創(chuàng)建hive專(zhuān)用的元數(shù)據(jù)庫(kù)(用上面的hadoop用戶)


apache-hive安裝部署



生成hive-site.xml主配置文件

cp hive-default.xml.template hive-site.xml 

修改其中數(shù)據(jù)庫(kù)連接參數(shù)

  <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

    <description>Driver class name for a JDBC metastore</description>

  </property>


  <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://192.168.3.58:3306/hive?characterEncoding=UTF-8</value>

    <description>JDBC connect string for a JDBC metastore</description>

  </property>


  <property>

    <name>javax.jdo.option.ConnectionUserName</name>

    <value>hadoop</value>

    <description>Username to use against metastore database</description>

  </property>


  <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>hadoop</value>

    <description>password to use against metastore database</description>

  </property>


創(chuàng)建IO文件臨時(shí)存放目錄

mkdir ${HIVE_HOME}/iotmp

apache-hive安裝部署

修改hive-site.xml中的參數(shù)


  <property>

    <name>hive.querylog.location</name>

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Location of Hive run time structured log file</description>

  </property>


  <property>

    <name>hive.exec.local.scratchdir</name>

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Local scratch space for Hive jobs</description>

  </property>


  <property>

    <name>hive.downloaded.resources.dir</name>

    <value>/data/apache-hive-1.2.2-bin/iotmp</value>

    <description>Temporary local directory for added resources in the remote file system.</description>

  </property>


將mysql-connector-java-5.1.21.jar驅(qū)動(dòng)包,拷貝到 $HIVE_HOME/lib 目錄下。


mysql-connector-java下載地址

http://mvnrepository.com/artifact/mysql/mysql-connector-java



啟動(dòng)hadoop集群(需要datanode和namenode)

啟動(dòng)mysql


啟動(dòng)hive

apache-hive安裝部署


Logging initialized using configuration in jar:file:/data/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties是初始化日志模塊,需要?jiǎng)?chuàng)建hive-log4j.properties文件

cd ${HIVE_HOME}/conf

cp hive-log4j.properties.template hive-log4j.properties

cp hive-exec-log4j.properties.template hive-exec-log4j.properties

修改 hive-log4j.properties文件指定log存放路徑

vim hive-log4j.properties

hive.log.dir=/data/apache-hive-1.2.2-bin/log

創(chuàng)建目錄

mkdir /data/apache-hive-1.2.2-bin/log


apache-hive安裝部署



多節(jié)點(diǎn)hive構(gòu)建

hive是將數(shù)據(jù)存儲(chǔ)在mysql和hdfs中,只需要使用相同的元數(shù)據(jù)

先安裝單節(jié)點(diǎn)的hive

初始化hive元數(shù)據(jù)

schematool -dbType mysql -initSchema 


cd ${HIVE_HOME}/conf

cp hive-env.sh.template hive-env.sh

在hive-env.sh中指定JAVA_HOME、HADOOP_HOME、HIVE_HOME和HIVE_CONF_DIR


# Set HADOOP_HOME to point to a specific hadoop install directory

# HADOOP_HOME=${bin}/../../hadoop

HADOOP_HOME=/data/hadoop

JAVA_HOME=/usr/local/jdk

HIVE_HOME=/data/apache-hive-1.2.2-bin

# Hive Configuration Directory can be controlled by:

# export HIVE_CONF_DIR=

export HIVE_CONF_DIR=$HIVE_HOME/con


將文件文件復(fù)制到其他的機(jī)器上

[hadoop@master data]$ scp -r apache-hive-1.2.2-bin slave1:/data

[hadoop@master data]$ scp -r apache-hive-1.2.2-bin slave2:/data


其他節(jié)點(diǎn)也需要修改/etc/profile文件

[root@master hadoop]# scp -r /etc/profile slave1:/etc/

[root@master hadoop]# scp -r /etc/profile slave2:/etc/


節(jié)點(diǎn)一啟動(dòng)metastore服務(wù)(會(huì)占用窗口,可用nohup)

[hadoop@master data]$ hive --service metastore


節(jié)點(diǎn)二啟動(dòng)metastore服務(wù)

[hadoop@slave1 /]$ source /etc/profile

[hadoop@slave1 /]$ hive --service metastore


節(jié)點(diǎn)三啟動(dòng)metastore服務(wù)

[hadoop@slave1 /]$ source /etc/profile

[hadoop@slave1 /]$ hive --service metastore


訪問(wèn)測(cè)試

創(chuàng)建一個(gè)測(cè)試表

create table test_hive (id bigint, name string) row format delimited fields terminated by '\t';

apache-hive安裝部署apache-hive安裝部署apache-hive安裝部署

未完待續(xù)


參考文檔

hive安裝與使用(推薦):http://www.cnblogs.com/zlslch/p/6039901.html

hive安裝與部署:http://www.cnblogs.com/zlslch/p/6700695.html

Hive最新數(shù)據(jù)操作詳解(超級(jí)詳細(xì)):http://blog.csdn.net/yhao2014/article/details/46312469

Hive之import和export使用詳解:http://www.cnblogs.com/wcwen1990/p/6845850.html


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI