男默女泪系列:Hadoop保姆级安装教程(ContOS 7)
1、前言
此教程是在虚拟机中安装及配置单机伪分布式Hadoop,虽说是保姆级,但是太基本的也不会写出来,不然太费精力了。
本教程所涉及的重要信息:
- jdk版本:jdk1.8.0_221
- jdk路径:/usr/java/jdk1.8.0_221
- Hadoop版本:hadoop-2.7.7
- Hadoop路径:/usr/hadoop/hadoop
- IP地址:192.168.3.132
2、准备工作
(Putty 和 flashfxp如果是安装桌面版的,可以装VM提供的tools,来实现复制、粘贴及文件拖拽传输)
3、安装ContOS 7
安装教程可以点击下面连接,跳转到我另一个教程中
VMware虚拟机安装系统(ContOS 7)教程
4、联网及使用Putty连接虚拟机系统
完成后,接下来就需要联网了,由于是最小安装,所以,联网还需要点操作,具体点击下面链接
修改网卡信息及安装net-tools
下载前文提到的 Putty 工具,解压进入文件夹,双击图示.exe文件运行Putty
这里的IP根据自己虚拟机ContOS的IP来填写
点击open后,会弹出一个窗口,点击“是”就可以了。(无图)
接下来输入账号密码登录,如下图
Putty可以在win系统复制后,鼠标右键粘贴
5、安装vim编辑器
安装之前最好先更新一下yum,命令如下:
$ yum -y update
可以需要等待比较久一点,耐心等待。完成后,再执行vim安装,命令如下:
$ yum install vim
6、修改节点名称,添加域名映射
将节点名称写入/etc/hostname,如果没有装vim,使用vi编辑器就可以了
$ vim /etc/hostname
编辑文件的方式都是这样,后面不再详细叙述
将节点的 IP 地址与主机名写入/etc/hosts 中,完成域名映射的添加
$ vim /etc/hosts
例如:192.168.3.132 Master
(IP 地址可通过 ip addr 命令或ifconfig 查询)
:wq保持并退出后,重启虚拟机
关机后,putty自然会强制退出,重新连接上去就可以了。可以看到机器名字已经改了。
7、设置SSH免密登录
在之后操作集群的时候我们需要经常登录主机和从机,所以设置SSH免密登录时有必要的。
安装 SSH
$ yum install openssh-server
如果没有就等待它安装就可以了,如果有询问,输入y回车即可。
如果出现如下图,说明已经安装了。
安装后,可以使用如下命令登陆本机ssh localhost
输入如下代码:
$ ssh localhost
但这样登陆是需要每次输入密码的,我们需要配置成SSH 无密码登陆比较方便。
首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-****** 生成**,并将**加入到授权中,命令如下:
$ exit
$ ssh-****** -t rsa
这样就可以生成**对:id_rsa和id_rsa.pub,默认存储在~/.ssh目录下。
接下来:把id_rsa.pub追加到授权的key里面去。
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
这样就完成了ssh的配置。
8、上传JDK和Hadoop
下载前面提到的FlashFXP工具,然后解压。
同样的把hadoop文件传输到刚创建的hadoop文件夹下
9、安装java环境
点击以下链接,跳转到我另一篇博文中:
JDK配置教程
10、安装及配置Hadoop
解压hadoop文件
$ cd /usr/hadoop/ #进入到hadoop目录下
$ ls #查看是否有hadoop-2.7.7.tar.gz文件
$ tar -zxvf hadoop-2.7.7.tar.gz #解压文件
进入hadoop文件夹,查看文件是否正确
$ cd /usr/hadoop/hadoop-2.7.7/
$ ls
Hadoop 的配置文件位于/usr/hadoop/hadoop-2.7.7/etc/hadoop/ 中,伪分布式需要修改 3 个配置文件 hadoop-env.sh、core-site.xml 和 hdfs-site.xml。(通过vim 或vi编辑配置文件)。
接下来,确保你现在是在此目录下的,因为后面的命令需要在此目录下执行,路径才不会有问题。
① hadoop-env.sh 中配置 JAVA_HOME:
$ vim etc/hadoop/hadoop-env.sh
修改export JAVA_HOME变量的值
export JAVA_HOME=/usr/java/jdk1.8.0_221
② 修改 core-site.xml 文件:
这个是核心配置文件我们需要在该文件中加入HDFS的URI和NameNode的临时文件夹位置,这个临时文件夹在下文中会创建。
$ vim etc/hadoop/core-site.xml
在文件末尾的configuration标签中添加代码如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
③ 修改 hdfs-site.xml 文件:
$ vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
-
格式化NameNode,只有第一次启动需要格式化
(确认是在hadoop-2.7.7这个目录下)
$ ./bin/hdfs namenode -format
切记,NameNode 格式化成功后下次启动 hdfs 时无需再次格式化,只需执行start-dfs.sh 即可。
-
启动Hadoop
(确认是在hadoop-2.7.7这个目录下)
接下来我们启动Hadoop:
$ ./sbin/start-dfs.sh
- 执行 jps 命令查看服务
$ jps
- 启动 yarn
$ ./sbin/start-yarn.sh
- 执行 jps 命令查看服务
$ jps
到此我们就完成hadoop的配置和启动了。
然后我们到本机的浏览器进入Hadoop的管理页面。
http://192.168.3.132:50070/
看到这里,可能你就慌了。别慌,问题不大。
11、关闭防火墙
$ systemctl stop firewalld #关闭防火墙服务
$ systemctl disable firewalld #关闭防火墙服务开机不启动
12、进入Hadoop管理页面
在本机再次访问以下地址:
访问 http://192.168.3.132:50070/
访问 http://192.168.3.132:8088/cluster
如果依旧有错误,请检查一下这 hadoop-env.sh、core-site.xml、hdfs-site.xml 三个文件的配置是否有误
如果需要修改,修改后,需要重新格式化
$ rm -rf /usr/hadoop/hdfs #删除旧hdfs文件夹
$ rm -rf /usr/hadoop/tmp #删除旧tmp临时文件夹
$ rm -rf /usr/hadoop-2.7.7/logs #删除旧logs日志文件夹
$ cd /usr/hadoop/hadoop-2.7.7 #进入/usr/hadoop/hadoop-2.7.7目录
$ ./bin/hdfs namenode -format #格式化
$ ./sbin/start-dfs.sh #启动dfs服务
$ ./sbin/start-yarn.sh #启动yarn
在本机再次访问以下地址:
http://192.168.3.132:50070/
上一篇: 在阿里云Centos7.6上面配置Mysql主从数据库
下一篇: PHP 框架的应用级对象问题