hadoop 3.3.3 Standalone 和 Pseudo-Distributed模式安装
下载
下载地址:hadoop下载地址
系统环境:Linux
JDK: Hadoop 3.3 及更高版本支持 Java 8 和 Java 11(仅限运行时)
请使用 Java 8 Hadoop进行编译。不支持使用 Java 11 编译 Hadoop
从 3.0.x 到 3.2.x 的Hadoop 现在只支持 Java 8
从 2.7.x 到 2.10.x 的Hadoop 同时支持 Java 7 和 8
安装准备
下载的hadoop包进行解压缩,执行一下命令:
$ tar -zxvf hadoop-3.3.4.tar.gz
编辑文件/hadoop/hadoop-env.sh :
$ vim /hadoop/hadoop-env.sh
添加一下参数:
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest
JAVA_HOME改为自己的jdk安装路径
Standalone模式
hadoop默认为非分布式运行,输入一下命令开启hadoop:
$ bin/hadoop
输入一下命令进行测试:
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'
$ cat output/*
查看output中的内容
Pseudo-Distributed伪分布式模式
修改配置
修改etc/hadoop/core-site.xml中配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改etc/hadoop/hdfs-site.xml中配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
设置无密码SSH
检查是否在没有密码的情况下通过SSH连接到本机:
$ ssh localhost
如果没有密码无法连接,则进行以下命令:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
执行
格式化文件系统
$ bin/hdfs namenode -format
启动namenode和datenode
$ sbin/start-dfs.sh
查看namenode默认web界面:http://localhost:9870/
使HDFS目录成为执行MapReduce作业所需的目录
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
将输入文件复制到分布式文件系统中
$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
运行示例
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'
检查输出文件
将输出文件从分布式文件系统复制到本地文件系统并检查它们
$ bin/hdfs dfs -get output output
$ cat output/*
或查看分布式文件系统上的输出文件
$ bin/hdfs dfs -cat output/*
停止
$ sbin/stop-dfs.sh
单节点YARN
配置参数
etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
etc/hadoop/yarn-site.xml:
<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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
启动
启动ResourceManager和NodeManager:
$ sbin/start-yarn.sh
访问默认界面 http://localhost:8088/
关闭
$ sbin/stop-yarn.sh