Mac下安装hadoop3.2.1和hive3.1.2

一、安装hadoop及其配置

这两天安装hadoop踩了很多坑,也看了好多教程,弄清楚了所有的流程。踩在巨人的肩膀上,把流程和遇到的问题总结一下。
1、ssh 进行免密设置
(1)打开系统偏好设置–>共享,进行如下设置
Mac下安装hadoop3.2.1和hive3.1.2_第1张图片
(2)打开终端,输入如下指令,回车
ssh localhost
然后输入管理密码,出现如下界面 在这里插入图片描述
(3)在终端输入如下指令,进行免密设置

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

(4)在终端重新输入ssh localhost,发现不需要密码则ssh配置好了

2、jdk配置,先在终端输入:java -version,查看是否安装了jdk,如果有但是不是java8版本,最好重新装,因为我以前是java14,最后执行的时候出错,看了一些教程说要换成java8,最后我重新换了java8,hadoop才安装成功。
安装java8用brew安装方便。指令如下:

brew cask install adoptopenjdk8

(2)在输入java -version查看版本
在这里插入图片描述

(3)jdk配置,在终端输入,vi ~/.bash_profile,按i进入编辑环境,然后加入如下代码(我的JAVA_HOME路径是“/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home”,路径如果有所不同要把路径改下,其他不变)

JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存:wq退出,最后在终端输入 source ~/.bash_profile修改。

3、安装hadoop
(1)前期的准备工作做好了,现在可以安装hadoop了,在终端输入如下命令,进行hadoop安装。

brew install hadoop

安装成功后,终端会显示成功安装的版本和路径,我的是
/usr/local/Cellar/hadoop/3.2.1_1。
此时可以在终端输入 :hadoop,查看结果
在这里插入图片描述

4、配置hadoop文件,这几个要配置的文件的路径一样在/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop。

(1)配置hadoop-env.sh文件
在文件找到"#export JAVA_HOME=",进行路径添加,我的路径是“/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home”,然后去掉#号,结果如下
在这里插入添加之后的图片描述
(2)core-site.xml配置配置。
在core-site.xml文件中加入如下代码

<configuration>
	<property>
     <name>hadoop.tmp.dir</name>
     <value>file:/usr/local/Cellar/hadoop/3.2.1_1/libexec/tmp</value>
  </property>
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://localhost:8020</value>
  </property>
</configuration>

(3)hdfs-site.xml配置
在hdfs-site.xml文件中加入如下代码

<configuration>
<property>
         <name>dfs.replication</name>
         <value>1</value>
    </property>
    <property> 
         <name>dfs.namenode.name.dir</name>
         <value>file:/usr/local/Cellar/hadoop/3.2.1_1/libexec/tmp/dfs/name</value>
    </property>
    <property>
         <name>dfs.namenode.data.dir</name>
         <value>file:/usr/local/Cellar/hadoop/3.2.1_1/libexec/tmp/dfs/data</value>
    </property>
</configuration>

(4)mapred-site.xml配置
在mapred-site.xml文件中加入如下代码

<configuration>
    <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
</configuration>

(5)yarn-site.xml配置
在yarn-site.xml文件中加入如下代码

<configuration>

<!-- Site specific YARN configuration properties -->
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce_shuffle</value> 
    </property>
    <property> 
        <name>yarn.nodemanager.env-whitelist</name>
                  <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

至此文件配置完毕
5、运行
(1)首先对文件系统进行格式化,先进入到 /usr/local/Cellar/hadoop/3.2.1_1/libexec/bin 路径中,在终端输入如下命令:

hdfs namenode -format

出现如下结果表示这没有问题了
在这里插入图片描述
(2)在终端 再cd进入/usr/local/Cellar/hadoop/3.2.1_1/sbin目录,运行如下命令

./start-dfs.sh

结果如下
在这里插入图片描述

(3)页码输入:http://localhost:9870,出现如下结果
Mac下安装hadoop3.2.1和hive3.1.2_第2张图片
(4)相同路径下输入如下命令

./start-yarn.sh

出现如下结果
在这里插入图片描述
(5)网页输入:http://localhost:8088,出现如下界面
Mac下安装hadoop3.2.1和hive3.1.2_第3张图片
至此,hadoop大功告成。

========================================

二、安装hive及其配置

安装hive,是在hadoop基础上的,先保证hadoop安装成功,hive绑定数据库,所以也要确保mysql安装成功
1、安装mysql:因为我数据库很早就安装了,在这就不写安装以及配置流程了。
安装好了之后,创建metastore数据库

mysql -u root -p
create database metastore;

2、安装hive:brew install hive
安装成功后,同样的方法在修改bash_profile文件,加入如下代码

export HIVE_HOME=/usr/local/Cellar/hive/3.1.2
export PATH=$HIVE_HOME/bin:$PATH

保存,并修改。

安装成功后,终端输入hive命令,有可能会出现异常,如下我安装是碰到了异常:

Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)

解决方案:将hadoop中lib/common下高版本的guava-27.0-jre.jar包复制到hive的lib目录下,再将原来的jar包删除即可

2、hive-site.xml配置
/usr/local/Cellar/hive/3.1.2/libexec/conf 路径下新建hive-site.xml文件,加入如下代码(需要修改一下数据库连接密码)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
  <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost/metastore</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
  <!--mysql用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
  <!--mysql密码-->
  <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>11223344</value>
    </property>
	<property>
	  <name>hive.exec.local.scratchdir</name>
	  <value>/tmp/hive</value>
	</property>
	<property>
	  <name>hive.querylog.location</name>
	  <value>/tmp/hive</value>
	</property>
	<property>
	  <name>hive.downloaded.resources.dir</name>
	  <value>/tmp/hive</value>
	</property>
	<property>
	  <name>hive.server2.logging.operation.log.location</name>
	  <value>/tmp/hive</value>
	</property>
</configuration>

3、安装mysql驱动
在:https://dev.mysql.com/downloads/connector/j/
下载驱动,解压之后把mysql-connector-java-8.0.20.jar包拷贝到/usr/local/Cellar/hive/3.1.2/libexec/lib目录下
下载界面如下
Mac下安装hadoop3.2.1和hive3.1.2_第4张图片
4、在终端执行

schematool -initSchema -dbType mysql

出现如下代码就成功了

Initialization script completed
schemaTool completed

5、再在终端输入hive,然后输入show databases;
Mac下安装hadoop3.2.1和hive3.1.2_第5张图片
hive安装配置完成!

你可能感兴趣的:(python学习总结)