伪分布式集群搭建指南
一、基础环境配置
- 修改hostname,将hostname修改为bigdata01
执行 vi /etc/hostname
然后将hostname修改为bigdata01,如下图所示:
修改成功后为了让hostname生效,执行 reboot
- 关闭防火墙
先执行 systemctl stop firewalld
然后执行 systemctl disable firewalld
最后执行 systemctl status firewalld
若显示如下状态,说明执行成功
- 配置免密钥登陆方式
执行 cd ~
进入用户目录,发现没有.ssh,需要创建该目录
执行 mkdir .ssh 创建.ssh目录
执行 cd .ssh 进入.ssh目录
执行 ssh-keygen -t rsa 产生公钥和私钥(注意:要一直使用回车键直到命令执行完毕)
执行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 将公钥拷贝到需要免密码登陆的机器上面。
最后,执行ls -al 命令,看到如下三个文件,说明免密钥登陆方式配置成功。
- 配置JDK
执行 cd /data/soft 进入软件目录,发现存在如下的jdk压缩包
执行 tar -zxvf jdk-8u202-linux-x64.tar.gz 解压jdk压缩包
执行 mv jdk1.8.0_202 jdk1.8 修改JDK目录名称
执行 vi /etc/profile 通过vi在文件的末端输入如下内容(shirt + G 跳到文件末端)
export JAVA_HOME=/data/soft/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH
执行 source /etc/profile 使得配置生效
执行 java -version 发现如下的JDK版本号,说明配置成功。
二.Hadoop伪分布式集群配置
执行 cd /data/soft
执行 tar -zxvf hadoop-3.2.0.tar.gz 解压Hadoop压缩包
执行 cd /data/soft/hadoop-3.2.0/etc/hadoop (Hadoop集群核心配置项都在这个目录)
1.hadoop-env.sh
新增java安装位置 和 hadoop日志存放的目录
执行 mkdir -p /data/tmp 创建存放PID的tmp目录
执行 chmod 777 -R /data/tmp 修改tmp目录权限
执行 vi hadoop-env.sh 修改该配置文件,新增以下内容:
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
export HADOOP_PID_DIR=/data/tmp
- core-site.xml
将fs.defaultFS属性中的主机名需要和主节点的主机名保持一致
执行 vi core-site.xml 修改该配置文件,将<configuration>修改为以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop_repo</value>
</property>
</configuration>
- hdfs-site.xml
伪分布集群只有一个节点 把hdfs中文件副本的数量设置为1
执行 vi hdfs-site.xml 修改该配置文件,将<configuration>修改为以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- mapred-site.xml
设置mapreduce使用的资源调度框架 yarn
执行 vi mapred-site.xml 修改该配置文件,将<configuration>修改为以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- yarn-site.xml
设置yarn上支持运行的服务和环境变量白名单
执行 vi yarn-site.xml 修改该配置文件,将<configuration>修改为以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>
- workers
设置集群中从节点的主机名信息
执行 vi workers , 修改为如下内容
bigdata01
- 修改启动脚本
执行 cd /data/soft/hadoop-3.2.0/sbin (sbin目录存放了Hadoop集群的启动脚本)
执行 vi start-dfs.sh 新增以下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
执行 vi stop-dfs.sh 新增以下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
执行 vi start-yarn.sh 新增以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
执行 vi stop-yarn.sh 新增以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
三、启动Hadoop伪分布式集群
1格式化HDFS
执行 cd /data/soft/hadoop-3.2.0
执行 bin/hdfs namenode -format
显示“successfully format” 表明格式化成功
如果需要重复执行,那么需要将/data/hadoop_repo目录中的内容全部删除 然后再执行格式化
2.启动伪分布集群和停止伪分布式集群
执行 cd /data/soft/hadoop-3.2.0/sbin
执行 start-all.sh 启动集群
执行jps 可以看到Hadoop相关的五个进程
执行 cd /data/soft/hadoop-3.2.0/sbin
执行 stop-all.sh 停止集群
HDFS 的wubi界面 http://Hadoop伪分布式集群IP地址:9870/
YARN 的wubi界面 http://Hadoop伪分布式集群IP地址:8088/