【Hadoop】

准备启动 Hadoop 集群

添加hadoop用户并设置密码

[root@node1 ~]# useradd hadoop

[root@node1 ~]# passwd hadoop

解压软件包

[root@node1 ~]# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /home/hadoop/

[root@node1 ~]# tar -zxvf hadoop-3.3.6.tar.gz -C /home/hadoop/

创建软链接

[root@node1 ~]# su - hadoop

[hadoop@node1 ~]$ ln -s hadoop-3.3.6/ hadoop
[hadoop@node1 ~]$ ln -s jdk1.8.0_181/ jdk

添加环境变量

[hadoop@node1 ~]$ vim .bash_profile

指定 Java 路径

[hadoop@node1 ~]$ cd /home/hadoop/hadoop/etc/hadoop

[hadoop@node1 hadoop]$ vim hadoop-env.sh

启动 Hadoop 的通用命令行客户端

[hadoop@node1 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@node1 hadoop]$ bin/hadoop
 

单机部署

[hadoop@node1 hadoop]$ mkdir input

[hadoop@node1 hadoop]$ cp etc/hadoop/*.xml input
[hadoop@node1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'
[hadoop@node1 hadoop]$ cat output/*
 

伪分布式部署

修改 Hadoop 配置文件

[hadoop@node1 hadoop]$ vim etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

[hadoop@node1 hadoop]$ vim etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

配置ssh免密

[hadoop@node1 hadoop]$ ssh-keygen

[hadoop@node1 hadoop]$ ssh-copy-id localhost

格式化文件系统

[hadoop@node1 hadoop]$ bin/hdfs namenode -format

启动 NameNode 守护进程和 DataNode 守护进程
[hadoop@node1 hadoop]$ sbin/start-dfs.sh

创建执行 MapReduce 作业所需的 HDFS 目录

[hadoop@node1 hadoop]$ bin/hdfs dfs -mkdir -p /user/hadoop


将输入文件复制到分布式文件系统中

[hadoop@node1 hadoop]$ bin/hdfs dfs -mkdir input
[hadoop@node1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input

运行一些提供的示例

[hadoop@node1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'
 

检查输出文件:将分布式文件系统中的输出文件复制到本地文件系统并进行检查

[hadoop@node1 hadoop]$ bin/hdfs dfs -get output output
[hadoop@node1 hadoop]$ cat output/*

完成后,使用以下命令停止守护进程

[hadoop@node1 hadoop]$ sbin/stop-dfs.sh

完全分布式集群部署

新增两台虚拟机

所有主机配置解析

安装nfs使node2和node3能共享

[root@node1 ~]# yum install -y nfs-utils

[root@node1 ~]# vim /etc/exports

/home/hadoop *(rw,sync,anonuid=1000,anongid=1000)

[root@node1 ~]# systemctl enable --now nfs

修改配置

[hadoop@node1 ~]$ vim hadoop/etc/hadoop/core-site.xml

[hadoop@node1 ~]$ vim hadoop/etc/hadoop/hdfs-site.xml

[hadoop@node1 ~]$ vim hadoop/etc/hadoop/workers

node2和node3进行一样操作

[root@node2 ~]# yum install -y nfs-utils

[root@node2 ~]# showmount -e node1

[root@node2 ~]# mount 192.168.247.132:/home/hadoop/ /home/hadoop/
[root@node2 ~]# df
[root@node2 ~]# ll -d /home/hadoop/


 

重新格式化格式化文件系统

[hadoop@node1 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@node1 hadoop]$ bin/hdfs namenode -format

启动 NameNode 守护进程和 DataNode 守护进程

[hadoop@node1 hadoop]$ sbin/start-dfs.sh

创建执行 MapReduce 作业所需的 HDFS 目录

[hadoop@node1 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@node1 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop

将输入文件复制到分布式文件系统中
[hadoop@node1 hadoop]$ bin/hdfs dfs -mkdir input
[hadoop@node1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值