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学习笔记: 入门(1) -> 正文阅读

[大数据]Hadoop学习笔记: 入门(1)

*学习过程中使用VMware进行多台服务器的搭建, 全程在一台主机上进行

一. Hadoop运行环境搭建

配置环境变量(JAVA, Hadoop)

为何需要配置环境变量?

例如JDK, 程序都集中的放置在Java安装目录下的bin目录下,那么,当你需要执行这些程序时,你需要告诉系统在哪个目录下寻找,只有你告诉系统正确的目录,系统才可以给你提供这一系列的命令供你使用。环境变量的配置就是做这么一个工作。

那么,将该目录做成一个变量放置到系统的内置变量PATH中是一个不错的选择。

配置环境变量步骤解析:

1. 在/etc/profile.d目录下新建环境变量文件mh_env.sh. 设定环境变量JAVA_HOME, 此变量的值为JDK的安装目录. 本次安装路径如下:

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

2. 将JAVA_HOME加入到系统内置PATH变量中, 加入/bin是因为bin目录储存的是大部分的执行程序.?

export PATH=$PATH:$JAVA_HOME/bin

3. 环境变量配置完成后, 需要利用source命令让新的环境变量PATH生效

[atguigu@hadoop102 ~]$ source /etc/profile

4. 配置Hadoop环境变量时, 则需要再额外添加/sbin目录, 因为Hadoop的执行程序储存在/bin目录和/sbin目录中. 配置完成后, 同样需要对/etc/profile进行source操作使环境变量生效

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

二.?Hadoop运行模式

Hadoop运行模式包括本地模式, 伪分布式以及完全分布式

? ? ? ? 本地模式:?单机运行. 生产环境下不适用

????????伪分布式:?单机运行, 但是具备Hadoop集群的所有功能, 一台服务器模拟一个分布式的环境.? ? ? ? ? ? ? ? ? ? ? ? ? ????一般用于测试

????????完全分布式:?多台服务器组成分布式环境. 生产环境下最常使用

三. 修改主机名称, 主机名称映射IP

在根目录下/etc/hostname文件中, 可修改当前主机名称. 修改完成后, 打开/etc/hosts, 可对主机名称与IP地址建立一对一的映射关系

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104

四. 集群分发脚本sxync解析

scp(secure copy)安全拷贝

scp可以实现服务器与服务器之间的数据拷贝

scp? ? ? ????????? -r? ? ? ? ? ? ? $pdir/$fname? ? ? ? ? ? ? ? ? ? ? ? ? ?$user@$host:$pdir/$fname

拷贝命令? ? ?递归? ? ?拷贝文件路径/文件名? ? ? ? ? ? ?目的地用户@主机地址:目的地路径/名称

rsync 远程同步工具

rsync主要用于备份和镜像, 具有速度快, 避免复制相同内容和支持符号链接的优点. rsync和scp相比, 因为rsync只需要对比两端文件差异并进行更新, 因此速度要比scp更快.

rsync? ? ? ? ? ? -av? ? ? ? ? ? ? $pdir/$fname? ? ? ? ? ? ? ? ? ? ? ? ? ?$user@$host:$pdir/$fname

同步命令? ? ?递归? ? ?拷贝文件路径/文件名? ? ? ? ? ? ?目的地用户@主机地址:目的地路径/名称

? ?其中的两项参数, -a表示归档拷贝, 也即以递归方式传输文件, -v表示显示复制过程

xsync集群分发脚本

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

[atguigu@hadoop102 opt]$ cd /home/atguigu
[atguigu@hadoop102 ~]$ mkdir bin
[atguigu@hadoop102 ~]$ cd bin
[atguigu@hadoop102 bin]$ vim xsync

?随后将脚本复制到/bin中, 以全局调用

[atguigu@hadoop102 bin]$ sudo cp xsync /bin/

?/bin目录主要储存可执行的二进制文件

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
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

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

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