前言:本文主要介绍如何在阿里云平台上搭建伪分布式集群并在本地使用eclipse对分布式集群(HDFS)进行连接。
搭建环境
CentOS Linux release 7.3
JDK:JDK 1.8
Hadoop 版本 : 2.7.3
hadoop-eclipse-plugin版本 :2.7.0
另外在本地eclipse上还需将Hadoop压缩包解压到本地后将其中/bin目录下内容替换添加资源链接为:winutils下载链接地址
一、关闭云服务器防火墙并开放安全组
1.关闭防火墙
Centos7下:
systemctl stop firewalld.service #停止
firewallsystemctl disable firewalld.service #禁止firewall开机启动
2.开放安全组
不同云平台管理安全组的方法略有不同去云平台上找一下就能找到,根据自己的需要设置自己的安全组。
二、更新apt
用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。在命令行界面中执行如下命令:
sudo apt-get update
三、安装配置SSH免密钥登陆
Hadoop集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server
安装后就可以使用ssh命令连接了但是每次连接都需要密码因此我们需要设置免密钥登陆。使用如下命令就可设置免密钥登陆。
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
现在再使用ssh命令就不需要密码了。
四、安装Java
这个网上资料很多就不再赘述了。
五、修改hostname配置文件
sudo vim /etc/hosts #打开hosts文件
打开以后向文件中新增如下内容:
172.19.164.141 iZuf5rg9howgicjgr5o4vfZ #私有IP 主机名
注意:在云上需要使用私有IP否则Hadoop启动后找不到namenode
六、安装Hadoop
在将Hadoop安装包传送到服务器上后使用如下命令:
cd ~
sudo tar -zxf ~/Downloads/hadoop-2.7.1.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.7.1/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R usrname:usrname ./hadoop # 修改文件权限
Hadoop 解压后可以使用如下命令检测其是否可用
cd /usr/local/hadoop
./bin/hadoop version
可以看到Hadoop版本则说明安装成果
七、配置伪分布式集群
修改配置文件 core-site.xml
vim /usr/local/hadoop/etc/hadoop/core-site.xml
添加如下内容:
hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.
fs.defaultFS
hdfs://172.19.164.141:9000
其中IP地址依旧为云服务器的私网地址。
修改配置文件 hdfs-site.xml:
dfs.replication 1
dfs.namenode.name.dir file:/usr/local/hadoop/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data
配置完成后需要对namenode进行初始化
cd /usr/local/hadoop
./bin/hdfs namenode -format
但需要注意若一次配置没配置好修改配置文件内容后再次配置时可能会出现namenode或datanode等无法启动的问题。直接重新安装配置Hadoop就好了(最暴力的解决方法也可根据具体问题去修改配置文件)。
接下来启动下Hadoop服务看看是否安装成果:
cd /usr/local/hadoop
./sbin/start-dfs.sh
八、安装 Hadoop-eclipse-plugin插件
1.下载Hadoop-eclipse-plugin.jar,把jar包放到Eclipse安装目录下的plugins下,然后重启Eclipse。
2.解压Hadoop-2.7.3.tar.gz到本机电脑(这里建议路径越简单越好)
3.将我们文章开头提到的链接中的hadoop.dll和winutile.exe等文件放到解压后Hadoop目录的/bin目录下。
4.右击我的电脑-->属性-->高级系统设置里面要配置三个属性
(1)变量名:HADOOP_HOME 变量值:hadoop解压后的路径
(2)变量名:HADOOP_USER_NAME 变量值:hadoop(这个根据你云服务器上的用户名而定)
(3)path属性里添加一个:%HADOOP_HOME%\bin
5.配置eclipse
完成以上操作后打开或重启eclipse。点击右上方标志处选择map/reduce。
然后点击下方小象位置新建mapreduce链接。
具体配置内容如下图所示。
最后启动集群后我们就可以在eclipse中查看到HDFS上的文件了。
到这里我们就可以成功的连接上云端的HDFS了。
最后分享一个编程环境配置的视频:
eclipse编程环境配置