文章目录
一. 实验目的
掌握Hadoop集群单节点非分布和伪分布安装部署技术。
二. 实验内容
1)安装SSH、配置SSH无密码登录。
2)安装Java。
3)安装Hadoop单节点非分布式和伪分布式。
参考:http://dblab.xmu.edu.cn/blog/install-hadoop/
三. 实验步骤及结果分析
1. 安装SSH、配置SSH无密码登录
说明:在实验一中安装好的K0.ubuntukylin14.04系统将其完全克隆,生成独立的K1.ubuntukylin14.04系统,本实验均在K1.ubuntukylin14.04系统上操作。
1.1 更新apt
打开终端,输入sudo apt-get update
命令更新apt,输入sudo apt-get install vim
命令安装vim,输入Y确定执行。
1.2 修改主机名为K1
在终端输入sudo vim /etc/hostname
命令打开存放主机名称的hostname文件,按i键进入编辑模式,将K0改为K1后,按Esc键退出编辑模式,输入:wq
并按Enter键保存退出(输入:q!
并按Enter键为不保存退出),重启系统后生效。
1.3 安装SSH
SSH 登陆类似于远程登陆,用于Hadoop的单节点或集群模式的启动程序,运行命令等操作,Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server。
在终端输入sudo apt-get install openssh-server
命令安装SSH server,输入Y确认执行安装,之后可输入ssh localhost
进行登陆本机测试,首次登录需要输入yes
和密码admin
进行验证,输入exit
命令可退出登录本机状态。
1.4 配置SSH无密码登录
在终端输入cd ~/.ssh/
命令进入ssh目录,输入ssh-keygen -t rsa
命令后一直按Enter键就会生成密匙,然后输入cat ./id_rsa.pub >> ./authorized_keys
命令将生成的密匙加入到系统授权,此时再输入ssh localhost
命令就不用输密码admin
了。
2. 安装Java
在Java官网下载javaJDK安装包jdk-8u281-linux-x64.tar.gz,会被保存至下载目录中。
然后输入cd /usr/lib
命令和sudo mkdir jvm
命令创建/usr/lib/jvm目录来存放jdk文件,输入cd ~/下载
命令和sudo tar -zxvf ./jdk-8u281-linux-x64.tar.gz -C /usr/lib/jvm
命令将jdk文件解压安装到jvm文件夹里边。
配置java环境变量。在终端输入vim ~/.bashrc
命令打开环境变量文件,添加以下内容后保存退出:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_281
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后输入source ~/.bashrc
命令使环境变量生效,输入java -version
命令检查java是否安装成功,成功的话会输出版本信息。
3. 安装Hadoop单节点非分布式和伪分布式
注:Hadoop官网下载地址为http://archive.apache.org/dist/hadoop/core/
3.1 安装Hadoop单节点非分布式
Hadoop安装好后默认为单节点非分布模式(本地模式)。
在Hadoop官网下载hadoop-2.6.0.tar.gz压缩安装包,会被保存到下载目录中。
输入sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local
命令将Hadoop解压安装到/usr/local中,输入cd /usr/local/
命令和sudo mv ./hadoop-2.6.0/ ./hadoop
命令将解压后的Hadoop文件夹改名为hadoop,输入sudo chown -R mcf14 ./hadoop
命令修改hadoop文件夹权限为用户mcf14所有。
配置Hadoop环境变量。在终端输入vim ~/.bashrc
命令,添加以下内容后保存退出:
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin
然后输入source ~/.bashrc
命令使环境变量生效,输入hadoop version
命令检查Hadoop是否安装成功,成功的话会输出版本信息。
3.2 安装Hadoop伪分布式
Hadoop 伪分布式中,进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,读取HDFS 中的文件。
Hadoop伪分布式与单机非分布式相比,需要修改两个配置文件即 core-site.xml 和 hdfs-site.xml。Hadoop 配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,其配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
在终端中输入vim /usr/local/hadoop/etc/hadoop/core-site.xml
命令修改配置文件 core-site.xml,将文件末尾改为以下配置内容:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
在终端中输入vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
命令修改配置文件 hdfs-site.xml,将文件末尾改为以下配置内容,其中dfs.replication的1为副节点的个数:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
然后,输入hdfs namenode -format
命令执行NameNode格式化(注意!不要轻易格式化),输出内容中有name has been successfully formatted.和Exiting with status 0即为成功。
3.3 启动Hadoop
在终端输入start-dfs.sh
命令启动Hadoop,若有提示输入yes
即可,然后在终端输入jps
命令查看进程,有NameNode、DataNode和SecondaryNameNode进程即为成功。
在Web界面http://localhost:50070 可以查看NameNode和Datanode信息,还可以在线查看 HDFS 中的文件。
输入stop-dfs.sh
命令可以关闭Hadoop进程。