Hive集群安装配置

来源:互联网 发布:淘宝买轮毂 编辑:程序博客网 时间:2024/06/16 09:10

安装hive之前,需要将jdk安装配置好 ,hadoop集群搭建好。

安装配置jdk, hadoop此处略,jdk1.7  , hadoop 2.6.0。


系统环境,vmware开了三台虚拟机。

node1 

node2

node3


官网下载hive包,然后在hadoop目录下解压

tar -zxvf ./hive.............tar.gz


然后在 /etc/profile 配置hive环境变量

vi /etc/profile


export HIVE_HOME=/usr/hadoop/hive

export PATH=$PATH:$HIVE_HOME/bin

source /etc/profile



获取MySQL安装包并安装


# wget http://dev.mysql.com/get/downloads/mysql/mysql-5.6.25.tar.gz
# tar zxvf mysql-5.6.25.tar.gz
# cd mysql-5.6.25
# cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1


如果报错找不到CMakeCache.txt则说明没安装ncurses-devel


# make && make install


修改目录权限


# chmod +w /data/mysql/
# chown -R mysql:mysql /data/mysql/
# ln -s /data/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
# ln -s /data/mysql/mysql.sock /tmp/mysql.sock


初始化数据库


# cp /data/mysql/support-files/my-default.cnf /etc/my.cnf
# cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
# /data/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/data/mysql --datadir=/data/mysql/data


启动MySQL服务


# chmod +x /etc/init.d/mysqld
# service mysqld start
#ln –s /data/mysql/bin/mysql /usr/bin/


初始化密码

#mysql -uroot  -h127.0.0.1 -p
mysql> SET PASSWORD = PASSWORD('123456');


创建Hive用户


mysql>CREATE USER 'hive' IDENTIFIED BY 'hive';
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop-master' WITH GRANT OPTION;
mysql>flush privileges;


Hive用户登录


[hadoop@node1 ~]mysql -h node1 -uhive
mysql>set password = password('hive');


创建Hive数据库


mysql>create database hive;


配置Hive


修改配置文件 
进入到hive的配置文件目录下,找到hive-default.xml.template,cp份为hive-default.xml 
另创建hive-site.xml并添加参数


[hadoop@node1 conf]$ pwd
/home/hadoop/hive/conf
[hadoop@node1 conf]$ vi hive-site.xml
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>    
    </property>   
    <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.ConnectionUserName</name>
        <value>hive<value>
        <description>username to use against metastore database</description>
    </property>
    <property>  
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
        <description>password to use against metastore database</description>  
    </property>          
</configuration>


JDBC下载


[hadoop@node1 ~]$ wget http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.36.tar.gz
[hadoop@node1~]$ ls
hive  dfs  hadoop-2.7.1  Hsource  tmp
[hadoop@node1 ~]$ cp mysql-connector-java-5.1.33-bin.jar apache-hive-1.2.1-bin/lib/


Hive客户端配置


[hadoop@node1 ~]$ scp -r hive/ hadoop@node1:/usr/hadoop
[hadoop@node2 conf]$ vi hive-site.xml
<configuration>
    <property>  
        <name>hive.metastore.uris</name>  
    <value>thrift://hadoop-master:9083</value>  
    </property>
</configuration>


Hive启动


要启动metastore服务


[hadoop@node1 ~]$ hive --service metastore &
[hadoop@node1 ~]$ jps
10288 RunJar  #多了一个进程
9365 NameNode
9670 SecondaryNameNode
11096 Jps
9944 NodeManager
9838 ResourceManager
9471 DataNode


Hive服务器端访问


[hadoop@node1 ~]$ hive
Logging initialized using configuration in jar:file:/usr/hadoop/hive/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> show databases;
OK
default
src
Time taken: 1.332 seconds, Fetched: 2 row(s)
hive> use src;
OK
Time taken: 0.037 seconds
hive> create table test1(id int);
OK
Time taken: 0.572 seconds
hive> show tables;
OK
abc
test
test1
Time taken: 0.057 seconds, Fetched: 3 row(s)
hive>


Hive客户端访问


[hadoop@node2]$ hive
Logging initialized using configuration in jar:file:/usr/hadoop/hive/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> show databases;
OK
default
src
Time taken: 1.022 seconds, Fetched: 2 row(s)
hive> use src;
OK
Time taken: 0.057 seconds
hive> show tables;
OK
abc
test
test1
Time taken: 0.218 seconds, Fetched: 3 row(s)
hive> create table test2(id int ,name string);
OK
Time taken: 5.518 seconds
hive> show tables;
OK
abc
test
test1
test2
Time taken: 0.102 seconds, Fetched: 4 row(s)
hive>


好了,测试完毕,已经安装成功了。


如果想利用代码远程访问,操作 hive 数据库。

请输入
hive --service hiveserver2.

然后在利用代码远程操作hive数据库。

0 0