环境配置

  1. 三台机器上都安装JDK环境: 上传JDK安装包,解压后配置环境变量即可
tar -zxvf OpenJDK8U-jdk_x64_linux_openj9_linuxXL_8u282b08_openj9-0.24.0.tar.gz -C /opt
vi /etc/profile
# 在文件下方添加
export JAVA_HOME=/opt/jdk8u282-b08
export JRE_HOME=/opt/jdk8u282-b08/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 输入:wq!退出
source /etc/profile # 使用环境变量配置
  1. 安装Hadoop环境: 首先上传安装包,再解压至opt目录
tar -zxvf hadoop-2.9.2.tar.gz -C /opt

hadoop前提配置

  1. 配置master节点

首先进入安装目录, 编辑脚本:

cd /opt/hadoop-2.9.2/etc/hadoop
vi hadoop-env.sh
# 找到`# The java implementation to use. ...`, 编辑下面的为
export JAVA_HOME=/opt/jdk8u282-b08

继续编辑当前目录下的core-site.xml文件,指定HDFS的 NameNode的地址,value值是主机名加端口号,主机使用master节点的ip地址

vi core-site.xml

在configuration标签内添加:

<property>
        <name>fs.default.name</name>
        <value>hdfs://master_ip_here:9000</value>
</property> 
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://master_ip_here:9000</value>
 </property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadooptmp</value>
 </property> 

继续编辑当前目录下的hdfs-site.xml,指定hdfs保存数据的副本数量,伪分布式只有一个节点,所以value标签内填:1

vi hdfs-site.xml

在configuration标签内添加:

<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
<property>
        <name>dfs.name.dir</name>
        <value>/home/hadoopname</value>
 </property>
<property>
        <name>dfs.data.dir</name>
        <value>/home/hadoopdata</value>
 </property>

继续配置 mapred-site.xml:从模板重命名来

mv mapred-site.xml.template mapred-site.xml # 新版本没有模板,直接编辑即可
vi mapred-site.xml

在configuration标签内添加:

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property> 

继续配置 yarn-site.xml

vi yarn-site.xml

同上,告诉nodemanager获取数据的方式为shuffle

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

最后配置hadoop的环境变量

vi /etc/profile
# 底部添加
export HADOOP_HOME=/opt/hadoop-2.9.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 
# 然后生效
source /etc/profile 

配置免密登录

首先在master内输入ssh master # 需配置host才能直接master 然后

# 一步一步执行
cd .ssh 
ssh-keygen -t rsa 
cat id_rsa.pub >> authorized_keys 
#测试免输入密码:
ssh master 

开始hadoop初始化

  1. 格式化hadoop
# 进入hadoop安装目录:
cd /opt/hadoop-2.9.2/etc/hadoop/
# 格式化
hadoop namenode -format

format.png

  1. 启动hadoop,测试hdfs
cd /opt/hadoop-2.9.2/sbin/
./start-all.sh

start.png

  1. 测试hdfs命令:
hadoop fs -ls /
hadoop fs -mkdir /test
hadoop fs -ls /

result.png

注: 如果输入hdfs命令时connection refused,可以

# 1. 编辑core-site.xml,主机名可以改成localhost,端口是9000
# 2. 进opt/hadoop~/sbin,停止服务后重新格式化,再启动服务
./stop-all.sh
hadoop namenode -format # 之后输入Y
./start-all.sh