一、Linux系统配置
-
切换到管理员用户的命令:su root
-
配置时钟同步
配置时钟的命令: crontab -e
注: 当出现的是空的,则从键盘上按 i 进入insert模式下
进入insert模式左下角有如下显示
输入内容如下
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
然后按 Esc 在 :wq 保存并退出编译 回到命令页面
—————————注意事项分割线——————-———
配置时钟完成截图如下
3. 配置主机名
可以通过ping主机名和ip地址建立连接,三台主机的主机名都是localhost,所以我们需要配置主机名
1.编译网络配置文件:
vim /etc/sysconfig/network
2. 确认修改命令生效
hostname master(在master里面)
测试:重新打开一个终端:输入
hostname
命令,检查结果是否为master/slave/slave1(都是在root权限下操作)
其他两个类似
4.使用setup命令配置网络环境
ifconfig 查询ip地址及网络环境
在终端中使用setup命令可进入网络配置
-
关闭防火墙
setup
启动状态是带*号
禁止状态是在*位置按 空格
下一步 是
-
配置hosts列表
在root权限下操作 输入命令: vim /etc/hosts 添加如下内容: 192.168.110.128 master #Master服务器的ip地址 192.168.110.129 slave #Slave服务器的ip地址 192.168.110.130 slave1 #Slave1服务器的ip地址
注意: 在slave和slave1上进行同样操作
验证:hosts是否配置成功的命令。
例如:在master服务器中
ping slave
ping slave1
在slave服务器中:
ping master
ping slave1
在slave1服务器中:
ping master
ping slave
-
安装jdk
通过ssh方式将jdk安装包上传到自己用户目录下面
不能上传到根目录,因为没有权限一些查询工作,弄清文件夹之间的关系
以root用户身份登录HadoopMaster节点: 1. 进入/usr命令:cd /usr; 2. 创建java文件夹命令:mkdir java (删除java文件操作命令: rm -rf java ) 3. 将jdk从home/xiongying目录下复制到新建的/usr/java目录下,进行解压安装: 复制: cp /home/xiongying/jdk-8u161-linux-x64.tar.gz /usr/java 解压命令: 先进入到当前目录 cd /usr/java 执行解压命令: tar -zxvf jdk-8u161-linux-x64.tar.gz
-
在Linux中配置Java的环境变量
在root权限范围下 输入命令: vim /home/xiongying/.bash_profile
回车后的结果
然后
source /home/xiongying/.bash_profile 使命令生效
通过javac命令检验环境环境是否搭建完毕:
命令:javac回车
同时登录 Hadoopslave 和 Hadoopslave1 进行同样的操作。
-
免密钥登录配置(免密登录)
能够ping上说明能够数据传输,不能相互访问1. 在主节点master操作,先从root切换到当前用户下面(su xiongying /) 2. 输入当前命令生成密钥: ssh -keygen -t rsa ssh-keygen 是生成密钥的命令 -t rsa 表示使用rsa算法进行加密
3. 复制公钥文件到authorized_keys文件中命令:
cat /home/xiongying/.ssh/id_rsa.pub >> /home/xiongying/.ssh/authorized_keys
4. 修改文件权限
chmod 600 /home/xiongying/.ssh/authorized_keys
5.将主节点master生成的公钥文件authorized_keys复制到slave和slave1从节点上
scp /home/xiongying/.ssh/authorized_keys xiongying@slave:/home/xiongying/.ssh/
scp /home/xiongying/.ssh/authorized_keys xiongying@slave1:/home/xiongying/.ssh/
对于Hadoopslave节点
1.以用户身份登录Hadoopslave节点,进入到/home/ydh/.ssh目录,输入以下命令:
cd /home/xiongying/.ssh/
ll /home/xiongying/.ssh
2.修改文件权限
chmod 600 /home/xiongying/.ssh/authorized_keys
此时,在Hadoopslave节点上就存放了Hadoopmaster节点的公钥,那么Hadoopmaster节点就可以以SSH的方式直接登录Hadoopslave节点。
对于Hadoopslave1节点同上
如何验证免密登录:
在主节点访问从节点就可以了
在master中 ssh slave
在master中 ssh slave1
可以直接访问不需要输入密码即成功
-
解压Hadoop安装文件
将Hadoop安装文件通过SSH工具上传到HadoopMaster节点用户的主目录下。 进入用户主目录,输入以下命令进行解压: tar –zxvf hadoop-2.7.1.tar.gz
解压后查看的命令: cd hadoop-2.7.1 ls -l
一些文件的路径:
- 配置环境变量
-
配置环境变量hadoop-env.sh
输入以下命令,打开Hadoop的环境变量文件vim /home/xiongying/hadoop-2.7.1/etc/hadoop/hadoop-env.sh
-
然后加入这个
保存文件,Hadoop的环境变量hadoop-env.sh配置成功,此时Hadoop具备了运行时的环境。
-
配置环境变量yarn-env.sh
输入以下命令,打开Hadoop的环境变量文件vim /home/xiongying/hadoop-2.7.1/etc/hadoop/yarn-env.sh
然后加入这个
保存文件,Hadoop的YARN的环境变量yarn-env.sh配置成功。此时,Hadoop的YARN模块具备了运行时的环境。
-
配置核心组件core-site.xml
输入以下命令,打开Hadoop的环境变量文件vim /home/xiongying/hadoop-2.7.1/etc/hadoop/core-site.xml
然后添加这些
至此,Hadoop集群的核心配置完成
-
配置文件系统hdfs-site.xml
输入以下命令,打开hdfs-site.xml配置文件:
vim /home/xiongying/hadoop-2.7.1/etc/hadoop/hdfs-site.xml
然后加入这些
至此,Hadoop集群HDFS分布式文件系统的数据块副本配置完成。
-
配置yarn资源系统yarn-site.xml
使用以下命令打开yarn-site.xml配置文件vim /home/xiongying/hadoop-2.7.1/etc/hadoop/yarn-site.xml
然后 用下面的代码替换yarn-site.xml中的内容。
<?xml version="1.0"?>
<configuration>
<!-- yarn.nodemanager.aux-services是NodeManager上运行的附属服务,其值需要配置成mapreduce_shuffle,才可以运行MapReduce程序-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- yarn.resourcemanager.address 是ResourceManager对客户端暴露的访问地址,客户端通过该地址向ResourceManager提交或结束MapReduce应用程序-->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<!-- yarn.resourcemanager.scheduler.address是ResourceManager对ApplicationMaster(客户端将MapReduce应用程序提交到集群中,ResourceManager接受客户端应用程序的提交后,将该应用程序分配给某一个NodeManager,对该MapReduce应用程序进行初始化,进而产生一个应用程序初始化Java对象,将这个Java对象称为ApplicationMaster)暴露的访问地址,ApplicationMaster通过该地址向ResourceManager申请MapReduce应用程序在运行过程中所需要的资源,以及程序运行结束后对使用资源的释放等-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<!-- yarn.resourcemanager.resource-tracker.address 是ResourceManager对NodeManager暴露的访问地址,NodeManager通过该地址向ResourceManager发送心跳数据,汇报资源使用情况以及领取ResourceManager将要分配给自己的任务等-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<!-- yarn.resourcemanager.admin.address 是ResourceManager对管理员admin暴露的访问地址,管理员可通过该地址向ResourceManager发送管理命令等-->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<!-- yarn.resourcemanager.webapp.address 是ResourceManager YARN平台提供用户查看正在运行的MapReduce程序的进度和状态的WEB UI系统的访问地址,可通过该地址在浏览器中查看应用程序的运行状态信息 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>
如图:
-
配置计算框架mapred-site.xml
通过以下命令打开mapred-site.xml配置文件。vim /home/xiongying/hadoop-2.7.1/etc/hadoop/mapred-site.xml
然后用下面的代码替换mapred-site.xml中的内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--MapReduce计算框架的资源交给YARN来管理-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
如图
-
在HadoopMaster节点配置slaves
1.使用以下命令打开slaves配置文件
vim /home/xiongying/hadoop-2.7.1/etc/hadoop/slaves![在这里插入图片描述](https://img-blog.csdnimg.cn/dd37fb1fae6647719262134a7928c310.png)
然后将文件改为如下:
2.复制到从节点
使用下面的命令将已经配置完成的Hadoop复制到从节点HadoopSlave和HadoopSlave1上
scp -r /home/xiongying/hadoop-2.7.1 xiongying@slave:~/
scp -r /home/xiongying/hadoop-2.7.1 xiongying@slave1:~/
-
配置Hadoop启动的系统环境变量
此配置需要同时在HadoopMaster、HadoopSlave和HadoopSlave1上进行操作,操作命令如下:vim /home/xiongying/.bash_profile
然后添加所框的内容
使命令生效以及基本查询操作
Hadoopslave和Hadoopslave1同上
-
从主节点启动集群
启动集群时,首先要做的就是在HadoopMaster节点上格式化分布式文件系统HDFS:
hdfs namenode –format
已格式化完的界面
然后输入以下命令启动:
start-all.sh
启动后的界面
检验启动:
1.查看进程是否启动
在HadoopMaster的Terminal终端执行jps命令,在打印结果中会看到4个进程,分别是ResourceManager、Jps、NameNode和SecondaryNameNode,如下图。如果出现了这4个进程,就表示主节点进程启动成功。
在HadoopSlave的终端执行jps命令,在打印结果中会看到3个进程,分别是NodeManager、DataNode和Jps,如下图。如果出现了这3个进程,就表示从节点进程启动成功。
在HadoopSlave1的终端执行jps命令,在打印结果中会看到3个进程,分别是NodeManager、DataNode和Jps,如下图。如果出现了这3个进程,就表示从节点进程启动成功。
-
运行PI实例检查集群是否启动成功
在HadoopMaster节点上,进入hadoop安装主目录,执行下面的命令:cd ~ cd /home/xiongying/hadoop-2.7.1/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-2.7.1.jar pi 10 10
最后输出为:
Estimated value of Pi is 3.20000000000000000000
如果以上验证步骤都没有问题,说明Hadoop集群已正常启动。