Hadoop Single Node Cluster的安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baiziyuandyufei/article/details/81147808

本文参考林大贵实现Hadoop Single Node Cluster的安装,安装步骤如下:

1. 安装JDK

因为Hadoop是使用Java开发的,所以必须先安装JDK。
安装JDK最新版

(1)到官网下载jdk最新版 http://www.oracle.com/technetwork/java/javase/downloads/index.html

jdk下载页面
选择.tar.gz下载

(2)将下载的压缩包文件拷贝到/usr/loacal/,解压缩,建立链接,更改目录所有者。

cd /usr/local
sudo cp ~/下载/jdk-10.0.2_linux-x64_bin.tar.gz ./
sudo tar -xvzf jdk-10.0.2_linux-x64_bin.tar.gz 
sudo ln -s jdk-10.0.2 java
sudo chown -R yf:yf java 
sudo chown -R yf:yf jdk-10.0.2

(3)配置环境变量

编辑/etc/profile,文件的末尾添加下边的内容

JAVA_HOME=/usr/local/java
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
export CLASS_PATH

使环境变量生效

source /etc/profile

验证

java -version

验证java是否安装成

2. 设置SSH无密码登陆

Hadoop必须通过SSH与本地计算机以及其他主机连接,所以必须设置SSH。Hadoop是由多台服务器所组成的,当我们启动Hadoop系统时,NameNode必须与DataNode连接并管理这些节点(DataNode)。此时系统会要求用户输入密码。为了让系统顺利运行而不手动输入密码,需要将SSH设置成无密码登陆。注意,无密码登陆并非不需要密码,而是事先交换的SSH Key(秘钥)来进行身份验证。

(1)安装SSH

 sudo apt-get install ssh

(2)安装rsync

sudo apt-get install rsync

(3)生成SSH Key

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

(4)将产生的key放到许可证文件中

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

3. 下载安装Hadoop

(1)下载Hadoop2.6.4,并安装到Ubuntu中。http://archive.apache.org/dist/hadoop/core/hadoop-2.6.4/

cd /usr/local
sudo cp ~/下载/hadoop-2.6.4.tar.gz ./
sudo tar -xvzf hadoop-2.6.4.tar.gz 
sudo ln -s hadoop-2.6.4 hadoop
sudo chown -R yf:yf hadoop
sudo chown -R yf:yf hadoop-2.6.4

(2)Hadoop常用目录说明

目录 说明
bin/ 各项运行文件,包括Hadoop,HDFS,YARN等
sbin/ 各项shell运行文件,包括start-all.sh、stop-all.sh
etc/ etc/hadoop子目录包含Hadoop配置文件,例如:hadoop-env.sh、core-site.xml、YARN-site.xml
lib/ Hadoop函数库
logs/ 系统日志,可以查看系统运行情况,运行有问题时可从日志找出错误原因

4. 设置Hadoop环境变量

(1)设置每次用户登陆时必须要设置的环境变量。

export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HDOOP_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

(2)使环境变量生效

source ~/.bashrc

5. Hadoop配置文件的设置

在Hadoop的/usr/local/hadoop/etc/hadoop目录下有很多配置设置文件,通过编辑这些文件来启用基本或是更高级的功能。

(1)设置hadoop-env.sh

hadoop-env.sh是Hadoop的配置文件,在这里必须设置Java的安装路径。
修改JAVA_HOME设置

export JAVA_HOME=/usr/local/java

(2)设置core-site.xml

在core-site.xml中,必须设置HDFS的默认名称,当我们使用命令或程序要存取HDFS时,可使用此名称。
设置HDFS默认名称

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

(3)设置YARN-site.xml

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

<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>

(4)设置mapred-site.xml

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

拷贝一份mapreduce框

cp mapred-site.xml.template mapred-site.xml

设置mapreduce框架为yarn

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

(5)设置hdfs-site.xml

hdfs-site.xml用于设置HDFS分布式文件系统。
分别设置blocks副本备份数量,设置NameNode数据存储目录,设置DataNode数据存储目录。

<configuration>
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
</configuration>

6. 创建并格式化HDFS目录

HDFS目录是存储HDFS文件的地方,在启动Hadoop之前必须先创建并格式化HDFS目录。

(1)创建namenode数据存储目录

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

(2)创建datanode数据存储目录

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

(3) 将HDFS进行格式化

hadoop namenode -format

此条命令会删除所有的数据

7. 启动Hadoop

全部设置完成就可以开始启动Hadoop,并查看Hadoop相关进程是否已经启动
同时启动HDFS和MapReduce框架Yarn

start-all.sh

使用jps查看已经启动的进程

jps

hadoop正常启动后的进程
HDFS功能:NameNode、SecondaryNameNode、DataNode已经启动
MapReduce2(YARN):ResourceManager、NodeManager已经启动


猜你喜欢

转载自blog.csdn.net/baiziyuandyufei/article/details/81147808
今日推荐