步骤1–前期准备
Java是在任何系统上运行Hadoop的主要需求,因此请确保使用以下命令在系统上安装了Java。如果您的系统上没有安装Java,请首先jdk的进行安装。
步骤2–为Haddop创建用户
我们建议为Hadoop工作创建一个普通(或根)帐户。使用以下命令创建帐户。(如果需要管理员权限,那么就加上sudo)
adduser hadoop
创建帐户后,还需要将基于密钥的ssh设置为自己的帐户。为此,请执行以下命令
su - hadoop
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
现在,使用Hadoop user将SSH连接到本地主机。这不应该要求输入密码,但第一次将提示将RSA添加到已知主机列表中。
ssh localhost
exit
第3步-下载Hadoop源文件
在此步骤中,使用下面的命令下载Hadoop3.1源文件。
您还可以选择备用下载镜像以提高下载速度。
cd ~
wget http://www-eu.apache.org/dist/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
tar xzf hadoop-3.1.2.tar.gz
mv hadoop-3.1.2 hadoop
步骤4–设置Hadoop伪分布式模式
4.1 设置Hadoop环境变量
设置Hadoop使用的环境变量。编辑~/.bashrc文件并在文件末尾加以下语句。
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
然后,在当前运行环境中应用更改
source ~/.bashrc
现在编辑$HADOOP_HOME/etc/HADOOP/HADOOP-env.sh文件并设置JAVA_HOME环境变量。根据系统上的安装更改JAVA路径。此路径因操作系统版本和安装源而异。务必改成你自己的路径。
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
更新以下条目:
export JAVA_HOME=你的java的jdk路径
4.2 安装Hadoop配置文件
Hadoop有许多配置文件,需要根据Hadoop基础设施的要求进行配置。让我们从基本Hadoop单节点集群设置的配置开始。首先,进入到以下文件位置
cd $HADOOP_HOME/etc/hadoop
Edit core-site.xml,将configuration改为(原来为空):
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Edit hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
Edit mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Edit yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4.3 格式化Namenode
现在使用以下命令格式化namenode,确保存储目录
hdfs namenode -format
样本输出:
WARNING: /home/hadoop/hadoop/logs does not exist. Creating.
2018-05-02 17:52:09,678 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = tecadmin/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 3.1.2
…
…
…
2018-05-02 17:52:13,717 INFO common.Storage: Storage directory /home/hadoop/hadoopdata/hdfs/namenode has been successfully formatted.
2018-05-02 17:52:13,806 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
2018-05-02 17:52:14,161 INFO namenode.FSImageFormatProtobuf: Image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 391 bytes saved in 0 seconds .
2018-05-02 17:52:14,224 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2018-05-02 17:52:14,282 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at tecadmin/127.0.1.1
************************************************************/
步骤5–启动Hadoop集群
让我们使用Hadoop提供的脚本启动Hadoop集群。只需导航到$HADOOP_HOME/sbin目录并逐个执行脚本。
cd $HADOOP_HOME/sbin/
./start-dfs.sh
./start-yarn.sh
步骤6-在浏览器中访问Hadoop服务
localhost:8088
localhost:9870(hadoop3以下版本为hadoop50070)