首先,需要安装jdk环境,因为hadoop是由Java编写。
rpm -ivh jdk-8u91-linux-x64.rpm
默认安装到这个位置:/usr/java/jdk1.8.0_91
将你的hadoop进行解压
tar –xvf hadoop-2.7.3.tar.gz
接着,要告诉hadoop java的位置。进入你hadoop的目录,
cd /usr/local/hadoop/etc/hadoop
修改hadoop-env.sh
,在JAVA_HOME=后面填入jdk的路径
将hadoop加到环境变量,下面的路径要根据你hadoop解压的路径来。
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
更新环境变量使其生效
source /etc/profile
关闭虚拟机的防火墙,使得虚拟机之间可以互相连接
systemctl stop firewalld
systemctl disable firewalld
我在VMware创建了4个虚拟机,一个为master,另外3个位slave1-3,然后master管理着其它虚拟机。
关系是这样的:master为namenode,存放文件名,slave1-3为datanode,存放元数据。你每次增加一份数据,就会进行分块并且进行备份,然后分配到所有datanode。
修改hadoop的core-site.xml文件,让其知道管理者的是谁。
cd /usr/local/hadoop/etc/hadoop/
vim core-site.xml
在configuration之间增加以下代码:
fs.defaultFS
hdfs://master:9000
vim /etc/hosts
192.168.52.10 master
192.168.52.20 slave1
192.168.52.30 slave2
192.168.52.40 slave3
将hdfs格式化
hdfs namenode -format
然后,我们就可以启动master的namedode
hadoop-daemon.sh start namenode
当你看到下面的提示信息时,就证明namenode启动成功了!
接着在slave1-3启动datanode
hadoop-daemon.sh start datanode