IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> hadoop集群搭建 -> 正文阅读

[大数据]hadoop集群搭建

服务器

192.168.120.129 hadoop-node1

192.168.120.130 hadoop-node2

192.168.120.131 hadoop-node3

一.下载Hadoop

hadoop下载

我在

这里选的是编译好的最新版本hadoop-3.3.2

?

上传到192.168.120.129服务器/opt目录下解压

tar -zxvf hadoop-3.3.2.tar.gz

二.配置服务器

1.配置hosts,添加以下内容(每台节点都执行)

vim /etc/hosts

192.168.120.129 hadoop-node1
192.168.120.130 hadoop-node2
192.168.120.131 hadoop-node3

2.关闭防火墙和selinux(所有节点都执行)

$ systemctl stop firewalld
$ systemctl disable firewalld

# 临时关闭(不用重启机器):
$ setenforce 0 ? ? ? ? ? ? ? ? ?##设置SELinux 成为permissive模式

# 永久关闭修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled

3.时间同步,安装 chrony(所有节点都执行)

?yum -y install chrony

配置文件内容

vim?/etc/chrony.conf

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2.centos.pool.ntp.org iburst (这一行注释掉,增加以下两行)
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst

重新加载配置并测试?

$ systemctl restart chronyd.service
$ chronyc sources -v

4.配置ssh免密,生成秘钥,出现任何东西全部回车不需要你输入任何东西,都是默认。(在hadoop-node1上执行)

ssh-keygen -t rsa

将公钥信息保存在授权认证的文件中:

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

二.多主机配置,使用同一份rsa 公私钥,拷贝整个.ssh文件夹到其它服务器

scp -r ?~/.ssh root@192.168.120.130:~/

scp -r ?~/.ssh root@192.168.120.131:~/

安装统一工作目录(所有节点都执行)

# 软件安装路径
$ mkdir -p /opt/bigdata/hadoop/server
# 数据存储路径
$ mkdir -p /opt/bigdata/hadoop/data

6.安装JDK,配置环境变量

# 在文件加入环境变量/etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# source加载
$ source /etc/profile
# 查看jdk版本
$ java -version

三.开始安装Hadoop

进入/opt/hadoop-3.3.2/etc/hadoop目录

修改hadoop-env.sh

# 在hadoop-env.sh文件末尾追加
export JAVA_HOME=/usr/local/jdk1.8
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

修改core-site.xml?#核心模块配置,在<configuration></configuration>中间添加以下内容

<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
? <name>fs.defaultFS</name>
? <value>hdfs://hadoop-node1:8082</value>
</property>

<!-- 设置Hadoop本地保存数据路径 -->
<property>
? <name>hadoop.tmp.dir</name>
? <value>/opt/bigdata/hadoop/data/hadoop</value>
</property>

<!-- 设置HDFS web UI用户身份 -->
<property>
? <name>hadoop.http.staticuser.user</name>
? <value>root</value>
</property>

<!-- 聚合hive 用户代理设置 -->
<property>
? <name>hadoop.proxyuser.hosts</name>
? <value>*</value>
</property>

<!-- 用户代理设置 -->
<property>
? <name>hadoop.proxyuser.root.groups</name>
? <value>*</value>
</property>

<!-- 文件系统垃圾桶保存时间 -->
<property>
? <name>fs.trash.interval</name>
? <value>1440</value>
</property>

hdfs-site.xml?#hdfs文件系统模块配置,在<configuration></configuration>中间添加以下内容

<!-- 设置SNN进程运行机器位置信息 -->
<property>
? <name>dfs.namenode.secondary.http-address</name>
? <value>hadoop-node2:9868</value>
</property>

<!-- 必须将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等需要列出文件、文件夹状态的命令,因为这些信息都是由namenode来保存的。 -->
<property>
? <name>dfs.webhdfs.enabled</name>
? <value>true</value>
</property>

修改mapred.xml?#MapReduce模块配置

<!-- 设置MR程序默认运行模式,yarn集群模式,local本地模式 -->
<property>
? <name>mapreduce.framework.name</name>
? <value>yarn</value>
</property>

<!-- MR程序历史服务地址 -->
<property>
? <name>mapreduce.jobhistory.address</name>
? <value>hadoop-node1:10020</value>
</property>

<!-- MR程序历史服务web端地址 -->
<property>
? <name>mapreduce.jobhistory.webapp.address</name>
? <value>hadoop-node1:19888</value>
</property>

<!-- yarn环境变量 -->
<property>
? <name>yarn.app.mapreduce.am.env</name>
? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<!-- map环境变量 -->
<property>
? <name>mapreduce.map.env</name>
? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<!-- reduce环境变量 -->
<property>
? <name>mapreduce.reduce.env</name>
? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

修改yarn-site.xml?#yarn模块配置

<!-- 设置YARN集群主角色运行集群位置 -->
<property>
? <name>yarn.resourcemanager.hostname</name>
? <value>hadoop-node1</value>
</property>

<property>
? <name>yarn.nodemanager.aux-services</name>
? <value>mapreduce_shuffle</value>
</property>

<!-- 是否将对容器实施物理内存限制 -->
<property>
? <name>yarn.nodemanager.pmem-check-enabled</name>
? <value>false</value>
</property>

<!-- 是否将对容器实施虚拟内存限制 -->
<property>
? <name>yarn.nodemanager.vmem-check-enabled</name>
? <value>false</value>
</property>

<!-- 开启日志聚集 -->
<property>
? <name>yarn.log-aggregation-enable</name>
? <value>true</value>
</property>

<!-- 设置yarn历史服务器地址 -->
<property>
? <name>yarn.log.server.url</name>
? <value>http://hadoop-node1:19888/jobhistory/logs</value>
</property>

<!-- 设置yarn历史日志保存时间 7天 -->
<property>
? <name>yarn.log-aggregation.retain-seconds</name>
? <value>604880</value>
</property>

修改workers?将下面内容覆盖文件,默认只有localhost

hadoop-node1
hadoop-node2
hadoop-node3

分发同步hadoop安装包到另外几台机器

scp -r ?/opt/hadoop-3.3.2 hadoop-node2:/opt/
scp -r ?/opt/hadoop-3.3.2 hadoop-node3:/opt/

将hadoop添加到环境变量(所有节点)

$ vi /etc/profile

export HADOOP_HOME=/opt/hadoop-3.3.2/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

# 加载
$ source /etc/profile

Hadoop集群启动(hadoop-node1上执行)

1)(首次启动)格式化namenode(只能执行一次)

  • 首次启动HDFS时,必须对其进行格式化操作
  • format本质上初始化工作,进行HDFS清理和准备工作

$ hdfs namenode -format

在hadoop-node1上,使用软件自带的shell脚本一键启动。前提:配置好机器之间的SSH免密登录和works文件

Hadoop集群启停(HDFS+YARN)

$ start-all.sh
$ stop-all.sh

HDFS集群启停

$ start-dfs.sh
$ stop-dfs.sh?

# 查看java进程
$ jps

YARN集群启停

$ start-yarn.sh
$ stop-yarn.sh
# 查看java进程
$ jps

通过日志检查,日志路径:/opt/hadoop-3.3.2/logs?

通过web页面访问, C:\Windows\System32\drivers\etc\hosts文件配置域名映射,hosts文件中增加如下内容:

192.168.120.129 hadoop-node1
192.168.120.130 hadoop-node2
192.168.120.131 hadoop-node3

HDFS集群

这里地址为:http://hadoop-node1:9870

YARN集群

这里地址为:http://hadoop-node1:8088?

?到此为止,hadoop和yarn集群就已经部署完了~

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:25:14  更:2022-05-05 11:26:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:22:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码