一、vm虚拟机的安装
二、vm虚拟机上安装ubuntu server
三、ubuntu server上搭建hadoop集群
四、hadoop生态系统
1.hdfs分布式文件系统
2.MapReduce分布式计算
3.Hbase、hive、pig、zookeeper
五、linux操作系统学习
二、本人在课程中的主要任务及完成情况
1)主要任务简介及完成情况
主要任务简介:根据所学hadoop与linux知识,在ubuntu server上搭建一个hadoop全分布式集群。
完成情况:
一、前期环境准备:
1.hadoop 3.0.3
2.Vmware+Ubuntu 16.04 server
3.JDK1.8
4.FileZilla(一款基于ftp协议的文件传输软件)
二、实验步骤:
1.在Vmware上新建一台虚拟机,主机名为master,ip为192.168.92.132
2.登录主机master,更新软件源并安装ssh服务
sudo apt-get update
sudo apt-get install openssh-server
3.将搭建集群所需文件导入主机中
由于搭建集群文件在windows中,windows与ubuntu server传输文件需要ftp协议的支持,利用基于ftp的filezilla来实现这一功能,如图:
在filezilla中输入主机号与用户名密码和端口号,实现不同系统间的文件传输,为了方便,将所需文件夹hadoop导入主机中的家目录master中。
4.查看文件导入情况,如图表明windows中hadoop文件夹已导入虚拟机中家目录,里面包含hadoop与jdk的安装包。
5.解压文件到/opt下并建立软连接
cd /opt
sudo tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt
sudo tar -xvf hadoop-3.0.3.tar -C /opt
sudo ln -s hadoop-3.0.3 hadoop
sudo ln -s jdk1.8.0_91 jdk
6.设置环境变量
cd回到家目录
输入 sudo vi ~/.bashrc进入系统配置文件中
并设置以下内容:
export JAVA_HOME=/opt/jdk
export CLASSPATH= C L A S S P A T H : . e x p o r t H A D O O P H O M E = / o p t / h a d o o p e x p o r t H A D O O P U S E R N A M E = c h e n y u s o n g e x p o r t P A T H = CLASSPATH:. export HADOOP_HOME=/opt/hadoop export HADOOP_USER_NAME=chenyusong export PATH= CLASSPATH:.exportHADOOPHOME=/opt/hadoopexportHADOOPUSERNAME=chenyusongexportPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:HADOOP_HOME/bin:$HADOOP_HOME/sbin
(最后输入 source ~/.bashrc让环境变量生效!!)
7.执行install.sh 脚本(先修改权限)
sudo chmod -R 777 install.sh
sudo chmod -R 777 hadoop-3.0.3.tar
sudo chmod -R 777 jdk-8u91-linux-x64.tar.gz
sudo ./install.sh(安装hadoop)
8.在hadoop的安装目录构建logs文件并修改权限
进入hadoop安装目录:cd /opt/hadoop
建立logs文件:sudo mkdir logs
修改权限:sudo chown -R mapred logs
sudo chgrp -R hadoop logs
sudo chmod 775 -R logs
(用户属于mapred用户,组属于hadoop组 权限是775)
9.进入/opt/hadoop/etc/hadoop文件
10.修改hadoop-env.sh文件,设置jdk的加载路径
输入sudo vi hadoop-env.sh,在命令模式下输入:54跳转至54行,
找到#export JAVA_HOME=/opt/jdk并取消#注释,再输入:wq保存退出
11.修改hadoop的四个配置文件
1)修改core-site.xml文件: sudo vi core-site.xml,修改内容如下:
(指明在集群中谁承担主节点的角色)
2)修改hdfs-site.xml文件:sudo vi hdfs-site.xml,修改内容如下:
(指明集群的名字)
3)修改mapred-site.xml文件:sudo vi mapred-site.xml,修改内容如下:
(指明管理mapred框架的名字)
4)修改yarn-site.xml文件:sudo vi yarn-site.xml,修改内容如下:
(yarn集群谁承担着主节点的ip地址)
5)修改文件快捷方法
由于ubuntu server中不支持复制粘贴功能,若要修改上述配置文件,需要手动输入,这一过程比较容易出错且费时间,不如在windows上写好配置文件,将包含配置文件的文本通过filezilla导入虚拟机中,然后通过vi编辑器底行模式命令来快速修改配置文件,
图示表示在yarn-site.xml中,把家目录下的h_conf目录下的yarn.txt插入光标所在位置下一行,而h_conf是在windows下创建的文件夹,里面包含四个配置文件完整的配置文本,只需要用filezilla把文件夹导入虚拟机,然后vi进入配置文件,把完整的配置文本通过底行模式命令:r来导入,而不需要手动输入,这样比较方便。
12.建立yarn和hdfs执行所用到的目录
1)建立data目录
sudo mkdir /data
2)在data目录下建立hadoop文件
cd /data
sudo mkdir hadoop
3)在hadoop中建立hdfs和yarn文件夹
cd hadoop
sudo mkdir hdfs yarn
4)在hdfs文件下建立的dn,nn,snn文件夹
cd hdfs
sudo mkdir dn nn snn
5)在yarn下建立logs,nm文件夹
sudo mkdir logs nm
13.给hdfs和yarn设置权限,回到/data/hadoop目录下
1)hdfs目录下的所属子目录所属用户hdfs,所属组hadoop及其子文件也设置
sudo chown -R hdfs hdfs
sudo chgrp -R hadoop hdfs
2)yarn的所属组hadoop及其子文件
sudo chown -R yarn yarn
sudo chgrp -R hadoop yarn
3)进入/data目录,给hadoop目录及所有子目录或文件赋予权限777
sudo chmod 777 -R hadoop
14.格式化节点,进入hdfs用户,只格式化一次
su - hdfs 密码hadoop
hdfs namenode –format
15.主节点配置完以上操作后,克隆一台虚拟机作为从节点,ip为192.168.92.131
16.修改从节点的主机名
sudo vi /etc/hostname //把master改为slave
17.两台虚拟机上更改机器名字和ip的对应关系
sudo vi /etc/hosts
更改为:
18.在主节点中的/opt/hadoop/etc/hadoop下的workers设置集群中节点的ip (一键启动某一个集群)
sudo vi workers
然后将原来ip改为从节点的ip192.168.92.131
19.设置一键启动集群
1)在主节点上切换hdfs用户执行如下命令生成明文和密文:
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
2)将铭文拷贝到从节点的需要无密码登陆的机器上去:
ssh-copy-id -i 192.168.92.131
3)拷贝一份到主机:
ssh-copy-id -i localhost
4)切换yarn用户重复1)和2)
5)验证是否可以无密码登录:
在主节点上:ssh 192.168.92.131
20.在主节点yarn用户下:start-yarn.sh //启动yarn集群
在主节点hdfs用户下:start-dfs.sh //启动hdfs集群
21.jps查看节点启动状况
三、结果截图:
Hdfs集群网页查看
http://192.168.92.132:9870
Yarn 集群网页查看
http://192.168.92.132:8088