准备启动 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


7066

被折叠的 条评论
为什么被折叠?



