上篇我们说到在Vmware中搭建Hadoop时首先配置Hadoop的网络环境; 下篇我们将通过Xshell6连接VMware正式配置Hadoop:
注:本文中出现的IP地址:192.168.127.103均是在上篇配置网络环境时在以下图中"IPADDR"位置处配的IP地址;
这里大家根据自己分配的IP地址配置后面在Hadoop中需要的IP;
博主是后面重新分配了一个IP地址:192.168.127.100搭建的,文章中出现两个不同的IP地址,请各位小伙伴注意!一定要写自己分配的IP地址!
打开Xshell6,点击文件,点击新建;名称栏为"master",主机栏为配置前篇配置的IP地址: 没有反应时,重进Xshell,如遇到一次性保存这样的弹窗,点中间接受并保存,然后进行以下步骤,点击确定:
输入命令:
su root在线安装ntpdate,使用阿里云ntp服务器同步时间,date命令查看当前时间
输入命令:
yum install ntpdate ntpdate ntp.aliyun.com查看时间:
输入命令:
date主机名的作用是可以在网络中能够唯一标识主机,和IP地址一样,可通过IP地址和网络主机名访问这台主机,作用:简化、方便。
修改主机名:
输入命令:
hostnamectl set-hostname master查看修改后的主机名:
输入命令:
hostnamehosts列表作用是让集群中的每台服务器彼此都知道对方的主机名和IP地址
输入命令:
vi /etc/hosts添加主机IP和主机名:
192.168.253.5 masterESC :wq保存并退出
验证,ping IP地址和主机名,结果相同无区别,ping通即成功
输入命令:
ping 192.168.127.103 ping master创建个人用户目录,java目录,Hadoop目录:
输入命令:
mkdir /usr/zpf mkdir /usr/java mkdir /usr/hadoop使用Xftp复制java安装包至zpf目录下,解压后移动至java目录下(注:Xftp的使用和Xshell基本一致,连接成功即可):
然后在Xshell进入"zpf"目录里输入命令:
解压:
tar -zxvf jdk-8u161-linux-x64.tar.gz移动:
mv jdk1.8.0_161 /usr/java/jdk1.8.0_161然后我们去Java目录里查看一下是否成功:
输入命令:
cd .. cd java ls成功!
进入系统配置文件:
输入命令:
vi /etc/profile文件最后添加以下两行代码:
export JAVA_HOME=/usr/java/jdk1.8.0_161 export PATH=$JAVA_HOME/bin:$PATH查看Java环境是否配置成功:
输入命令:
source /etc/profile java -version成功!
使用Xftp上传Hadoop安装包至zpf文件夹下,解压Hadoop安装包,并移动至Hadoop文件夹中:
然后在Xshell进入"zpf"目录里输入命令:
解压:
tar -zxvf hadoop-2.10.0.tar.gz移动:
mv hadoop-2.10.0 /usr/hadoop/hadoop-2.10.0配置Hadoop环境变量:
输入命令:
vi /etc/profile在配置文件最后添加以下两行代码:
export HADOOP_HOME=/usr/hadoop/hadoop-2.10.0 export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin查看Hadoop环境是否配置成功:
输入命令:
source /etc/profile hadoop version whereis hdfs成功!
设置Hadoop配置文件:
输入命令:
cd /usr/hadoop/hadoop-2.10.0/etc/hadoop vi hadoop-env.sh找到下面这行代码:
export JAVA_HOME=${JAVA_HOME}修改为:
export JAVA_HOME=/usr/java/jdk1.8.0_161进入Hadoop的etc文件夹,配置core-site.xml文件
输入命令:
vi core-site.xml新增以下内容:
<configuration> <!--指定文件系统的入口地址,可以为主机名或ip --> <!--端口号默认为8020 --> <property> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <!--指定hadoop的临时工作存目录--> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property> </configuration>配置yarn-env.sh文件
输入命令:
vi yarn-env.sh找到该行:export JAVA_HOME=/home/y/libexec/jdk1.6.0/
修改为:
export JAVA_HOME=/usr/java/jdk1.8.0_161配置hdfs-site.xml文件
输入命令:
vi hdfs-site.xml新增以下内容:
<configuration> <!--指定hdfs备份数量,小于等于从节点数目--> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 自定义hdfs中namenode的存储位置--> <!-- <property>--> <!-- <name>dfs.namenode.name.dir</name>--> <!-- <value>file:/usr/hadoop/dfs/name</value>--> <!-- </property>--> <!-- 自定义hdfs中datanode的存储位置--> <!-- <property>--> <!-- <name>dfs.datanode.data.dir</name>--> <!-- <value>file:/usr/hadoop/dfs/data</value>--> <!--</property>--> </configuration>配置mapred-site.xml文件,通过cp命令生成不带后缀 template 的文件
输入命令:`
cp mapred-site.xml.template mapred-site.xml输入命令:
vi mapred-site.xml新增以下内容:
<configuration> <!--hadoop的MapReduce程序运行在YARN上--> <!--默认值为local--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>配置yarn-site.xml文件
输入命令:
vi yarn-site.xml新增内容:
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!--nomenodeManager获取数据的方式是shuffle--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>修改slaves文件,删除原有内容,新增即将要建立的三个虚拟机的hostname
输入命令:
vi slaves使用master镜像克隆3台虚拟机(创建完整克隆),名称分别为slave1、slave2、slave3,根据电脑配置情况可以自由设置数量 虚拟机处在关机状态下:右击—>管理—>克隆 创建三个克隆机
进入根目录下etc/sysconfig/network-scripts中,修改每台slave机的ip地址 ,方法同1.3修改每个slave的主机名,方法同2.3 hostnamectl set-hostname slave1 hostnamectl set-hostname slave2 hostnamectl set-hostname slave3 修改master和每个slave机的hosts文件,方法同2.4,将以下代码更新到etc/hosts文件中 192.168.253.5 master 192.168.253.6 slave1 192.168.253.7 slave2 192.168.253.8 slave3
将master机上的Hadoop文件夹发送给三台slave机
输入命令:
scp -r /usr/hadoop slave1:/usr/hadoop scp -r /usr/hadoop slave2:/usr/hadoop scp -r /usr/hadoop slave3:/usr/hadoop在master和每台slave上,使用rsa算法产生公钥和私钥(一路按"回车"即可)
输入命令:
ssh-keygen -t rsa(一路按回车)
查看生成的私钥id_rsa和公钥id_rsa.pub
输入命令:
cd /root/.ssh/ ls在master上创建一个大家通用的公钥authorized_keys,修改authorized_keys权限,并将这个公钥发送给每个slave机
依次输入命令:
cat id_rsa.pub >> authorized_keys chmod 644 authorized_keys systemctl restart sshd.service scp /root/.ssh/authorized_keys slave1:/root/.ssh scp /root/.ssh/authorized_keys slave2:/root/.ssh scp /root/.ssh/authorized_keys slave3:/root/.ssh依次输入命令:
ssh master exit ssh slave1 exit ssh slave2 exit ssh slave3 exit在master机上,进入Hadoop下的bin文件夹
输入命令:
hdfs namenode -format(注意:只需格式化一次!多次格式化会导致NameNode和DataNode的集群ID值不匹配,需要在格式化前删除NameNode,DataNode、日志等文件夹。所以此步骤只能执行一次!)
进入Hadoop中的sbin文件夹下
输入命令:
start-dfs.sh start-yarn.sh输入命令:
jps查看NameNode、DataNode:http://192.168.127.103:50070
查看SecondaryNameNode信息:http://192.168.127.103:50090
查看YARN界面:http://192.168.127.103:8088 至此,Hadoop环境已经搭建完成!
注:本文中出现的IP地址:192.168.127.103均是在上篇配置网络环境时在以下图中"IPADDR"位置处配的IP地址;
这里大家根据自己分配的IP地址配置后面在Hadoop中需要的IP;
博主后面也是重新分配了一个IP地址:192.168.127.100搭建的,文章中出现两个不同的IP地址,请各位小伙伴注意!一定要写自己分配的IP地址! 感谢!如遇疑问,请在下方评论或者私信博主,博主会尽自己最大能力帮你解决问题!