任务1:Hadoop集群部署关键点个性化(实验报告三)
基于ubuntukylin16.04(4)或者从新安装Ubuntu镜像,完成集群部署个性化。相关代码和数据请参考:http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
关键点包括但不限于主机名(ubuntu)、用户名(hadoop)、文件名、数据名等。
一、在VM虚拟机中安装ubuntu kylin16.04(4)系统
设置计算机名为ubuntu,用户名为hadoop,密码为admin。
二、更新apt
打开终端,输入sudo apt-get update
命令更新apt、输入sudo apt-get install vim
命令安装vim、安装软件时若要确认输入y
。
三、安装SSH,配置SSH无密码登陆
1.使用sudo apt-get install openssh-server
命令安装SSH server。
2.安装后使用ssh localhost
命令登录本机,若有提示,输入yes
即可,然后输入密码admin
。
3.配置成SSH无密码登陆很方便,所以,输入exit
命令退出刚才登陆的ssh localhost,然后输入cd ~/.ssh/
命令进入.ssh目录,输入ssh-keygen -t rsa
命令利用ssh-keygen生成密匙,然后输入cat ./id_rsa.pub >> ./authorized_keys
命令将密匙加入到授权。
4.加入授权后,此时再输入ssh localhost
命令登陆就不需要密码了。
四、安装Java环境
1.在java官网下载javaJDK安装包jdk-8u271-linux-x64.tar.gz,会被保存至下载目录中。
2.打开终端,输入cd /usr/lib
命令进入到/usr/lib目录,然后输入sudo mkdir jvm
命令创建/usr/lib/jvm目录用来存放JDK文件。
3.输入cd ~
命令进入hadoop用户主目录,然后输入cd 下载
命令进入下载目录,然后输入sudo tar -zxvf ./jdk-8u271-linux-x64.tar.gz -C /usr/lib/jvm
命令把JDK文件解压到/usr/lib/jvm目录下。
4.输入cd /usr/lib/jvm
命令可进入/usr/lib/jvm目录,然后输入ls
命令可查看解压后的JDK文件。
5.设置java环境变量,输入cd ~
命令进入主目录,然后输入vim ~/.bashrc
命令打开用户的环境变量配置文件.bashrc ,并在打开后按i
键进入编辑模式,在开头添加以下四行内容。
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_271
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib
export PATH=${
JAVA_HOME}/bin:$PATH
6.添加完毕后,按Esc键退出编辑模式,然后输入:wq
并按回车键保存并退出,然后输入source ~/.bashrc
命令让环境变量配置文件.bashrc立即生效。
7.可输入java -version
命令查看java是否安装成功,若出现版本及相关信息,则安装成功。
五、安装Hadoop
1.在Hadoop官网下载hadoop-2.6.0.tar.gz压缩安装包,会被下载保存在主目录的下载目录中
注:Hadoop官网下载地址为http://archive.apache.org/dist/hadoop/core/。
2.将Hadoop安装在/usr/local
目录中,可输入sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local
命令将压缩安装包解压至/usr/local目录。
3.输入cd /usr/local
命令进入/usr/local目录,然后输入sudo mv ./hadoop-2.6.0/ ./hadoop
命令将Hadoop文件夹的名字由hadoop-2.6.0改为hadoop,然后输入sudo chown -R hadoop ./hadoop
命令修改hadoop文件夹的权限为用户hadoop所有。
4.Hadoop解压后就能使用,可输入cd /usr/local/hadoop
和./bin/hadoop version
命令来查看Hadoop是否可用,若成功则会显示版本及相关信息。
六、Hadoop集群的网络配置
1.Hadoop集群需要两台机器,一台为主节点即Master,一台为节点即Slave。我们把已经安装好java和hadoop的机器作为Master主节点。然后,我们再参照任务1的一、二、三、四部分的内容再安装一台机器作为Slave节点,并为其安装好java。Slave节点的安装配置过程在此省略,如有需要,请参考本任务1的前四部分内容,以下截图为安装好java的Slave节点。
2.分别在两个机器中输入sudo vim /etc/hostname
命令修改机器的主机名,主节点即为Master,节点即为Slave。
3.分别在两个机器中输入ifconfig
命令,然后可查看机器的IP地址,如下所示,Master主节点的IP为192.168.75.131 ,Slave节点的IP为192.168.75.132。
4.分别在两个节点输入sudo vim /etc/hosts
命令修改/etc/hosts文件中本机所用的IP 映射关系,将除了127.0.0.1 localhost这条记录之外的其他所有记录删除,并添加上两个节点的IP对应着主机名的记录,例如我的为192.168.75.131 Master和192.168.75.132 Slave ,最后如下图所示。
5.配置好两个节点的/etc/hostname和/etc/hosts文件之后,重启两个节点一下,此时会发现终端中机器名的变化。
6.在两节点上输入ping Master -c 3
和ping Slave -c 3
命令,测试是否相互ping得通,若出现以下所示,则表示成功。
七、Hadoop集群的SSH无密码登陆节点配置
1.为了让Master节点能够无密码SSH登陆到各个Slave节点上,所以需要配置SSH无密码登陆。在Master节点输入cd ~/.ssh
命令进入到.ssh文件,然后输入rm ./id_rsa*
命令删除之前生成的公匙,再输入ssh-keygen -t rsa
命令并一直回车生成新的公匙。
2.在Master节点输入cat ./id_rsa.pub >> ./authorized_keys
命令,然后输入ssh Master
命令,之后输入yes
就能无密码登录到ssh localhost即本机了,然后输入exit
命令退出ssh localhost返回到原来的终端。
3.在Master节点上输入scp ~/.ssh/id_rsa.pub hadoop@Slave:/home/hadoop/
命令将Master的公匙传输到Slave节点上,之后输入yes
和要求输入Slave节点上hadoop用户的密码(即admin
)。
4.在Slave节点上,要将SSH公匙加入授权。在Slave节点中先输入mkdir ~/.ssh
命令创建.ssh文件夹(若有则忽略),然后输入cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
命令将SSH公匙加入授权,然后输入rm ~/id_rsa.pub
命令将用完的公匙删除就行了。
5.此时在Master节点上就可以无密码SSH登陆到Slave节点上了,在Master节点的终端输入ssh Slave
命令,主机名就由Master变为Slave了,表示无密码SSH登陆Slave成功,之后输入exit
命令可退出。
6.配置Hadoop环境变量,在Master节点输入vim ~/.bashrc
命令打开环境变量配置文件,然后在开头配置的java环境变量后边加上下边一行路径,然后保存并退出,输入source ~/.bashrc
命令使配置生效。
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
八、Hadoop集群/分布式环境配置
集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,即slaves
、core-site.xml
、hdfs-site.xml
、mapred-site.xml
(要先重命名,默认文件名为mapred-site.xml.template)、yarn-site.xml
。
1.修改slaves文件,在终端输入vim /usr/local/hadoop/etc/hadoop/slaves
命令,将文件中原来的localhost删除,只添加Slave
。
2.修改core-site.xml文件,在终端输入vim /usr/local/hadoop/etc/hadoop/core-site.xml
命令,将文件改为以下配置。
3.修改hdfs-site.xml文件,在终端输入vim /usr/local/hadoop/etc/hadoop/h