您好,登錄后才能下訂單哦!
前提:
安裝jdk
無密互通
安裝zookeeper
安裝hadoop
安裝mysql
yum安裝
mysql是做為元數據庫,mysql安裝在mater主機上
sudo yum install -y mysql mysql-server
sudo service mysqld start
sudo mysql
編譯安裝mysql
先下載mysql二進制安裝包,版本隨便挑
mysql安裝包下載地址:http://mirrors.sohu.com/mysql/
參考文檔:http://blog.csdn.net/t1dmzks/article/details/71374740
#創建數據存放目錄 #解壓文件 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 $? #修改權限 chown -R mysql.mysql /data/mysqldb chown -R mysql.mysql /usr/local/mysql 初始化mysql數據庫 cd /usr/local/mysql ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql
注意框起來的那部分,是你的用戶密碼,現在mysql初始是有密碼的
如果要重新初始化數據庫就刪除掉/data/mysqldb下的所有文件
rm -rf /data/mysqldb
修改
環境變量
在path中添加mysql的bin目錄
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin |
source /etc/profile
查看mysql版本信息
mysql -V
修改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 |
復制啟動腳本
cd /usr/local/mysql cp support-files/mysql.server /etc/init.d/mysqld |
啟動mysql
service mysqld start |
設置開機啟動
chkconfig --level 2345 mysqld on |
設置環境變量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
登錄mysql并修改密碼(登錄密碼在初始化數據的時候有提示)
mysql -uroot -p'8XeyEBg_yLj6' grant不能用 |
mysql> SET PASSWORD = PASSWORD('mysql'); |
ok,重新登錄 |
mysql -uroot -pmysql |
沒有password字段了 |
查看表結構 |
mysql> desc mysql.user; |
查看 select HOst,User,authentication_string from mysql.user; |
mysql.sys用戶貌似是新添的mysql的system用戶,密碼*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE,翻譯過來差不多就是沒有設置密碼,需要設置 |
通過support-files/mysqld_multi.server 可以輕松實現mysql多實例 參考:http://blog.csdn.net/miyatang/article/details/56846283 |
創建hive數據庫
創建hive數據庫
創建hadoop用戶,并訪問數據庫授權(這里權限給高的,應該只給hive庫的權限)
下載、安裝hive
如果下載報錯請用瀏覽器查看 http://mirror.bit.edu.cn/apache/hive下版本是否發生變更
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
修改環境變量
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創建相應的mysql賬戶,并賦予權限(上面弄了)
創建hive專用的元數據庫(用上面的hadoop用戶)
生成hive-site.xml主配置文件
cp hive-default.xml.template hive-site.xml
修改其中數據庫連接參數
<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> |
創建IO文件臨時存放目錄
mkdir ${HIVE_HOME}/iotmp
修改hive-site.xml中的參數
<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驅動包,拷貝到 $HIVE_HOME/lib 目錄下。
mysql-connector-java下載地址
http://mvnrepository.com/artifact/mysql/mysql-connector-java
啟動hadoop集群(需要datanode和namenode)
啟動mysql
啟動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是初始化日志模塊,需要創建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 |
創建目錄
mkdir /data/apache-hive-1.2.2-bin/log
多節點hive構建
hive是將數據存儲在mysql和hdfs中,只需要使用相同的元數據
先安裝單節點的hive
初始化hive元數據
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 |
將文件文件復制到其他的機器上
[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
其他節點也需要修改/etc/profile文件
[root@master hadoop]# scp -r /etc/profile slave1:/etc/
[root@master hadoop]# scp -r /etc/profile slave2:/etc/
節點一啟動metastore服務(會占用窗口,可用nohup)
[hadoop@master data]$ hive --service metastore
節點二啟動metastore服務
[hadoop@slave1 /]$ source /etc/profile
[hadoop@slave1 /]$ hive --service metastore
節點三啟動metastore服務
[hadoop@slave1 /]$ source /etc/profile
[hadoop@slave1 /]$ hive --service metastore
訪問測試
創建一個測試表
create table test_hive (id bigint, name string) row format delimited fields terminated by '\t';
未完待續
參考文檔:
hive安裝與使用(推薦):http://www.cnblogs.com/zlslch/p/6039901.html
hive安裝與部署:http://www.cnblogs.com/zlslch/p/6700695.html
Hive最新數據操作詳解(超級詳細):http://blog.csdn.net/yhao2014/article/details/46312469
Hive之import和export使用詳解:http://www.cnblogs.com/wcwen1990/p/6845850.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。