Elmo 2020-05-17
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(网卡名称可能不同)
修改:
将该配置文件中的ONBOOT=no修改为yes(网络开机自启)
将BOOTPROTO=dhcp修改为static(将ip设置为静态ip)
为了能够通过外部访问到虚拟机,增加:
IPADDR=192.168.154.110(110是自己设置的,154是VMnet8的NAT网段)
NETMASK=255.255.255.0(子网掩码都为这个)
GATEWAY=192.168.154.2(网关跟VMnet8的NAT的网关一样)
DNS1=192.168.154.2(还可以设置成8.8.8.8,114.114.114.114)
重新启动网络:
service network restart 或 systemctl network restart
注:如果不用xshell则跳过这一步,但IP地址还是要查到
ifconfig
若没有这命令:
sudo yum install net-tools
若查不到就老老实实配静态IP
设置主机名:vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME = (自定义一个主机名)例如:hadoop
保存退出
vi /etc/hosts
保存退出,执行下面命令刷新,配置即可生效。
hostname hadoop
cd .ssh/
ssh-keygen -t rsa
一直回车即可。此时会生成一个RSA 2048文件,生成了一对公钥,一对私钥。
输入ls 查看生成的私钥和公钥。如果想要查看生成的一对秘钥,可以使用 more 秘钥名即可
查看公钥: more id_rsa.pub 查看私钥: more id_rsa
ssh-cp-id localhost(是你的主机名) 或 ssh-copy-id localhost(是你的主机名)
输入一次密码(登录linux系统的密码),待拷贝完成。
验证是否免密成功:
ssh 主机名
若不用输入密码即可登陆就成功了
在linux centos7版本中,使用的防火墙不是iptables(linux centos6中使用的防火墙),而是firewall,所有以下操作中要使用firewall的相关指令。
1.查看防火墙状态:
systemctl status firewalld
若显示Active: active (running),则表示防火墙已开启。
另外一种查看方式:
firewall-cmd --state
若结果为running,表示防火墙已开启。
systemctl stop firewalld.service
systemctl status firewalld
若显示Active: active (dead),则表示防火墙已关闭。
另外一种查看方式:
firewall-cmd --state
若结果为not running,表示防火墙已关闭。
systemctl disable firewalld.service
想要开启防火墙,输入:
systemctl start firewalld
vi /etc/profile
在该文件中加入:
export JAVA_HOME= (即jdk的安装目录) export HADOOP_HOME= (即jdk的安装目录) export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(本可以不加Hadoop路径,加上后,可以在任何路径执行相关命令)
刷新这个文件:
source /etc/profile
需要配置其中五个配置文件,进入到hadoop下etc下的hadoop目录,并查看该目录下的所有配置文件,并配置其中五个。
vi hadoop-env.sh
export JAVA_HOME=自己的jdk安装目录
vi core-site.xml
<!--配置hdfs的namenode的地址,使用的是hdfs协议:--> <property> <name>fs.defaultFS</name> <value>hdfs://主机名:9000</value> </property> <!--配置hadoop运行时产生数据的存储目录,不是临时目录。--> <property> <name>hadoop.tmp.dir</name> <value>/home/sun/app/hadoop-3.1.2/tmp</value> </property>
vi hdfs-site.xml
<property> <name>dfs.replication</name> <value>1</value> </property>
vi mapred-site.xml
<property> <!--指定mapreduce运行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
5.配置yarn-site.xml文件,指定yarn的老大resourcemanager的地址(该地址是resourcemanager的主机地址,即主机名或该主机的ip地址):
vi yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>主机名</value> </property> <!--指定mapreduce执行shuffle时获取数据的方式--> <property> <name>yarn.nodemanager.aus-services</name> <value>mapreduce_shuffle</value> </property>
该初始化不是启动hadoop的hdfs,而是对hdfs做格式化,需要到hadoop的bin目录中进行相关命令的操作
./hdfs namenode -format
(不建议初学者直接start-all.sh,一步一步的启动start-dfs.sh和start-yarn.sh等)
最后在宿主机的浏览器中访问hadoop的hdfs,如访问成功,则说明伪分布式环境已搭建成功:
Hadoop2.X的版本中,访问hdfs的端口号是50070,访问mapreduce的端口号是8080
192.168.154.100:50070
192.168.154.100:8080
Hadoop3.X的版本中,访问hdfs的端口号由50070修改成了9870,访问mapreduce的端口号是8088
192.168.154.100:9870
192.168.154.100:8088
注:如果不能访问就检查防火墙是否关闭以及其他原因,端口号前面的IP地址是自己设置的静态IP