配置centos7网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33
//修改
BOOTPROTO=static
ONBOOT=yes
//插入
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=192.168.43.2
vi /etc/hosts
//插入
192.168.43.128 master1
192.168.43.129 slave1
192.168.43.130 slave2
vi /etc/resolv.conf
//插入
nameserver 192.168.43.2
注:如果存在就不需要加了,启动后ping不通的话可以优先检查一下这个文件
hostnamectl set-hostname master1
reboot
关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
安装jdk1.8.0_141
保存路径:/usr/mysoft/jdk1.8.0_141
cd /usr
mkdir mysoft
上传jdk1.8.0_141到mysoft
解压
cd /usr/mysoft/
tar -zxvf jdk(按Tab键补全)
配置jdk环境
vi /etc/profile
export JAVA_HOME=/usr/mysoft/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
安装hadoop-2.7.4
保存路径:/usr/mysoft/hadoop-2.7.4
cd /usr/mysoft
tar -zxvf hadoop(按Tab键补全)
cd hadoop-2.7.4/etc/hadoop
vi hadoop-env.sh
//修改
export JAVA_HOME=/usr/mysoft/jdk1.8.0_141
vi core-site.xml
//插入
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<!-- 9000是内部通信一个地址,也就是NameNode和DataNode通信的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.43.128:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/mysoft/hadoop-2.7.4/tmp</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/mysoft/hadoop-2.7.4/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/usr/mysoft/hadoop-2.7.4/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.43.128:50090</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
修改mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master1</value>
</property>
</configuration>
配置环境变量vi /etc/profile
export JAVA_HOME=/usr/mysoft/jdk1.8.0_141
export HADOOP_HOME=/usr/mysoft/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
source /etc/profile
配置slaves
//删除
localhost
//插入
master1
slave1
slave2
复制虚拟机
改ip、主机名、重启、互ping
安装密匙
- 方法一:
master1,slave1,slave2生成密匙
~目录:
ssh-keygen -t rsa
//一直回车
ssh-copy-id master1
ssh-copy-id slave1
ssh-copy-id slave2
检验
ssh master1 //不需要密码就转换了
exit
ssh slave1
exit
ssh slave2
exit
初始化
cd /usr/mysoft/hadoop-2.7.4/bin
hdfs namenode -format
出现successful字眼就成功
此时还不会出现tmp文件
启动HDFS(master1上)
cd /usr/mysoft/hadoop-2.7.4
sbin/start-all.sh
jps
启动HDFS(slave1、slave2上)
cd /usr/mysoft/hadoop-2.7.4
sbin/start-all.sh
jps
可以看到,在master1上成功启动了NameNode节点和ResourceManager;在slave1、slave2上成功启动了NodeManager节点和DataNode节点
验证集群是否启动成功
查看HDFS文件
hadoop fs -ls /
没有报错说明启动成功(警告可以忽略)
关闭集群
sbin/stop-all.sh