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集群的安装(最详细的安装教程)

版本:3.1.3

1.准备工作:

更新和安装组件

?? ??? ?? ? 1. yum install -y epel-release

?? ??? ?? ? 2. yum install -y net-tools

?? ??? ?? ? 3. yum install -y vim

? ? 防火墙的关闭和禁止开启自动启动

?? ??? ?? ? 1. systemctl stop firewalld

?? ??? ?? ? 2.? systemctl disable firewalld.service

创建 sea?用户,并修改 sea?用户的密码:(***为自己的用户名)

给用户赋予root权限

?? ??? ?? ? 1.配置文件??/etc/sudoers

?? ??? ??? ??? ??? ??在%wheel 这行下面添加一行

seaALL=(ALL) NOPASSWD:ALL
sea为用户名
在/opt 目录下创建文件夹,并修改所属主和所属组?
mkdir /opt/module?? ??? ?? ? //用于存放安装的软件
mkdir /opt/software?? ?? ? ?? ?///装一些下载的文件
修改 module、software 文件夹的所有者和所属组均为 sea用户
chown sea:sea /opt/module
chown sea:sea /opt/software

主机IP静态配置

?? ??? ??? ??配置文件:vim /etc/sysconfig/network-scripts/ifcfg ens33

?? ??? ??? ?

BOOTPROTO=static
IPADDR=192.168.10.102?
GATEWAY=192.168.10.2?
DNS1=192.168.10.2

? ? 主机名称的配置

?? ??? ?? ? 配置文件 vim /etc/hostname

?? ?配置 Linux 克隆机主机名称映射 hosts 文件

?? ??? ??? ? vim /etc/hosts

?? ??? ?? ? ?格式为:

192.168.11.100 hadoop100

192.168.11.101 hadoop101

192.168.11.101 hadoop102

同步xsync的配置和安装

在/home/sea/bin 目录下创建 xsync 文件

?? ??? ??? ? vim xsync

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
   echo Not Enough Arguement!
   exit;
fi
#2. 遍历集群所有机器
for host in hadoop104 hadoop105 hadoop106
do
  echo ==================== $host ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4. 判断文件是否存在
    if [ -e $file ]
       then
            #5. 获取父目录
            pdir=$(cd -P $(dirname $file); pwd)
            #6. 获取当前文件的名称
            fname=$(basename $file)
            ssh $host "mkdir -p $pdir"
            rsync -av $pdir/$fname $host:$pdir
        else
            echo $file does not exists!
      fi
  done
done
修改脚本 xsync 具有执行权限
chmod +x xsync
? 将脚本复制到/bin 中,以便全局调用
sudo cp xsync /bin/
同步环境变量配置(root 所有者)
sudo ./bin/xsync /etc/profile.d/my_env.sh
让环境变量生效
source /etc/profile
设置密码登录

1.进入目录 /home/sea/.ssh

? ? 运行

ssh-keygen -t rsa

将公钥拷贝到要免密登录的目标机器上包括自己

ssh-copy-id 主机名

jdk的安装:

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

环境变量配置

在/etc/profile.d创建一个 my_env.sh用于配置环境变量

vim?my_env.sh

配置文件: vim /etc/profile.d/my_env.sh

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

生效:source /etc/profile

2.安装hadoop的安装

优化配置,将消耗资源较大的分在不同的机子上

?

解压:
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
环境变量的配置: sudo vim /etc/profile.d/my_env.sh
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

文件配置

1. core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
     <!-- 指定 NameNode 的地址 -->
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://hadoop101:8020</value>
     </property>
         <!-- 指定 hadoop 数据的存储目录 -->
         <property>
         <name>hadoop.tmp.dir</name>
         <value>/opt/module/hadoop-3.1.3/data</value>
     </property>
     <!-- 配置 HDFS 网页登录使用的静态用户为 sea -->
     <property>
         <name>hadoop.http.staticuser.user</name>
         <value>sea</value>
     </property>
</configuration>

(2)HDFS 配置文件?

配置hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- nn web 端访问地址-->
    <property>
         <name>dfs.namenode.http-address</name>
         <value>hadoop101:9870</value>
     </property>
    <!-- 2nn web 端访问地址-->
     <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>hadoop103:9868</value>
     </property>
</configuration>

(3)YARN 配置文件

?配置 yarn-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
     <!-- 指定 MR 走 shuffle -->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <!-- 指定 ResourceManager 的地址-->
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>hadoop102</value>
     </property>
     <!-- 环境变量的继承 -->
     <property>
         <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
     </property>
</configuration>

(4)MapReduce 配置文件?

配置 mapred-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
</configuration>

(5) workers文件,这里面是自己集群的主机名

hadoop101
hadoop102
hadoop103

即在里面添加集群的机子的主机名称或地址,而且地址后面不能有空格和空行

配置完成后记得分发到其他的机子上

xsync + 文件名? ? ? ? (xsync 是上边自己写的一个分发脚本)

(6)初始化
hdfs namenode -format
初始化时注意事项:
如果集群是第一次启动,需要在 hadoop102 节点格式化 NameNode(注意:格式 化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找 不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停 止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式 化

初始化成功后为有两个文件 data 和logs? ? 就是在上面配置时定义的文件、

在/opt/module/hadoop-3.1.3/data/dfs/name/current中为出现如下文件

?

?开打VERSION有id、版本号等

?

启动dfs
sbin/start-dfs.sh
在hadoop101上出现的进程为

在hadoop102上出现的进程为

?

在hadoop103上出现的进程为

?

如果hadoop101上没有NameNode优先检查 core-site.xml是否配置错误

NameNode没有出现的解决办法为:

https://blog.csdn.net/zhaogang1993/article/details/92727952

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 17:23:07  更:2021-08-03 17:23:13 
 
开发: 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年5日历 -2024/5/21 20:15:27-

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