文章目录
1 mysql安装
hadoop hdfs安装
hadoop mapreduce yarn配置
# 更新秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
#安装mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
# 使用 yum 安装mysql
yum -y install mysql-community-server
# 启动mysql服务
systemctl start mysqld
systemctl enable mysqld # 开机自启
# 查看mysql生成的随机密码
cat /var/log/mysqld.log | grep 'password'
根据获取的mysql的root用户的密码登录
# 连接到mysql
mysql -uroot -p
# 修改密码
alter user 'root'@'localhost' identified by '密码';
# 远程登录密码
grant all privileges on 数据库名.表名 to root@"%" identified by '密码' with grant option;
# 刷新权限
flush privileges;
2、安装配置hive
2.1 配置hadoop配置文件core-site.xml
<!--允许hadoop代理所有用户,是hive有权限操作hdfs-->
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<!--允许hadoop代理所有组-->
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
2.2 下载上传hive安装包和mysql驱动
2.3 解压hive,并将mysql-connector-java包放到hive目录下的lib目录中
# 将hive解压到soft目录中
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C ../soft/
# 将驱动包移动到hive/lib中
mv ../installPackage/mysql-connector-java-5.1.34.jar apache-hive-3.1.3-bin/lib/
# 修改hive目录名,太长
mv apache-hive-3.1.3-bin hive313
2.4 配置hive环境变量
vim ~/.bashrc
# 添加变量
export HIVE_HOME=hive目录
export PATH=$HIVE_HOME/bin:$PATH
# 保存退出后是环境变量生效
source ~/.bashrc
2.4 配置文件
2.4.1 hive安装目录下conf目录内,拷贝.template文件为hive-env.sh
# 拷贝并重命名文件,进行配置
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
# 添加如下变量
export HADOOP_HOME=hadoop目录
export HIVE_CONF_DIR=hive配置文件目录-hive目录下的conf
export HIVE_AUX_JARS_PATH=hive依赖jar包目录-hive目录下的lib
2.4.2 hive安装目录下conf目录内,新建hive-site.xml文件,配置
vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--连接数据的用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!--连接数据的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>数据库密码</value>
</property>
<!--mysql数据库的访问路径,没有路径则自动创建-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node11:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<!--连接数据库的驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--元数据是否校验-->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!--是否自动创建核心文件-->
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<!--thrift服务器绑定的主机-->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node11</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node11:9083</value>
</property>
<property>
<name>hive.metastore.event.dbnotification.api.auth</name>
<value>false</value>
</property>
<!--默认的存储地址-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://node11:8020/data/hive/warehouse</value>
</property>
<!--设置显示表头字段名-->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
2.5 初始化hive
schematool -initSchema -dbType mysql -verbos
查看数据库-会生成一个hive数据库:
数据库中有74张表:
2.5 启动hive
# 在hive安装目录下创建日志文件号logs
mkdir logs
前台启动:
hive --service metastore
后台启动:
nohup hive --service metastore >> logs/metastore.log 2>&1 &
启动客户端:
hive # 需要启动hadoop程序
2.6 hivserver2
# 需要先启动metastore服务,2.5中,然后启动hiveserver2
nohup hive --service metastore >> logs/metastore.log 2>&1 &
nohup hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 & # 默认端口为10000
# 查看端口是否启动,如没有端口信息为表示失败检查配置
netstat -nlp | grep 10000
# beanline连接
beeline -u jdbc:hive2://node11:10000 -n kk
启动后使用datagrip连接: