0.集群的搭建建立在前面已经搭建好的三台虚拟机上:master、slave1、slave2
在安装hadoop之前, 先安装好JDK,配置好环境变量。
1.下载需要的hadoop版本---> 单击这里下载hadoop
2.上传hadoop-2.7.5到master机器节点的目录~/bigdata下(可以用FileZilla等ftp工具上传)
需要预先在master节点中的leerui用户下的主目录下创建bigdata目录:
mkdir bigdata
3..解压hadoop-2.7.5
tar -zxvf ~/bigdata/hadoop-2.7.5.tar.gz
4.修改配置文件(在hadoop-2.7.5/etc/hadoop下):
4.1修改core-site.xml
#core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9999</value>
<description>表示HDFS的基本路径</description>
</property>
</configuration>
4.2修改hdfs-site.xml
#hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>表示数据块的备份数量,不能大于DataNode的数量</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/leerui/bigdata/dfs/name</value>
<description>表示NameNode需要存储数据的地方</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/leerui/bigdata/dfs/data</value>
<description>DataNode存放数据的地方</description>
</property>
</configuration>
##需要增加要给临时文件,否则启动secondaryNamenode启动报错。
<property>
<name>hadoop.tmp.dir</name>
<value>/home/leerui/bigdata/dfs/tmp</value>
</property>
5.在master上创建需要的文件夹
cd ~/bigdata
mkdir dfs
cd dfs
mkdir name
mkdir data
mkdir tmp
6.修改hadoop-env.sh文件在中间添加JAVA_HOME:
export JAVA_HOME=/usr/local/lib/jdk1.8.0_161
7.修改slaves文件
vi slaves
##添加如下另外两台虚拟机
slave1
slave2
8.在slave1和slave2节点中的leerui用户下的主目录下创建bigdata目录:
mkdir bigdata
9.将master上配置好的hadoop分发到每一个slave上:
#hadoop-2.7.5
scp -r ~/bigdata/hadoop-2.7.5 leerui@slave1:~/bigdata
scp -r ~/bigdata/hadoop-2.7.5 leerui@slave2:~/bigdata
#dfs文件夹也要创建
scp -r ~/bigdata/dfs leerui@slave1:~/bigdata
scp -r ~/bigdata/dfs leerui@slave2:~/bigdata
注意:这里如果配置了免密钥,则可以直接传递,否则需要进行密码验证
10.配置环境变量,用leerui用户登陆,将环境变量配置在当前用户下(三台一样的操作):
vi ~/.bash_profile
export HADOOP_HOME=~/bigdata/hadoop-2.7.5
PATH=XXXX:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bash_profile
XX代表本来里面的内容在后面追加
11.验证:
which hdfs
输出是否 ~/bigdata/hadoop-2.7.5/bin/hdfs
如果不是可能需要退出xshell,重新登陆。 如果还是不对,则检查环境变量配置的是否正确,包括是否不小心单词写错了。
12.运行
12.1 格式化:
hdfs namenode -format
12.2启动hdfs
start-dfs.sh
12.3分别在三台虚拟机上 用jps 查看启动进程
master上出现:namenode 跟 secondNamenode
slave1上出现:datanode
slave2上出现:datanode
12.4在本机的浏览器中 输入网址,看是否可以打开hadoop的网页
http://master:50070
如果此时访问不到,则把master换成具体的IP:
需要在本机中进行配置让本机可以识别master
12.5停止hdfs
stop-dfs.sh
注意:
如果 12.3中不识别master, 需要修改电脑C:\Windows\System32\drivers\etc\hosts文件,加进去
ip name
例如:
192.168.218.129 master
192.168.218.130 slave1
192.168.218.131 slave2