为hadoop配置hive-python读写

FIRST

安装mysql

# su权限,在你相放包的目录下,顺序执行下面三条

 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
 
 yum -y install mysql57-community-release-el7-10.noarch.rpm
 
 yum -y install mysql-community-server
提示错误,The GPG keys listed for the "MySQL 5.7 Community Server" ……
先导入密钥:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

然后
yum -y install mysql-community-server

出现 Complete! 表示成功。

耗时约2分钟

# 启动mysql
systemctl start  mysqld.service
#查看初始密码
grep "password" /var/log/mysqld.log

进入mysql,使用上面得到的密码

修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY  ' root3306';

报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

因为密码不符合规范,修改为复杂密码即可。

设置允许外网连接

grant all on *.* to root@'%' identified by 'root的密码';
设置开机启动
systemctl enable mysqld

NEXT

安装hive

下载:

wget https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz --no-check-certificate

速度较慢。用https://downloads.apache.org快些

解压得到:apache-hive-3.1.2-bin ,改名为hive方便用

环境变量配置

vi /etc/profile

export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile

HDFS上创建目录

切到hadoop权限,启动hadoop

hdfs dfs -mkdir -p  /usr/local/hive/warehouse
hdfs dfs -chmod -R 777 /usr/local/hive/warehouse
hdfs dfs -mkdir -p /tmp/hive
hdfs dfs -chmod -R 777 /tmp/hive

切到root,在hive安装目录下

mkdir tmp
chmod -R 777 tmp/
mkdir log

修改hive-site.xml

默认为 hive-default.xml.template 先修改或者先cp为hive-site.xml

# 找到 
<name>hive.metastore.warehouse.dir</name>
# 修改值
 <value>/usr/local/hive/warehouse</value>
# 找到 
<name>javax.jdo.option.ConnectionURL</name>
# 修改值(提前建立hive数据库)
<value>jdbc:mysql://hadoop-ma:3306/hive?characterEncoding=UTF-8</value> 
# 这里hadoop-ma是主机名字,需要提前在hosts里面做映射。参考hadoop配置文章

# 找到 
<name>javax.jdo.option.ConnectionDriverName</name>
# 修改值
<value>com.mysql.cj.jdbc.Driver</value>

# 找到 
<name>javax.jdo.option.ConnectionUserName</name>
# 修改值  或其它mysql用户
 <value>root</value>
 
# 其它:
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mysql password</value>
</property>
<property> --元数据服务地址
    <name>hive.metastore.uris</name>
    <value>thrift://hadoop-ma:9083</value>
</property>

<property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop-ma</value>
</property>


vi conf/hive-env.sh.template 

HADOOP_HOME=/usr/local/Hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf

cp 或者mv 变成hive-env.sh

安装mysql-connector

wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
放到hive根目录下的lib文件夹当中

启动

初始化

schematool -initSchema -dbType mysql

启动元数据服务

hive --service metastore &

报:

org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083.

kill后重启即可。
报时区问题 ,参照:https://blog.csdn.net/weixin_39594296/article/details/113119222

启动server2服务

hive --service hiveserver2 &

以上,如果报错,Unable to determine Hadoop version information. ‘hadoop version’ returned:
是因为hadoop3.3和hive2不匹配,修改bin/hive文件,把红色部分改成3
在这里插入图片描述

进入hive客户端测试

./hive
show database;
create table …
Insert into ….

插入成功则hive安装成功

python读写

install pyhive
sacl安装异常,则下载whl文件直接安装

pip install C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\sasl-0.3.1-cp37-cp37m-win_amd64.whl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值