1.准备
提前准备好对应版本的jar包 apache-hive-2.3.6-bin.tar.gz hadoop-2.7.7.tar.gz spark-3.0.0-preview-bin-hadoop2.7.tgz hive-jdbc-2.3.6.jar
mac环境下开放22端口,需打开系统配置中,共享中的远程登录。 免密登录,cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
2.配置
- 环境变量配置 ```` export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home export CLASS_PATH=$JAVA_HOME/lib export PATH=$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin
export HADOOP_HOME=/Users/xuguangwu/server/hadoop-2.7.7 export HADOOP_HOME export PATH=$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin:$GRADLE_HOME/bin:$HADOOP_HOME/bin
export SPARK_HOME=/Users/xuguangwu/server/spark-3.0.0-preview-bin-hadoop2.7 export PATH=${SPARK_HOME}/bin:$PATH
export HIVE_HOME=/Users/xuguangwu/server/hive-2.3.6 export PATH=${HIVE_HOME}/bin:$PATH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
* hadoop(hdfs)配置
+ core-site.xml,配置namenode的hdfs通信地址
+ hdfs-site.xml,配置数据块的副本数
+ slaves,配置集群节点
+ 初始化namenode,hdfs namenode -format
+ 启动,sbin目录下,start-dfs.sh
* hadoop(yarn)配置
+ mapred-site.xml,配置mapreduce.framework.name
+ yarn-site.xml,配置yarn.nodemanager.aux-services
+ start-yarn.sh
* hive配置
+ hive-env.sh,配置HADOOP_HOME
+ hive-site.xml,配置ConnectionURL,ConnectionDriverName,ConnectionUserName,ConnectionPassword
+ 将driver驱动拷贝到hive的lib下
+ 初始化元数据库,schematool -dbType mysql -initSchema
* HiveServer2
+ 配置hadoop的hdfs-site.xml,指定hadoop的root用户代理本机上所有的用户,hadoop.proxyuser.root.hosts,hadoop.proxyuser.root.groups
+
* spark配置
3.问题解决
* Hive启动异常
Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name}
解决方法,在hive-site.xml中添加
1
2
3
* jdbc连接异常
因为我本地用到的是mysql8,驱动版本以及配置的url都需要更改。
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/hive?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL jdbc.username=root jdbc.password=root
1
驱动包版本
````
4.常见操作
- beeline连接db !connect jdbc:mysql://localhost:3306