准备工作
- jdk1.8
- hadoop2.7
- VMware
一、新建三台虚拟机(使用centos 7)
1、重命名hostname,分别命名为namenode、datanode2、datanode3
建立主机名与IP地址映射,打开编辑:vi /etc/hosts
2、配置静态ip地址,打开配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出重启网卡:systemctl restart network ,查看ip:ip addr
3、通过xftp上传hadoop-2.7.7.tar.gz、jdk-8u11-linux-x64.tar.gz到目录/user/local/software下
在/user/local/software目录下分别使用命令:tar -xvf jdk-8u11-linux-x64.tar.gz、tar -xvf hadoop-2.7.7.tar.gz 解压文件
4、配置JDK1.8环境,开发配置文件:vi /etc/profile
保存退出,允运行:source /etc/profile 查看JDK:java -version
二、建立ssh无密码登录本机
1、查看是否安装shh服务。
2、配置ssh免密码登陆
a、输入命令:ssh-keygen -t rsa,然后一直回车回车...
秘钥生成后在~/.ssh/目录下,有两个文件id_rsa(私钥)和id_rsa.pub(公钥)
b、把公钥复制到authorized_keys,并且授权:chmod 600 authorized_keys
把datanode1与datanode2的公钥复制到namenode的authorized_keys上。
把namenode节点下的authorized_keys文件发送到datanode1与datanode2的~/.shh目录下:
scp ~/.ssh/authorized_key root@datanode1:~/.ssh/
在datanode1与datanode2分别查看是否存在authorized_key文件,存在则成功。验证是否免密登陆:ssh datanoe1
三、关闭防火墙
四、安装hadoop并配置环境变量
hadoop集群每个节点的配置都需要一致,所以我们可以在一个节点配置为再发送到其他节点
1、在/usr/local/software目录下解压hadoop-2.7.7.tar.gz
2、配置环境变量: vi /etc/profile,添加如下配置,验证是否配置成功:hadoop version
3、新建三个文件夹,在/user/local/software/hadoop-2.7.7 目录,新建dfs/name、dfs/data、temp
五、配置hadoop配置文件
接下来配置/usr/local/software/hadoop-2.7.7/etc//hadoop/目录下的七个文件
1、配置hadoop_env.sh,修改JAVA_HOME路径。
2、配置yarn_env.sh,修改JAVA_HOME路径
3、配置slaves,删除localhost,添加datanode1、datanode2
4、配置core-site.xml。
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
<description>文件块大小 128M</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/software/hadoop-2.7.7/temp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
5、配置hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>namenode:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/software/hadoop-2.7.7/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/usr/local/software/hadoop-2.7.7/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
6、配置mapred-site.xml,默认没有这个文件需要拷贝一份:cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>namenode:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>namenode:19888</value>
</property>
7、配置yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.shuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>namenode:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>namenode:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>namenode:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>namenode:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>namenode:8088</value>
</property>
结束,把所有的配置都发送一份至datanode1和datanode2
6、启动hadoop集群
格式化namenode节点,在/usr/local/software/hadoop-2.7.7目录下:./bin/hdfs namenode -format
启动hadoop:./sbin/start-dfs.sh
查看是否启动:jps
hadoop控制台地址http://192.168.2.177:50070