Hadoop学习(一)Hadoop的安装

环境是VirtualBox虚拟机和Ubuntu操作系统,虚拟机和操作系统的安装见https://blog.csdn.net/zhangcjsyl/article/details/88142588

本文的参考文章:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation

一、安装JDK

Hadoop是以java开发,因此需要安装Java环境。首先查看java版本

$ java -version

请注意,推荐安装jdk8或以下的jdk版本,jdk1.9以上的javax包被禁用,按本文的安装配置方法会无法启动ResourceManager;如要使用jdk9以上的版本需要增加配置(见https://issues.apache.org/jira/browse/HADOOP-14978,hadoop推荐的jdk版本见https://wiki.apache.org/hadoop/HadoopJavaVersions),如果已经安装了jdk1.8及以下的java环境可以直接进行下一节设置SHH无密码登录。如果没有安装Java环境或者jdk版本在9以上就要进行下面的步骤进行安装:

下载apt软件安装包管理工具

$ sudo apt-get update

这一操作需要输入superuser的密码,然后安装software-properties

$sudo apt-get install software-properties-common

添加ppa

$ sudo add-apt-repository ppa:webupd8team/java

更新系统

$ sudo apt-get update

完毕后使用apt-get安装jdk,这里安装的事oracle的1.8版本jdk:

$ sudo apt-get install oracle-java8-installer

系统会询问是否继续执行,输入Y后按Enter即可。如果之前安装过jdk需要进行jdk版本切换

$ sudo update-java-alternatives -s java-8-oracle

再次查看java版本,当看到如下的内容则已经安装成功。

二、设置SSH无密码登录

Hadoop一般是集群部署,启动Hadoop时NameNode必须与DataNode连接,为了让系统能够顺利运行而不用输入密码就需要设置SSH无密码登录。

1.安装SSH

$ sudo apt-get install ssh

在终端执行以上命令,系统会询问是否继续,输入Y并按下Enter键。

2.安装rsync

终端输入下面的命令

$ sudo apt-get install rsync

3.产生SSH Key

这里采用rsa算法,也可采用dsa算法,就将rsa改为dsa即可:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa

SSH Key会产生在用户根目录/home/zhangc(这里zhangc是我的用户名)下,输入下面的命令查看产生的SSH Key:

$ ll /home/zhangc/.ssh

运行后得到下面的结果:

Hadoop学习(一)Hadoop的安装_第1张图片

.pub文件就是产生的Key,下面将这个Key放到许可证文件中去:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

(>> 会将命令产生的输出附加在后面的文件末尾而不会覆盖该文件。)、

可以尝试进行本机的ssh无密码登录:

$ ssh localhost

成功后输入logout命令进行登出,不然的话有些命令无法使用(后面的gedit就是)

$ ssh logout

三、下载安装Hadoop

访问下载地址https://archive.apache.org/dist/hadoop/common/(这里可以使用北京信息学院镜像http://mirror.bit.edu.cn/apache/hadoop/common/)

Hadoop学习(一)Hadoop的安装_第2张图片

选择要下载的版本,这里我选择的事hadoop-3.2.0的版本,点击进去复制选择.tar.gz的文件右键复制下载链接

Hadoop学习(一)Hadoop的安装_第3张图片

然后在终端下输入wget和之前复制的链接

$ wget https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz

下载完成后解压缩下载的文件

$ sudo tar -zxvf hadoop-3.2.0.tar.gz 

移动到/usr/local目录下

$ sudo mv hadoop-3.2.0 /usr/local/hadoop

四、设置Hadoop环境变量

1.编辑~/.bashrc

在终端输入下面的命令,打开~/.bashrc文件

$ sudo gedit ~/.bashrc 

在文件末尾输入下面的配置:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.2.0
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=$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

如下图所示,然后点击保存,最后点击关闭按钮。

Hadoop学习(一)Hadoop的安装_第4张图片

2.让~/.bashrc生效

$ source ~/.bashrc 

五、修改Hadoop配置文件

1.修改hadoop-env.sh

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

找到如下位置

修改为自己的jdk路径:

2.修改core.site.xml

终端输入以下命令:

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

在configuration标签中增加如下内容:

    
        fs.default.name
        hdfs://localhost:9000
    

如下图所示:

Hadoop学习(一)Hadoop的安装_第5张图片

然后点击保存并退出。

3.修改yarn-site.xml

在终端输入命令:

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

在configuration标签中增加如下内容:


    yarn.nodemanager.aux-services
    mapreduce_shuffle


    yarn.nodemanager.aux-services.mapreduce.shuffle.class
    org.apache.hadoop.mapred.ShuffleHandler

如下图所示:

Hadoop学习(一)Hadoop的安装_第6张图片

然后点击保存并退出。

4.设置hdfs-site.xml

在终端输入命令:

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

在configuration标签中增加如下内容:


    dfs.replication
    3


    dfs.namenode.name.dir
    file:/usr/local/hadoop/hadoop_data/hdfs/namenode


    dfs.datanode.data.dir
    file:/usr/local/hadoop/hadoop_data/hdfs/datanode

如下图所示:

Hadoop学习(一)Hadoop的安装_第7张图片

然后点击保存并退出。

创建namenode和datanode目录:

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

六、格式化Hadoop

1.将Hadoop目录拥有者改为当前用户zhangc

$ sudo chown zhangc:zhangc -R /usr/local/hadoop

2.进行格式化

这个操作会清除hdfs中的所有数据:

hadoop namenode -format

七、启动Hadoop

运行下面的命令启动hdfs:

$ start-dfs

启动yarn:

$ start-yarn.sh

以上两个命令可以用一个命令代替:

$ start-all.sh

使用jps查看当前已启动的进程:

$ jps

如下所示:

Hadoop学习(一)Hadoop的安装_第8张图片

一定要有 DataNode、NodeManager、SecondaryNameNode、ResourceManager、NameNode这五个缺一不可才算启动成功。

访问Resource Manager界面localhost:8088和HDFS界面localhost:9870(hadoop2.x版本的默认的hdfs的端口是50070)

Hadoop学习(一)Hadoop的安装_第9张图片

Hadoop学习(一)Hadoop的安装_第10张图片

这样就启动成功了。

 

你可能感兴趣的:(Hadoop)