Hadoop的安装与配置——设置单节点集本篇博客将主要介绍如何设置和配置单节点Hadoop安装,以便我们可以使⽤Hadoop 的MapReduce与HDFS快速执⾏简单的操作。零、先决条件
1、本系列以Ubuntu Linux作为开发和⽣产平台
2、Linux所需的软件包括:
JAVA:必须安装Java,配置好JDK环境变量;
SSH:如果要使⽤可选的启动和停⽌脚本,则必须安装ssh并且必须运⾏sshd才能使⽤管理远程Hadoop守护程序的Hadoop脚本;
pdsh:安装pdsh以便更好地进⾏ss管理。
如果集中没有必需的软件,则需要安装它。在Ubuntu Linux上:
$ sudo apt-get install ssh
$ sudo apt-get install pdsh
⼀、下载
可以从 下载获得最稳定的发⾏版
下载后,使⽤ : tar -zxvf tar包名,解压到指定位置!
编辑⽂件etc/ hadoop / hadoop-env.sh以定义⼀些参数
# set to the root of your Java installation
export JAVA_HOME=/usr/local/java/jdk1.8
export HADOOP_CONF_DIR=/usr/local/apps/hadoop-3.2.1/etc/hadoop
尝试以下命令:
$ bin / hadoop
⼆、准备启动Hadoop集
这将显⽰hadoop脚本的⽤法⽂档
现在,我们可以以三种⽀持的模式之⼀启动Hadoop集:
本地(独⽴)模式
伪分布式模式
全分布式模式
2.1、独⽴模式运⾏
默认情况下,Hadoop被配置为在⾮分布式模式下作为单个Java进程运⾏。这对于调试很有⽤。
下⾯的⽰例复制解压缩的conf⽬录以⽤作输⼊,然后查并显⽰给定正则表达式的每个匹配项。输出被写⼊给定的输出⽬录。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
$ cat output/*
2.2、伪分布式操作模式运⾏
Hadoop也可以以伪分布式模式在单节点上运⾏,其中每个Hadoop守护程序都在单独的Java进程中运⾏。
在以下配置⽂件中进⾏修改或添加内容
etc/l:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
hadoop安装详细步骤linux</configuration>
etc/l:
<configuration>
<property>
<name&plication</name>
<value>1</value>
</property>
</configuration>
设置⽆密码SSH
现在检查您是否可以在不使⽤密码的情况下SSH到本地主机:
$ ssh localhost
如果没有密码就⽆法SSH到本地主机,就执⾏以下命令:
$ ssh-keygen -t rsa -P ''-f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
以下说明是在本地运⾏MapReduce作业:
1. 格式化⽂件系统:
$ bin/hdfs namenode -format
2. 启动NameNode守护程序和DataNode守护程序:
$ sbin/start-dfs.sh
hadoop守护程序⽇志输出将写⼊$ HADOOP_LOG_DIR⽬录(默认为$ HADOOP_HOME / logs)。
3. 浏览Web界⾯的NameNode;默认情况下,它在以下位置可⽤:
NameNode - localhost:9870/
4. 设置执⾏MapReduce作业所需的HDFS⽬录:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/root
5. 将输⼊⽂件复制到分布式⽂件系统中:
$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
6. 运⾏提供的⼀些⽰例:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+' 7. 检查输出⽂件:将输出⽂件从分布式⽂件系统复制到本地⽂件系统并检查它们:
$ bin/hdfs dfs -get output output
$ cat output/*
8. 完成后,使⽤以下命令停⽌守护进程:
$ sbin / stop-dfs.sh
以伪分布式模式在YARN上运⾏MapReduce作业:
以下指令假定上述本地运⾏MapReduce作业指令的1.〜4. 步骤已经执⾏。
5. 如下配置参数:
etc / hadoop / l:
<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 / l:
<configuration>
<property>
<name> demanager.aux-services </ name>
<value> mapreduce_shuffle </ value>
</ property>
<property>
<name> v-whitelist </ name>
<value> JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,H ADOOP_YARN_HOME,HADOOP_MAPRED_HOME </ value>
</ property>
</ configuration>
6. 启动ResourceManager守护程序和NodeManager守护程序:
$ sbin/start-yarn.sh
7. 浏览Web界⾯以到ResourceManager;默认情况下,它在以下位置可⽤:
ResourceManager- http:// localhost:8088 /
运⾏MapReduce作业。
8. 完成后,使⽤以下命令停⽌守护进程:
$ sbin/stop-yarn.sh
2.3、全分布式运⾏
有关设置完全分布式的⾮重要集的信息,将在!