基于virtualbox虚拟机的Hadoop集安装配置教程本⽂记录参考搭建hadoop分布式集的过程
前置
已在⼀台虚拟机配置好了伪分布式hadoop系统
⼀台虚拟机作为master作为namenode,三台虚拟机data1、2、3(均安装了ubuntu系统)作为datanode
⽹络配置
⽹卡1配置为NAT⽹络,这样虚拟机可以正常访问外部⽹络
⽹卡2配置为host-only,这样data虚拟机可以和master虚拟机通信
如果界⾯名称显⽰未指定,可以在virtualBox左上⾓菜单栏点击管理,主机⽹络管理器,点击创建,便可以指定界⾯名称
配置主机名称和⽹络
sudo vim /etc/hostname
ping data1 -c 3 测试⽹络是否连通
SSH⽆密码登录节点
必须要让Master节点可以SSH⽆密码登录到各个Slave节点上。⾸先,⽣成Master节点的公匙,如果之前已经⽣成过公钥,必须要删除原来⽣成的公钥,重新⽣成⼀次,因为前⾯我们对主机名进⾏了修改。具体命令如下
cd ~/.ssh # 如果没有该⽬录,先执⾏⼀次ssh localhost
rm ./id_rsa* # 删除之前⽣成的公匙(如果已经存在)
ssh-keygen -t rsa # 执⾏该命令后,遇到提⽰信息,⼀直按回车就可以
为了让Master节点能够⽆密码SSH登录本机,需要在Master节点上执⾏如下命令:
cat ./id_rsa.pub >> ./authorized_keys
接下来,在Master节点将上公匙传输到Slave1节点(具体⽂件夹视具体情况⽽定)
scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/
在data1节点上,将SSH公匙加⼊授权:
mkdir ~/.ssh # 如果不存在该⽂件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # ⽤完以后就可以删掉
如果有其他节点,⼀样配置
配置PATH变量
在前⾯的伪分布式安装内容中,已经介绍过PATH变量的配置⽅法。可以按照同样的⽅法进⾏配置,这样就可以在任意⽬录中直接使⽤hadoop、hdfs等命令了。如果还没有配置PATH变量,那么需要在Master节点上进⾏配置。⾸先执⾏命令“vim /.bashrc”,也就是使⽤vim编辑器打开“/.bashrc”⽂件,然后,
在该⽂件最上⾯的位置加⼊下⾯⼀⾏内容:
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
保存后执⾏命令“source ~/.bashrc”,使配置⽣效。
配置集/分布式环境
在配置集/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”⽬录下的配置⽂件,这⾥仅设置正常启动所必须的设置项,包括workers 、l、l、l、l共5个⽂件,更多设置项可查看官⽅说明。⽂件在/usr/local/hadoop/etc/hadoop中
workers
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name&p.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name&plication</name>
hadoop分布式集搭建<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
<property>
<name>yarn.app.v</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
<property>
<name>v</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
<property>
<name&v</name>
<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
</property>
</configuration>
<configuration>
<property>
<name&sourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name&demanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5个⽂件全部配置完成以后,需要把Master节点上的“/usr/local/hadoop”⽂件夹复制到各个节点上在master节点上:
cd /usr/local
sudo rm -r ./hadoop/tmp # 删除 Hadoop 临时⽂件
sudo rm -r ./hadoop/logs/* # 删除⽇志⽂件
tar -zcf ~/hadoop. ./hadoop # 先压缩再复制
cd ~
scp ./hadoop. Slave1:/home/hadoop
在data1节点上
sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop. -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
启动
⾸次执⾏,在master节点上格式化节点:
hdfs namenode -format
启动
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
在master上jps查看
data1上查看
关闭
在master虚拟机上
stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论