桥接模式下,datanode节点环境搭建
- 这里对hadoop3进行配置,其他两台hadoop1和2配置与以下步骤相同,在VMware中创建一新的CentOS虚拟机重命名为hadoop3,三台机器未来时间要同步,局域网同步方法
还需要对三台机器ip进行规划,互相可以ping通。
需要关闭防火墙,保持关闭状态即可。
systemctl stop firewalld
systemctl disable firewalld
- 使用WinSCP或者filezilla将需要的压缩包上传到虚拟机根目录下并改名为hadoop277
压缩包链接hadoop各版本下载
创建working文件夹,mkdir working,在working下创建modules文件夹,mkdir modules,解压并重命名为hadoop277。
tar -xvf hadoop-2.7.7.tar.gz -C /root/working/modules/
mv hadoop-2.7.7 hadoop277
- 修改主机名为hadoop3
vi /etc/sysconfig/network
为了免掉重启(shutdown -r now)痛苦,可以通过hostname hadoop3来更新
修改以下文件,辅助修改主机名
Vim /etc/hostname
修改hosts文件解决机器映射问题vim /etc/hosts,互相使用ping hadoop1来ping通
- 配置hadoop参数,进入bin目录下查看版本
在Linux的环境变量文件中进行Hadoop的参数配置
vim /etc/profile
export HADOOP_HOME=/root/working/modules/hadoop277
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使环境变量生效,source /etc/profile(如果source不起作用就再重启)
在bin下通过 ./hadoop version 查看hadoop版本,环境变量配置完后在任意地方使用 hadoop version 可查看版本 。
-
配置hadoop重要的六个参数,在添加一些辅助的文件夹,为了让产生的Namenode和DataNode的数据可以进行存储。
开始配置六个参数 -
参数1 core-site.xml
路径/root/working/modules/hadoop277/etc/hadoop
编辑vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/root/working/modules/hadoop277/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
- 参数2 hadoop-env.sh,vim hadoop-env.sh,修改
- 参数3 hdfs-site.xml,vim hdfs-site.xml,修改
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/working/modules/hadoop277/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/working/modules/hadoop277/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
- 参数4 cp mapred-site.xml.template mapred-site.xml
vim 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.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>
- 参数5 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 参数6 slaves,vim slaves
以上,配置完毕,其他两台虚拟机可复制hadoop3,拷贝后修改主机名即可。如果是想在同一台机器上使用三台虚拟机,将桥接模式换成仅主机模式即可。有关桥接模式、仅主机模式、NAT模式区别参照:区别
桥接模式下,虚拟机不能上网,可以用双网卡(添加自定义网络适配器)解决此问题,需要上网时,打开另一网络即可,下载完毕后关闭此网络,否则其他节点无法ping通此虚拟机。
- 手动实现三台机器免密登陆,三台机器同时进行,以hadoop3为例
ssh hadoop3
cd ~/.ssh
ssh-keygen -t rsa #生成本机公钥。一直按回车键
cat id_rsa.pub >> authorized_keys #加入授权。此时使用ssh连接本机就不需要输入密码了
exit #登出
ssh-copy-id -i hadoop1 #spark3 ssh无密码登陆hadoop1
ssh-copy-id -i hadoop2 #spark3 ssh无密码登陆hadoop2
exit #登出
测试,如果不成功,删除认证文件重复上述步骤
ssh hadoop1
ssh hadoop2
-
格式化hadoop1也就是namenode
hdfs namenode -formathadoop format之后datanode起不了解决方法参考
-
在三台机器上,JPS查看进程+JDK的安装
解压jdk安装包tar -xvf jdk-8u102-linux-x64.tar.gz -C /root/working/modules/
修改配置文件vim /etc/profile ~./.bashrc
查看Java版本 -
在hadoop1也就是namenode节点启动hadoop集群
start-dfs.sh #存储支持
start-yarn.sh #计算支持
开启了六个资源组件
使用命令 jps 查看进程。
对应datanode没有启动,参考解决
- 在windows浏览器输入 http://虚拟机IP:50070,验证集群是否启动成功