hadoop2.3两台机子集群

1、准备工作

两台主机:
A 192.168.1.22 名字myserver1 配置为namenode
B 192.168.1.23 名字myserver2 配置为datanode

需要:
每台机子有一个单独的名字
互相可以ping通对方和自己的名字
每台机器上执行ping ,不能返回127.0.0.1,返回本机IP才可以:
ping myserver1
ping myserver2

查看和修改机器名字

#查看主机名
hostname

#修改机器名字【机器重启完失效】
hostname myserver1

#修改永久生效
vi /etc/sysconfig/network
HOSTNAME=myserver1


修改IP和主机映射

#查看本机IP
ifconfig

192.168.1.22

#ping 主机名

ping myserver

#若返回127.0.0.1,需作ip映射

vi /etc/hosts

192.168.1.22 myserver1
192.168.1.23 myserver2

ping myserver
192.168.1.22


2、两台机器添加hadoop组和账号,配免登录SSH

#两台机器上执行
groupadd hadoop
useradd -g hadoop hadoop

su - hadoop

ssh-keygen -t rsa -P ""

#将A机器上的.ssh/id_rsa.pub 复制到B机器上,在B机器上使用hadoop账号执行
#A为namenode节点,B为datanode节点,A需要免登录到B上
cat id_rsa.pub >> .ssh/authorized_keys
chmod 644 .ssh/authorized_keys


#在A上使用hadoop账号登录后测试ssh登上B
su - hadoop

ssh -p 22 192.168.1.23

如果登录成功,则配置完成



3、A配置hadoop2.3为namenode

在A主机上
创建tmp目录
mkdir tmp/hadoop

修改4个配置文件core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml

<configuration>
# vi etc/hadoop/core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/xx/xx/tmp/hadoop</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.22:54310</value>本机IP:54310
</property>
</configuration>



vi etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>/xx/xx/tmp/hadoop/</value>
</property>

<property>
<name>mapreduce.cluster.local.dir</name>
<value>/xx/xx/tmp/hadoop/</value>
</property>

</configuration>



vi etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>




vi etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.22:8031</value>本机IP:8031
</property>

<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.22:8030</value>本机IP:8030
</property>

<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.22:8032</value>本机IP:8032
</property>

</configuration>


启动测试,查看日志,看是否运行成功
./bin/hadoop namenode -format
./sbin/start-hdfs.sh

运行成功后,测试端口54310是否可以连上
telnet 192.168.1.22 54310

连上测表示namenode启动成功。

关闭服务
./sbin/stop-hdfs.sh

4、配置主机B为datanode

在B主机上,解压hadoop2.3
创建tmp目录
mkdir tmp/hadoop

修改配置文件与A主机配置一样,只是resourceManager的IP要换成namenode的,即指向A主机


修改4个配置文件core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml

<configuration>
# vi etc/hadoop/core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/xx/xx/tmp/hadoop</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.22:54310</value>namenode A主机:54310
</property>
</configuration>



vi etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>/xx/xx/tmp/hadoop/</value>
</property>

<property>
<name>mapreduce.cluster.local.dir</name>
<value>/xx/xx/tmp/hadoop/</value>
</property>

</configuration>



vi etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>




vi etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.22:8031</value>namenode A主机:8031
</property>

<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.22:8030</value>namenode A主机:8030
</property>

<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.22:8032</value>namenode A主机:8032
</property>

</configuration>


5、格式化和启动

两台主机上清空日志和测试文件
rm -fr logs/*
rm -fr tmp/hadoop/*


A主机上
格式化namenode
./bin/hadoop namenode -format


A主机上启动
./sbin/start-dfs.sh;
./sbin/start-yarn.sh;


两台服务器日志是否正常,若全都正常
访问namenode的节点管理器:[url]http://192.168.1.22:8088[/url]
可以看到两台主机

6、运行wordcount
上传一个文本文件到hdfs里,

#创建目录
./bin/hadoop fs -mkdir input

#上传文件,可以稍大点,我上传了一个900M的文件。
./bin/hadoop fs -put ./word.txt input

#执行
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar wordcount input/words.txt out


访问namenode的节点管理器:[url]http://192.168.1.22:8088[/url]查看执行状态
执行完成后,下载结果
[url]http://192.168.1.22:50070/explorer.html[/url]
/user/hadoop/output/


删除执行结果
./bin/hadoop fs -rm -r output
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值