hive环境配置

记录一下hive环境(Mac m1)的配置过程,以防忘记。可能遇到的问题

1.安装hadoop

1).首先,安装hadoop:
brew install Hadoop
arch -x86_64 brew install Hadoop # for M1

m1安装brew可以用一下两种命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果第一种不行请试下面这种:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

配置ssh免密码登录,用dsa密钥认证来生成一对公钥和私钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

将生成的公钥加认证的公钥文件:

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

接下来测试一下是否配置成功

ssh localhost

如果遇到了connection refused错误打开 系统偏好设置-》共享-》点击远程登录

2)配置hadoop文件

文件路径/usr/local/Cellar/hadoop/3.3.1/libexec/etc/hadoop/
①.core-site.xml文件配置:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
   </property>
</configuration>

②.hdfs-site.xml文件配置:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.http.address</name>
    <value>0.0.0.0:50070</value>
 </property>
</configuration>

③.mapred-site.xml文件配置:

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

④.yarn-site.xml文件配置:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>
3)运行Hadoop样例程序

首先,进入文件夹:

cd /usr/local/Cellar/hadoop/3.3.1/libexec

然后格式化文件系统

bin/hdfs namenode -format

启动NameNode和DataNode的进程

sbin/start-dfs.sh

启动ResourceManager和NodeManager的进程

sbin/start-yarn.sh

访问localhost:50070localhost:8088看是否能正常访问。


# 创建hdfs目录:
bin/hdfs dfs -mkdir -p /usr/***/input
#拷贝一些文件到input目录:
bin/hdfs dfs -put etc/hadoop input
#运行样例: (hadoop版本号根据自己的hadoop版本修改版本号)
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input output 'dfs[a-z.]+'

2.安装hive

1).完成了上面的hadoop,接下来安装hive.
brew install hive
arch -x86_64 brew install hive # for m1

添加环境变量

vim ~/.bash_profile
export HIVE_HOME=/usr/local/Cellar/hive/3.1.2_3
export PATH=$HIVE_HOME/bin:$PATH
source ~/.bash_profile

Hive默认用derby(因为是单连接只能做测试用)作为元数据库。所以这里我们用mysql来存储元数据。

2)安装mysql

mysql官网下载选择Mysql Community Server选择macOS 11 (x86, 64-bit), DMG Archive下载。
安装过程中选择Use Legacy Password Encryption如下图:

之后输入密码就行。

3).下载MySQL驱动包


驱动官网下载驱动
选择Platform Independent->zip格式的就行.jar文件放到/usr/local/Cellar/hive/3.1.2_3/libexec/lib/目录下

4).创建数据库

输入命令:

mysql -u root -p #输入密码进入
mysql> create database metastore; # 创建数据库
4).配置 hive-site.xml

在将文件/usr/local/Cellar/hive/3.1.2_3/libexec/conf/hive-default.xml.template复制一份改名为hive-site.xml对里面的进行参数配置:

<configuration>
  
  <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/metastore</value>
    </property>
 
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.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>******</value>
    </property>
 
	<!-- hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果
	,默认是/tmp/<user.name>/hive,可以自己创建文件夹,我们实际一般会按组区分,然后组内自建一个tmp目录存>-->
 
    <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/tmp/hive</value>
    </property>
    <property>
        <name>hive.downloaded.resources.dir</name>
            <value>/tmp/hive</value>
    </property>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/data/hive/warehouse</value>
    </property>
    <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/tmp/hive</value>
    </property>
 
</configuration>

5).初始化metastore数据库
cd /usr/local/Cellar/hive/3.1.2_3/libexec/bin
schematool -initSchema -dbType mysql

6).启动metastore服务
./hive --service metastore &
#之后再终端输入hive就行

3.可能遇到的问题

1).WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform:

/usr/local/Cellar/hadoop/3.3.1/libexec/etc/hadoop/log4j.properties加入

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
2).Error during job, obtaining debugging information... FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exe:

hive-site.xml 文件添加配置:

<property>  
  <name>hive.exec.mode.local.auto</name>  
  <value>true</value>  
</property> 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值