Hadoop Single Node Cluster——Hadoop单节点集群的安装

Posted 风在人舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop Single Node Cluster——Hadoop单节点集群的安装相关的知识,希望对你有一定的参考价值。

Hadoop Single Node Cluster只以一台机器来建立Hadoop环境,仍然可以使用Hadoop命令,只是无法发挥使用多台机器的威力。

安装JDK

因为Hadoop是以Java开发的,所以必须先安装Java环境。本文是以Ubuntu系统为例

安装前查看java版本

在命令终端输入  java -version 查看

安装成功 返回的是 java 版本,未安装会提示包含在下列软件包中,执行下列命令安装

sudo apt-get update 

sudo apt-get install default-jdk

安装完成后,再次查看java版本

查看Java安装位置

执行 update-alternatives --display java ,系统会响应安装的路径。

设置SSH无密码登陆

Hadoop 是由很多台服务器所组成的。当我们启动Hadoop系统时,NameNode必须与DataNode连接,并管理这些节点(DataNode)。此时系统会要求用户输入密码。为了让系统顺利运行而不需手动输入密码,就需要SSH设置成无密码登录,设置为SSH Key(密钥)来进行身份验证。

安装SSH

sudo apt-get install ssh

sudo apt-get install rsync

产生SSH Key(密钥)进行后续身份验证

ssh-keygen -t dsa -P ‘ ‘ -f  ~/.ssh/id_dsa

SSH Key(密钥)会产生在用户的根目录下,可用如下命令查看

ll ~/.ssh

将产生的Key放置到许可证文件中

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

下载安装Hadoop

到Hadoop官网下载Hadoop版本,并安装到Ubuntu中

浏览器输入   https://archive.apache.org/dist/hadoop/common/  选择Hadoop版本。

使用 wget 命令下载到本地

使用 sudo tar -zxvf Hadoop~~~  解压

将 Hadoop 移动到 /usr/local

sudo mv hadoop~~~ /usr/local/hadoop

设置Hadoop环境变量

编辑 ~/.bashrc

sudo gedit ~/.bashrc  打开,在文章末尾加入

设置JDK安装路径

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

设置HADOOP_HOME为Hadoop的安装路径

export HADOOP_HOME=/usr/local/hadoop

设置PATH

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

设置HADOOP其他环境变量

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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

 让 ~/.bashrc设置生效

source ~/.bashrc

修改Hadoop配置设置文件

设置hadoop-env.sh配置文件

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

修改 JAVA_HOME 设置,修改为: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

设置 core-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

设置HDFS的默认名称

<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
</property>
</configuration>

设置yarn-site.xml

yarn-site.xml文件中含有MapReduce2(YARN)相关的配置设置

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

设置mapred-site.xml

mapred-site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行情况。

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

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

设置 hdfs-site.xml

hdfs-site.xml 用于设置HDFS分布式文件系统

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>

设置 blocks 副本备份数量
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

设置NameNode数据存储目录
<property>
    <name>dfs.namenode.name.dir</name>
    <value> file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>

设置DataNode数据存储
<property>
    <name>dfs.datanode.data.dir</name>
    <value> file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
</configuration>

创建并格式化 HDFS 目录

创建 NameNode 数据存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

创建 DataNode 数据存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

将 Hadoop 目录的所有者更改为 hduser

sudo chown hduser:hduser -R /usr/local/hadoop

格式化 namenode

hadoop namenode -format

这个操作会删除所有的数据。

启动Hadoop

start-all.sh









































以上是关于Hadoop Single Node Cluster——Hadoop单节点集群的安装的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop 的 NameNode 和 DataNode 服务没有在 single_mode 下运行

ubuntu hadoop伪分布式部署

在 linux 64 位机器上安装 hadoop-2.2.0 时出现问题

python deploy_all_to_single_node.py

idea打包jar在集群运行FlinkWordCount.jar

[CLI] Create a Single-Command Node.js CLI with Oclif, TypeScript and Yarn Workspaces