mac hive mysql 配置_Hive环境搭建-Mac、Hadoop、Yarn、Hive、MySQL

本文将介绍hive环境在Mac上的完整搭建过程,其他机器上的安装过程大同小异,可直接参考官网教程。

开发环境MacOS High Sierra 10.13.5

Java version "1.8.0_171"

hadoop 3.1.2

hive 3.1.1

MySQL 5.7.25

Hadoop安装

Standalone模式:非分布式,只有一个Java进程。

Pseudo-Distributed模式(伪分布): 只有一个节点,但是可以用Java的多个进程来模拟分布式环境,以下将按照伪分布模式进行配置。

安装Hadoop需要提前安装Java、ssh,Hadoop 2.7及以上版本要求最低Java7,这里我使用的是Java8。etc/hadoop/core-site.xml增加配置项:

fs.defaultFS

hdfs://localhost:9000

etc/hadoop/hdfs-site.xml增加配置项:

dfs.replication

1

测试ssh localhost是否能免密登录,下面是能免密登录的情况:

yitian@MacBook-Pro:~/softwares/hadoop-3.1.2$ ssh localhost

Last login: Tue May 14 20:34:51 2019

如果不能免密登录,请将本机的公钥复制到~/.ssh/authorized_keys,如果本地连公钥都没有,需要先生成一下。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

也有可能出现Connection refused,那是因为你的Mac没有打开远程登录功能。

yitian@MacBook-Pro:~/softwares/hadoop-3.1.2$ ssh localhost

ssh: connect to host localhost port 22: Connection refused

解决方法:系统偏好设置 > 选择共享 > 远程登录(勾上)使用HDFS

首先格式化文件系统:

bin/hdfs namenode -format

启动 NameNode 和 DataNode 进程:

sbin/start-dfs.sh

简单测试一下,放几个文件到HDFS上:

bin/hdfs dfs -mkdir input

bin/hdfs dfs -put etc/hadoop/*.xml input

关闭HDFS:

sbin/stop-dfs.sh使用Yarn进行Hadoop的资源管理,只需要更改两个配置文件。

etc/hadoop/mapred-site.xml增加配置项:

mapreduce.framework.name

yarn

mapreduce.application.classpath

$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*

etc/hadoop/yarn-site.xml增加配置项:

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

测试Yarn,使用以下命令启动和关闭 ResourceManager、NodeManager 进程:

sbin/start-yarn.sh

sbin/stop-yarn.sh

ResourceManager 的默认地址: http://localhost:8088/

sbin/start-all.sh

sbin/stop-all.sh

start-dfs.sh 只启动了HDFS的NameNode 和DataNode,start-all.sh还启动了Yarn的ResourceManager 和NodeManager,建议直接使用start-all.sh。

可以用jps查看已启动的进程

42112 DataNode

42450 ResourceManager

42258 SecondaryNameNode

42547 NodeManager

42014 NameNode

我这里一次性把所有环境变量都配好,下面如果涉及到环境变量配置的部分可以返回这里查看。

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/"

export HADOOP_HOME="/Users/yitian/softwares/hadoop-3.1.2/"

export HIVE_HOME="/Users/yitian/softwares/apache-hive-3.1.1-bin/"

PATH="${JAVA_HOME}/bin/:${HADOOP_HOME}/bin/:${HADOOP_HOME}/sbin/:${HIVE_HOME}/bin:${PATH}"

export PATH

Hive安装修改~/.bash_profile设置环境变量HIVE_HOME、HADOOP_HOME,记得source ~/.bash_profile生效。

创建HDFS目录并修改权限

$HADOOP_HOME/bin/hadoop fs -mkdir /tmp

$HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse

$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp

$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse从Hive2.1起,必须先用schematool进行一次初始化,比如使用内嵌的derby数据库进行初始化。

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Hive schematool 可以初始化Hive的Metastore schema 或从旧版本升级。

Hive installation issues: Hive metastore database is not initialized如果碰到这种报错,可以参考RJ Code的回答。Hive installation issues: Hive metastore database is not initialized 解决方法:

如果没有初始化,直接schematool -dbType derby -initSchema

如果之前初始化过,可以删除metastore_db目录,然后重新schematool -dbType derby -initSchema

好,安装完成,可以进行各种测试了。

运行Hive-CLI

$HIVE_HOME/bin/hive

# 因为配过环境变量了,可以直接hive进入CLI

hive

derby内置数据库非常小巧,很适合做各种快速测试,在同一个目录下同时只能有一个hive客户端能使用数据库,不适合线上实际应用。如果确实想用derby 做元数据的server,可以参考Hive Using Derby in Server Mode。

推荐使用MySQL做元数据管理,下面介绍下如何配置。

MySQL安装

安装过程会弹出提示窗口,告知初始root密码,一定要记录下来。

修改root密码:

set password for root@localhost = password('Password');

元数据库从derby切换为MySQL

我们将使用本地的MySQL做测试,只需要创建conf/hive-site.xml,配置以下四个属性即可。

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.cj.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

Password

jdbc:mysql://localhost:3306/hiver?createDatabaseIfNotExist=true如果MySQL中不存在hive这个数据库,hive将会自动创建这个数据库。

下载最新版本mysql-connector-java-8.0.16.jar,并将它拷贝至$HIVE_HOME/lib/目录下,因为用的比较新的MySQL驱动版本,ConnectionDriverName为com.mysql.cj.jdbc.Driver,较老的版本可能配置为com.mysql.jdbc.Driver。

重新初始化schema

schematool -dbType mysql -initSchema

# 进入hive

hive

至此,安装完成,可以愉快的开始hive之旅了。

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值