安装过程(采用和完全分布式集群一样的步骤):
【建议】我们安装部署Hadoop,推荐使用linux的管理员root用户登录。(这样为了避免我们使用的命令权限受限)
概要:
我们搭建hadoop伪分布式,共分为6个步骤:
下面我们就来搭建hadoop吧!
1.关闭防火墙
(命令直接打开命令终端输入就可以,小白们看好单词,不要打错,注意空格位置)
使用root用户登录,打开命令行终端:
打开终端方式:
输入命令
2.配置网络
目的:使宿主机(win10)和客户机(虚拟机中的centOS7)能够网络通信
设置上网模式为桥接:点击虚拟机的左上角菜单项【虚拟机】-》设置-》网络适配器-》桥接
连接网络:点击右上角设置-》有线网络-》连接
测试:虚拟机ping通宿主机,宿主机也能ping通虚拟机
查看linux系统的ip地址:ifconfig
查看windows系统ip地址:ipconfig
.若查不到ip,则查看ens33网卡的配置(可能是ens33网卡未开启)
输入
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将ONBOOT的权限改为yes
.重启网络服务,输入sudo service network restart
3.修改HOSTNAME
临时修改: hostname 主机名
永久修改主机名:hostnamectl set-hostname 主机名
配置主机名和ip地址的映射
修改/etc/hosts文件,配置主机名和自己主机的ip地址映射。
操作步骤:
(在这里我们使用gedit命令,因为这样修改更接近于我们windows的操作,好上手,当然有基础的同学可以通过vim进行修改)
打开hosts文件: gedit /etc/hosts
在文件中添加: 自己ip地址 自己主机名
点击保存,退出。
4.设置ssh自动(免密码)登录
SSH协议:secure shell(安全的shell),基于加密技术的远程登录协议,linux系统内置。
作用:一般远程登录需要输入登录的主机密码,为方便hadoop集群中各个节点之间可以进行ssh远程登录,避免每次输入密码的繁琐操作。
操作步骤:
第一步:生成秘钥: ssh-keygen -t rsa
上一条命令生成的秘钥文件放在/root/.ssh目录下,给公钥文件重新按照要求命名。
第二步:拷贝生成ssh要求的公钥文件名: cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
测试一下,ssh远程登录本机,测试是否需要输入密码,如果不需要输入,说明成功。
ssh localhost(或者本机ip或主机名)
成功后退出登录:
exit
5.安装jdk
第一步:测试jdk是否已经安装:
java –version
–测试结果:如果打印出java的版本,说明已安装,否则未安装。
–没有安装jdk的,执行以下命令在线安装即可。
yum –y install java-1.8.0-openjdk*
6.安装hadoop
准备工作:
hadoop安装包下载地址:https://hadoop.apache.org/releases.html
如果没有安装包的同学,先去官网下载hadoop安装包,推荐使用2.7.7版本。如果有安装包的同学可直接执行以下步骤。
(1) 将windows下的hadoop安装包传到linux系统中。切忌直接拖拽!!会丢失文件
在windows下安装winscp,打开安装后的winscp工具,在连接对话框中分别输入:linux系统的IP地址、用户名root、密码,点击登录进行连接。
通过winscp工具将hadoop-2.7.3.tar.gz按转包拷贝到linux系统的/usr/local目录下。
(2) 解压hadoop安装包
进入目录: cd /usr/local
解压安装包: tar zxvf hadoop-2.7.3.tar.gz
解压后生成目录:hadoop-2.7.3 目录
(3) 给目录改成短名hadoop:
mv hadoop-2.7.3 hadoop
(4) 配置环境变量:
修改/etc/profile文件,配置JDK和Hadoop的环境变量。
打开文件:
gedit /etc/profile
【注意注意】修改文件内容要十分小心,防止系统shell无法使用
在此文件中添加以下四行配置:
#配置JDK的路径
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
export PATH=$PATH:$JAVA_HOME/bin
#配置Hadoop的路径
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
运行命令,使环境变量的配置生效
source /etc/profile
(5) 修改hadoop的配置文件:
Hadoop的配置文件放在/usr/local/hadoop/etc/hadoop目录下,共需要修改此目录下的6个文件:
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml(原名:mapred-site.xml.template)
yarn-site.xml
6-1:修改hadoop-env.sh文件,添加jdk的安装路径配置:
进入目录: cd /usr/local/hadoop/etc/hadoop
打开文件: gedit hadoop-env.sh
在此文件中添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
6-2:修改yarn-env.sh 文件,配置jdk的路径
打开文件:gedit yarn-env.sh
添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
6-3:修改core-site.xml,添加以下内容,配置HDFS的地址和端口号
打开文件: gedit core-site.xml
将以下内容添加到此文件中:
fs.defaultFS
hdfs://(自己的主机名):9000
hadoop.tmp.dir
/usr/local/hadoop/tmp
6-4:修改hdfs-site.xml文件,
修改block副本数为1
打开文件: gedit hdfs-site.xml
在此文件中添加以下内容:
dfs.replication
1 #副本数,因为我们是伪分布式安装所以设置一个就可以了
6-5:修改mapred-site.xml,配置使用yarn框架
通过提供的模板创建mapred-site.xml文件:
cp mapred-site.xml.template mapred-site.xml
打开文件:gedit mapred-site.xml
将以下内容添加到此文件中:
mapreduce.framework.name
yarn
6-6:修改yarn-site.xml,配置yarn属性及端口
打开文件:gedit yarn-site.xml
将以下内容添加到此配置文件中:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.address
(自己的主机名):8032
yarn.resourcemanager.scheduler.address
(自己的主机名):8030
yarn.resourcemanager.resource-tracker.address
(自己的主机名):8035
yarn.resourcemanager.admin.address
(自己的主机名):8033
yarn.resourcemanager.webapp.address
(自己的主机名):8088
7.Hadoop初始化和启动
经过以上6个步骤的安装和配置,伪分布式的hadoop已经安装完成,可以启动hadoop。
先格式化hadoop文件系统:
hadoop namenode -format
或: hdfs namenode -format
启动hadoop:
Hadoop的两大核心是HDFS和MapReduce,所以启动命令有三种:
验证是否启动成功:
在终端运行:jps 命令查看结果
如果已经启动了以下5个进程,说明hadoop伪分布式安装成功:
NameNode、DataNode、ResourceManager、
NodeManager、SecondaryNameNode
8.Hadoop启动日志讲解
格式化和启动hadoop后,会在hadoop安装目录下/usr/local/hadoop目录下生成logs文件夹和tmp文件夹。
logs: 存放各个进程启动日志,可以查看日志查找错误原因。
tmp:放的数据(NameNode和DataNode的相关文件)