论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
大数据
›
数据仓库与分析
›
三台ubuntu22.0.4虚拟机搭建Hadoop+Hive集群
三台ubuntu22.0.4虚拟机搭建Hadoop+Hive集群
不到断气不罢休
金牌会员
|
2025-3-13 22:26:09
|
显示全部楼层
|
阅读模式
楼主
主题
992
|
帖子
992
|
积分
2976
前言
在搭建 Hadoop 和 Hive 集群的过程中,笔者碰到了一些常见的坑。为了资助其他同学淘汰踩坑的时机,特此总结这篇文章,希望能资助各人顺利完成情况搭建。
Hadoop 集群搭建
1. 创建虚拟机
利用 VMware 创建一台至少 2 核 4 GB 内存的 Ubuntu 虚拟机,主机命名为 master,然后克隆两台虚拟机,分别命名为 slave1 和 slave2。
1.1 怎样更改主机名
可视化界面更改
点击设置,选择 “关于”,然后点击 “设备名称” 进行修改。
终端界面更改
执行以下下令编辑主机名:
vim /etc/hostname
复制代码
将文件中的内容更换为新的主机名。
1.2 修改 /etc/hosts 文件
在全部三台主机上都必要修改此文件。利用 ifconfig 查看每台机器的局域网 IP 地址,然后编辑 hosts 文件:
vim /etc/hosts
复制代码
以下是修改示例,记得将 IP 地址更换为自己机器的现实 IP:
192.168.219.128 master
192.168.219.129 slave1
192.168.219.130 slave2
复制代码
修改完后,重启每台主机:
reboot
复制代码
2. 配置 SSH 免密登录
为三台机器配置 SSH 密钥,实现远程无密码访问。
2.1 安装 SSH 服务
sudo apt-get install openssh-server # 安装 SSH 服务
sudo /etc/init.d/ssh restart # 启动 SSH 服务
sudo ufw disable # 关闭防火墙
复制代码
2.2 生成 SSH 密钥并分发
在每台节点上生成 SSH 密钥,并将公钥分发到其他机器。
首老师成密钥:
ssh localhost
cd ~/.ssh
rm ./id_rsa*
ssh-keygen -t rsa
复制代码
然后将公钥添加到 authorized_keys 文件:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
复制代码
接着将 master 主机上的公钥传送到 slave1 和 slave2:
scp ~/.ssh/id_rsa.pub hadoop@slave1:~/
scp ~/.ssh/id_rsa.pub hadoop@slave2:~/
复制代码
末了,在 slave1 和 slave2 上执行以下下令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
复制代码
这样就完成了免密登录配置。
3. 安装 Java 情况
sudo apt update
sudo apt install openjdk-8-jdk
复制代码
4. 安装 Hadoop
可以通过 wget 下载 Hadoop,但可能速率较慢。发起在本地官网下载,然后上传到虚拟机。
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
tar -xzvf hadoop-3.3.5.tar.gz
sudo mv hadoop-3.3.5 /usr/local/hadoop
复制代码
5. 配置情况变量
vim ~/.bashrc
复制代码
编辑 ~/.bashrc 文件,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
复制代码
使配置生效:
source ~/.bashrc
复制代码
6. 配置 Hadoop
在 /usr/local/hadoop/etc/hadoop/ 目次下配置以下文件:
6.1 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
复制代码
6.2 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
复制代码
6.3 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
</configuration>
复制代码
6.4 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024m</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
</configuration>
复制代码
6.5 workers
master
slave1
slave2
复制代码
6.6 hadoop-env.sh 和 yarn-env.sh
编辑 hadoop-env.sh 和 yarn-env.sh,将以下内容添加进去:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
复制代码
7. 格式化 HDFS
在主节点执行以下下令:
hdfs namenode -format
复制代码
在两台从节点执行以下下令:
hdfs datanode -format
复制代码
8. 启动 Hadoop
启动 Hadoop 的 HDFS 和 YARN:
start-dfs.sh
start-yarn.sh
复制代码
通过执行 jps 下令检查是否启动乐成。
Hive 配置
1. 安装 MySQL(用于存储元数据)
Hive 必要一个关系型数据库来存储元数据。这里利用 MySQL。
1.1 安装 MySQL
sudo apt install mysql-server
sudo mysql_secure_installation
复制代码
1.2 创建 Hive 数据库和用户
CREATE DATABASE hive;
CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'hivepassword';
GRANT ALL PRIVILEGES ON hive.* TO 'hiveuser'@'localhost';
FLUSH PRIVILEGES;
复制代码
2. 安装 Hive
wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
tar -xzvf apache-hive-3.1.2-bin.tar.gz
sudo mv apache-hive-3.1.2-bin /usr/local/hive
复制代码
3. 配置 Hive
3.1 修改 hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriver.Name</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
</property>
</configuration>
复制代码
3.2 设置情况变量
编辑 Hive 情况变量配置文件,确保 Hive 能精确识别 Hadoop 和 Hive 的配置文件路径。
mv /usr/local/hive/conf/hive-env.sh.template /usr/local/hive/conf/hive-env.sh
vi /usr/local/hive/conf/hive-env.sh
复制代码
在 hive-env.sh 中追加以下两行内容:
export HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
复制代码
3.3 创建相关目次和赋予权限
在 Hadoop 中创建 Hive 所需的目次,并设置恰当的权限。此步调必须在启动 Hadoop 后执行:
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
复制代码
这些目次是 Hive 存储数据和临时文件的地方,必须确保 Hive 用户对它们有写入权限。
4. 初始化 Hive 数据库
schematool -dbType mysql -initSchema
nohup hive --service metastore &
nohup hiveserver2 &
复制代码
5. 验证 Hive
验证 Hive 是否正常工作,可以利用 Beeline 或其他 Hive 客户端毗连到 HiveServer2。
5.1 利用 Beeline 毗连 HiveServer2
Beeline 是 Hive 提供的一个 JDBC 客户端工具,可以用来毗连 HiveServer2 并执行 SQL 查询。
beeline -u jdbc:hive2://localhost:10000
复制代码
5.2 执行简单查询验证安装
毗连乐成后,执行以下查询以验证 Hive 是否正常运行:
SHOW DATABASES;
复制代码
总结
本文介绍了怎样在 VMware 上搭建一个简单的 Hadoop 集群和 Hive 情况。关键步调包罗配置主机名、设置 SSH 免密登录、安装 Java 和 Hadoop、配置 Hive 与 MySQL,以及启动相关服务。完成这些步调后,你将拥有一个可以处理大数据的根本情况,能够利用 Hive 进行 SQL 查询和数据分析。假如碰到问题,可以根据提示办理或随时提问!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
不到断气不罢休
金牌会员
这个人很懒什么都没写!
楼主热帖
Spark的一些重要概念
手绘地图深度解析:类型、风格、功能、 ...
从SAP ECC升级到SAP S4HANA, 几个Key P ...
数据库设计员工管理系统
【Redis高手修炼之路】初学Redis——概 ...
MySQL触发器
【高效学数据库】第一范式、第二范式、 ...
19.HVV溯源
物联网无线数传通信模块设备常见的几种 ...
用Python计算从1到500之间偶数的和 ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表