您的位置:首页 > 运维架构

hadoop2.x完全分布式环境搭建

2017-08-07 22:32 471 查看
一:使用的工具准备

1.Centos6.9

2.hadoop2.6.4

3.jdk1.8.0

4.VMWare

二:环境与软件的安装

jdk与hadoop的安装与伪分布式的方法一样

三:配置host文件

使用了三个Centos作为这次集群的搭建。因此避免每次输入ip这么麻烦,配置了相应的ip地址与主机名称

vim /etc/hosts


再文件末尾添加相应的ip地址与主机名称

192.168.220.128 hadoop1
192.168.220.129 hadoop2
192.168.220.130 hadoop3


四:配置ssh免密码登录

ssh-keygen -t rsa


分别在三台主机上输入该命令,一直按enter即可,之后将会生成公钥和私钥文件

在这里将生成的公钥文件分别放到hadoop1(自身),hadoop2,hadoop3的~/.ssh/id_rsa.pub 文件中即可

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3


过程输入你的密码即可

[root@localhost huang]# ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
root@hadoop2's password:
Now try logging into the machine, with "ssh 'hadoop2'", and check in:
 
.ssh/authorized_keys
 
to make sure we haven't added extra keys that you weren't expecting.


验证结果:(不需要输入密码就证明成功配置ssh免密码登录)

[root@localhost huang]# ssh hadoop2
Last login: Mon Aug  7 05:38:21 2017 from hadoop1


为什么只要在hadoop1上配置免密码登录,因为hadoop1我作为了namenode,是管理节点,其他是从节点,因此在hadoop1上配置免密码即可

五.配置hadoop文件

(在一个配置即可,之后可以使用scp命令复制到另外两台虚拟机中)

进入到hadoop-2.6.4/etc/hadoop这个目录中

配置slave文件

hadoop2
hadoop3


配置core-site.xml(要自己创建目录/usr/hzy/hadoop/tmp)

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Hadoop1:9000</value>
</property>
<!-- Size of read/write buffer used in SequenceFiles. -->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<!-- 指定hadoop临时目录,自行创建 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hzy/hadoop/tmp</value>
</property>
</configuration>


配置hdfs-sitexml(要自己创建目录/usr/hzy/hadoop/hdfs/data)

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/xiaolei/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hzy/hadoop/hdfs/data</value>
</property>
</configuration>


配置mapred-site.xml文件(没这个文件的话copy mapred-site.xml.template命名为mapred-site.xml)

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>


配置yarn-site.xml文件

<configuration>
 
<!-- Site specific YARN configuration properties -->
<!-- Configurations for ResourceManager -->
 <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
 </property>
 <property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
 </property>
 <property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
 <property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
 </property>
 <property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
 </property>
 <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
 </property>
</configuration>


scp到另外两台主机中

scp -r hadoop-2.6.4 hadoop2:/usr/hzy/
scp -r hadoop-2.6.4 hadoop3:/usr/hzy/


五:格式化节点与集群启动

hdfs namenode -format


进入hadoop的sbin目录下启动集群

./start-all.sh


在master节点中jps查看

4897 NameNode
5209 ResourceManager
5066 SecondaryNameNode
5611 Jps


在 salve中jps查看

4632 Jps
4348 DataNode
4446 NodeManager


在windows中查看hadoop集群信息
输入192.168.220.128:8088
注意centos要关闭防火墙才可以访问端口

sudo service iptables stop   # 关闭防火墙服务
sudo chkconfig iptables off  # 禁止防火墙开机自启,就不用手动关闭了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息