1. 程式人生 > >大資料平臺hive原生搭建教程

大資料平臺hive原生搭建教程

環境準備

centos 7.1系統

需要三臺雲主機:

master(8) 作為 client 客戶端 slave1(9) 作為 hive server 伺服器端 slave2(10) 安裝 mysql server

安裝包使用的是官網下載的

將hive上傳到master ,mysql上傳到lib

搭建開始

slave2節點執行:

0x1.安裝 EPEL 源:

yum -y install epel-release

0x2.安裝 MySQL server 包,下載源安裝包:

wget  http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 

注意如果報錯沒找到命令就先安裝wget命令

0x3安裝源:

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

檢視是否安裝成功:cd /etc/yum.repos.d

0x4啟動mysql

過載所有修改過的配置檔案:systemctl daemon-reload

開啟服務:systemctl start mysqld

開機自啟:systemctl enable mysqld

獲取初密碼:grep password  /var/log/mysqld.log

登陸 MySQL:mysql -uroot -p

0x5更改資料庫安全策略

設定密碼強度為低階:set global validate_password_policy= 0;

設定密碼長度:set global validate_password_length=4;

修改本地密碼:alter user 'root'@'localhost' identified by '123456';

退出:exit

ps:密碼強度分級如下: 0 為 low 級別,只檢查長度; 1 為 medium 級別(預設),符合長度為 8,且必須含有數字,大小寫,特殊 字元; 2 為 strong 級別,密碼難度更大一些,需要包括字典檔案。 密碼長度最低長為 4,當設定長度為 1、2、3 時,其長度依然為 4。密碼強度分級如下: 0 為 low 級別,只檢查長度; 1 為 medium 級別(預設),符合長度為 8,且必須含有數字,大小寫,特殊 字元; 2 為 strong 級別,密碼難度更大一些,需要包括字典檔案。 密碼長度最低長為 4,當設定長度為 1、2、3 時,其長度依然為 4。

0x6 設定遠端登入

以新密碼登陸 MySQL:mysql -uroot -p123456

建立使用者:create user 'root'@'%' identified by '123456';

允許遠端連線:grant all privileges on *.* to 'root'@'%' with grant option;

重新整理許可權:flush privileges;

0x7Slave1 上安裝 hive

master 中操作如下:

mkdir -p /usr/hive

tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/

然後再slave1節點也建立hive資料夾

scp -r /usr/hive/apache-hive-2.1.1-bin [email protected]:/usr/hive/

0x8修改環境變數

修改/etc/profile 檔案設定 hive 環境變數。(master 和 slave1 都執 )。

vi /etc/profile

export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin 

source /etc/profile

0x9修改配置檔案

將上傳到lib的mysql-connector-java-5.1.5-bin.jar分發到slave1

scp /lib/mysql-connector-java-5.1.5-bin.jar [email protected]:/usr/hive/apache-hive-2.1.1-bin/lib

然後修改slave1 的配置檔案--hive-env.sh(在/usr/hive/apache-hive-2.1.1-bin/conf檔案)

生成配置檔案 

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

 在配置檔案新增:HADOOP_HOME=/usr/hadoop/hadoop-2.7.3(根據自己設定來)

 

建立hive-site.xml檔案

[[email protected] conf]# vi hive-site.xml 
<configuration> 
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive_remote/warehouse</value>
        </property> 
        <property> 
                <name>javax.jdo.option.ConnectionURL</name> 
                <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</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>123456</value> 
        </property> 
        <property>
                <name>hive.metastore.schema.verification</name> 
                <value>false</value> 
        </property>
        <property> 
                <name>datanucleus.schema.autoCreateAll</name>
                <value>true</value> 
        </property>

在master節點配置客戶端

由於客戶端需要和 Hadoop 通訊,所以需要更改 Hadoop 中 jline 的版本。即 保留一個高版本的 jline jar 包,從 hive 的 lib 包中拷貝到 Hadoop 中 lib 位置為/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。

cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar  /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

同樣修改 hive-env.sh

[[email protected] conf]# vi hive-site.xml 
<configuration>
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive_remote/warehouse</value> 
        </property> 
        <property>
                <name>hive.metastore.local</name> 
                <value>false</value> 
        </property>
        <property>
                <name>hive.metastore.uris</name> 
                <value>thrift://slave1:9083</value> 
        </property>
</configuration> 

0x10 啟動hive

在slave1節點輸入bin/hive(在/usr/hive/apache-hive-2.1.1-bin輸入)

成功執行就一直是這個介面 

 

 

同樣在master輸入  bin/hive

成功執行會顯示

 

測試 hive 是否啟動成功: hive>show databases;

輸入jps顯示這個