配置完全hadoop

伪分布是namenode和datanode都在一台机器上;

完全节点是分布在不同机器上。

对于开发人员而言,为了模拟完全hadoop,可以通过克隆虚拟机来实现多机并发。

克隆:完全克隆,不是克隆链接。注意CPU上限、共享文件1

克隆出多台后,分别配置主机名和ip,主机名在/etc/hostname上;为了能映射主机名和ip,同时也需要修改/etc/hosts

然后 service network restart

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

为了能无密登录各台机器,需要进行以下三步:

1.删除每台机器上/home/username/.ssh/*

可以通过ssh命令,ssh s137 rm -rf /home/wangcong/.ssh/*

2.在namenode机器上,生成秘钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

3.将namenode上的公钥传到各台datanode上的~/.ssh的authorized_keys中(包括自己)

scp id_rsa.pub wangcong@s138:/home/wangcong/.ssh/authorized_keys

authorized_keys的权限除了自己别人都不能写

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更改三个.xml"

<?xml version="1.0"?>
<!-- core-site.xml -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s136/</value>
</property>
</configuration>
 

<?xml version="1.0"?>
<!-- hdfs-site.xml -->
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/disk1/hdfs/name,/remote/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/disk1/hdfs/data,/disk2/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/disk1/hdfs/namesecondary,/disk2/hdfs/namesecondary</value>
</property>
</configuration>
 

<?xml version="1.0"?>
<!-- yarn-site.xml -->
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/disk1/nm-local-dir,/disk2/nm-local-dir</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>16384</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>16</value>
</property>
</configuration>
 

修改slave文件(hadoop3.0以上的更改为workers文件名),里面填写datanode的主机名

检查hadoop-env.sh的java路径是否是直接指向的。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

然后分发出去:

scp -r  hadoop(包含上面.xml文件的文件夹) wangcong@s137:/opt/hadoop/etc/

删除各机器上tmp下面的所有临时文件

rm -rf hadoop-wangcong

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

hadoop namenode -format

start-all.sh

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

验证时,可通过jps看各机器所启动的进程。

ssh s138 jps 刚开始会报错,返回找不到jps这个命令

ssh s138 '$PATH',发现只有usr/local/bin里面的命令能用

所以在每台机器上的/usr/local/bin内建立软链接,指向jdk包内的jps,试验即可(中间注意权限的问题)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值