Hadoop集群redhad离线安装Hive

参考文档

http://dblab.xmu.edu.cn/blog/install-hive/ Ubuntu安装hive,并配置mysql作为元数据库
http://www.bkjia.com/Mysql/1093428.html Your password does not satisfy the current policy requirements,hy000satisfy

Hive安装

Hive只要安装在NameNode上,其余节点无需安装配置Hive
先安装Mysql,在安装Hive,最后配置数据库

Mysql安装

官网下载RPM安装包
这里写图片描述
RPM安装

#terminal
mkdir mysql
cp mysql-5.7.17-1.el5.x86_64.rpm-bundle.tar mysql
cd mysql
tar xvf mysql-5.7.17-1.el5.x86_64.rpm-bundle.tar
sudo rpm -ivh mysql-community-common-5.7.17-1.el5.x86_64.rpm --nodeps --force
sudo rpm -ivh mysql-community-libs-5.7.17-1.el5.x86_64.rpm --nodeps --force
sudo rpm -ivh mysql-community-devel-5.7.17-1.el5.x86_64.rpm --nodeps --force
sudo rpm -ivh mysql-community-client-5.7.17-1.el5.x86_64.rpm --nodeps --force
sudo rpm -ivh mysql-community-server-5.7.17-1.el5.x86_64.rpm --nodeps --force

修改用户名密码

sudo /etc/init.d/mysqld start
sudo /etc/init.d/mysqld stop
sudo killall -TERM mysqld
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
#sql
use mysql;
update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
exit;
#terminal
sudo /etc/init.d/mysqld restart
mysql -u root -p
#sql
select user();
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER USER() IDENTIFIED BY '123456';
exit;

Hive安装

#解压hive
cd ~
sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local   # 解压到/usr/local中
cd /usr/local/
sudo mv apache-hive-1.2.1-bin hive       # 将文件夹名改为hive
sudo chown -R hadoop:hadoop hive            # 修改文件权限

vim ~/.bashrc
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
source ~/.bashrc

修改配置文件

#修改配置文件
cd /usr/local/hive/conf
cp hive-default.xml.template hive-default.xml
vim hive-site.xml #添加如下xml内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

mysql jdbc + 配置mysql

配置mysql作为元数据库

cd ~
tar -zxvf mysql-connector-java-5.1.40.tar.gz
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/local/hive/lib #将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下
mysql -u root -p
#sql
create database hive;
grant all on *.* to hive@localhost identified by 'hive'; 
flush privileges;

遇到的问题

rpm安装

rpm -ivh MySQL-xxx.rpm

error: Failed dependencies:
纠结了半天,终于找到了解决方法:(感谢提供相关文章的博友)
在安装包后面加两个参数,如

rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm --nodeps --force

加上那两个参数的意义就在于,
安装时不再分析包之间的依赖关系而直接安装,
也就不会再提示error: Failed dependencies:这样的错误了

Mysql5.7修改root密码

版本更新,原来user里的password字段已经变更为authentication_string
版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
运行mysqld_safe –skip-grant-tables &
如果此时不想被远程连接:mysqld_safe –skip-grant-tables –skip-networking &
使用mysql连接server
更改密码:update user set authentication_string = password(‘123456’), password_expired = ‘N’, password_last_changed = now() where user = ‘root’;
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段
修改完毕。重启
http://www.bkjia.com/Mysql/1093428.html
若出现“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”(重启后报错)
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER USER() IDENTIFIED BY ‘123456’;

### 搭建Hadoop集群安装配置Hive #### 一、环境准备 确保操作系统已准备好,并且所有节点之间可以通过主机名相互解析。此外,还需确认防火墙不会阻止必要的端口通信。 对于Java环境而言,建议预先部署好JDK版本1.8,这是为了保障后续组件能够稳定运行[^2]。 #### 二、下载与解压Hadoop 前往Apache官方网站或其他可信源下载适合当前系统的Hadoop压缩包文件;完成下载之后,在目标目录下执行命令来解开此压缩包: ```bash tar -zxvf hadoop-x.x.x.tar.gz -C /path/to/install/ ``` 上述操作会把Hadoop放置到指定路径当中去。 #### 三、配置Hadoop核心参数 编辑`$HADOOP_HOME/etc/hadoop/core-site.xml` 文件加入如下内容以便定义namenode地址及其他基本信息: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration> ``` 接着修改 `$HADOOP_HOME/etc/hadoop/hdfs-site.xml`, 添加NameNode 和 DataNodes 的配置项以支持高可用性和数据冗余存储特性。 最后调整YARN的相关设定位于 `yarn-site.xml` 中, 设置ResourceManager的位置等重要属性。 #### 四、初始化HDFS文件系统 切换至Hadoop安装目录下的sbin子目录内,利用脚本来格式化新的分布式文件系统实例: ```bash cd $HADOOP_HOME/sbin ./hadoop namenode -format ``` 这一步骤仅需在初次启动前执行一次即可。 #### 五、启动Hadoop服务 通过一系列shell脚本可以轻松实现整个集群的服务开启工作: ```bash start-dfs.sh # 启动 NameNode/DataNode 进程 start-yarn.sh # 开启 ResourceManager/NodeManager 组件 mr-jobhistory-daemon.sh start historyserver # 如果需要启用MapReduce作业历史记录服务器的话 ``` 此时应该能看到各个节点上的对应进程已经被成功激活起来。 #### 六、验证Hadoop集群状态 打开浏览器输入http://master:50070 或者 http://master:8088 来查看Web UI界面上显示出来的集群健康状况报告图表信息。 #### 七、安装Hive 同样先从官方站点获取最新版的Hive tarball资源包,按照相同的方式将其展开到合适位置处。 随后依照惯例要对hive-env.sh模板做适当更改,主要是指明JAVA_HOME变量指向正确的地方以及引入之前提到过的HADOOP_HOME环境变量声明[^3]: ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_HOME=/home/hadoop/hadoop-2.7.2 ``` 另外还需要创建一个名为hive-site.xml的新XML文档用于保存更多自定义选项,比如Metastore数据库连接字符串之类的细节事项。 #### 八、配置HiveServer2代理用户权限 为了让HiveServer2具备模拟其他用户的权利,必须把它设成被授权作为Proxy User的角色之一。具体做法是在core-site.xml里追加下面这段话[^1]: ```xml <property> <name"hadoop.proxyuser.<username>.hosts"</name> <value>*</value> </property> <property> <name>"hadoop.proxyuser.<username>.groups"</name> <value>*</value> </property> ``` 这里的 `<username>` 应替换为实际用来启动 HiveServer2 的账户名称。 #### 九、启动HiveServer2 进入Hive bin目录并通过thrift server指令让其在线提供查询接口给客户端调用: ```bash hive --service hiveserver2 & ``` 至此为止,已完成了一个基本的功能完备型Hadoop + Hive平台构建过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值