Chinaunix首页 | 论坛 | 博客
  • 博客访问: 73465
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 79
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-02 10:14
文章分类

全部博文(8)

文章存档

2018年(2)

2017年(6)

我的朋友

分类: 大数据

2018-07-24 22:21:39

一、环境信息:


点击(此处)折叠或打开

  1. Master:116.85.xxx.147
  2. Slave1: 116.85.xxx.149
  3. Slave2: 116.85.xxx.148
  4. OS:CentOS7.4
(Ps:原谅我是ECS,使用的公网IP,不方便透露^_^)

二、实施步骤

1、关闭防火墙、selinux(过程略)
2、安装JDK(过程略)

官网下载rpm安装即可
3、3个节点做/etc/hosts解析(过程略)
4、下载hive安装包
Master下载

点击(此处)折叠或打开

  1. #wget http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
  2. #tar xf apache-hive-1.2.2-bin.tar.gz -C /hadoop/
  3. #ln -s /hadoop/apache-hive-1.2.2-bin hive
5、修改hive配置
安装包只提供一个模板文件 hive-default.xml.template,需要我们手工修改
  1. #cd /hadoop/hive/conf/
  2. #mv hive-default.xml.template hive-site.xml
  3. #mv hive-log4j.properties.template hive-log4j.properties
  4. #vim hive-site.xml

点击(此处)折叠或打开

  1. <configuration>
  2.         <property>
  3.                 <name>javax.jdo.option.ConnectionURL</name>
  4.                 <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
  5.         </property>
  6.         <property>
  7.                 <name>javax.jdo.option.ConnectionDriverName</name>
  8.                 <value>com.mysql.jdbc.Driver</value>
  9.         </property>
  10.         <property>
  11.                 <name>javax.jdo.option.ConnectionUserName</name>
  12.                 <value>root</value>
  13.         </property>
  14.         <property>
  15.                 <name>javax.jdo.option.ConnectionPassword</name>
  16.                 <value>hadoop</value>
  17.         </property>
  18. </configuration>
注:这里我使用的是MySQL作为数据库,数据库账号为root,密码hadoop
6、配置hive的环境变量
#vim /etc/profile
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH
#source /etc/profile
7、安装MySQL
CentOS7默认使用的MySQL分支 MariaDB
 #yum -y install mariadb*  
 #mysqladmin -uroot password hadoop
 #systemctl start mariadb
 #systemctl enable mariadb //开机自启
 #mysql -uroot -phadoop
 mysql> grant all on *.* to 'root'@'%' identified by 'hadoop';
 mysql>flush privileges;
 mysql>exit
8、安装MySQL连接工具
这里使用的rpm方式安装
Master端:
#wget
//从MySQL官网下载
//mysql-connector-java 依赖java-headless
#yum -y install java-headless
#rpm -ivh mysql-connector-java-8.0.111-.el7.noarch.rpm
复制链接库文件
#rpm -ql mysql-connector-java

将jar包拷贝到hive的lib下
#
cp /usr/share/java/mysql-connector-java-8.0.11.jar /hadoop/hive/lib/
9、拷贝安装包
将Master端配置好的hive拷贝到2个slave节点
scp -r /usr/local/src/apache-hive-1.2.2-bin root@slave1:/usr/local/src/apache-hive-1.2.2-bin
scp -r /usr/local/src/apache-hive-1.2.2-bin root@slave2:/usr/local/src/apache-hive-1.2.2-bin
10、启动hive
#/hadoop/hive/bin/hive

11、测试
 hive> create database test_for_hive;
 OK
 Time taken: 1.243 seconds
 hive> show databases;
 OK
 default
 hice_test
 hive_test2
 test_for_hive
 Time taken: 1.3 seconds, Fetched: 4 row(s)

<--------------------------->











阅读(2888) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

豆浆_tony2018-07-24 22:33:21

启动Hive服务
#Master
hive

[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expe
cted
错误原因:
在$hive/lib目录中存在jline-x-x.jar,而/hadoop-x-x/share/hadoop/yarn/lib目录中存在老版本的jline-x-x.jar
解决办法:
将hive中新版本的jar包复制到hadoop中
执行命令:
cp /hadoop/hive/lib/jline-2.12.jar /hadoop/hadoop-2.6.1/share/hadoop/yarn/lib/
mv /hadoop/hadoop-2.6.1/share/hadoop/yarn/lib/jline-0.9