实验前的安装部署
1.配置静态网络信息、
[root@master ~]# cd /etc/sysconfig/network-scripts/
[root@master network-scripts]# ls
ifcfg-ens33 ifdown-isdn ifdown-tunnel ifup-isdn ifup-Team
ifcfg-lo ifdown-post ifup ifup-plip ifup-TeamPort
ifdown ifdown-ppp ifup-aliases ifup-plusb ifup-tunnel
ifdown-bnep ifdown-routes ifup-bnep ifup-post ifup-wireless
ifdown-eth ifdown-sit ifup-eth ifup-ppp init.ipv6-global
ifdown-ippp ifdown-Team ifup-ippp ifup-routes network-functions
ifdown-ipv6 ifdown-TeamPort ifup-ipv6 ifup-sit network-functions-ipv6
[root@master network-scripts]# vi ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.129
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=8.8.8.8
:wq
#重启网络
systemctl restart network
2.修改主机名
hostnamectl set-hostname master
bash
3.主机名与IP地址的映射关系
vi /etc/hosts
192.168.100.129 master
192.168.100.130 slave1
192.168.100.131 slave2
#保存退出后
ping master
ping slave1
ping slaver2
4.关闭防火墙
systemctl disable --now firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=diabled
5.无密码登陆
rpm -qa | grep openssh
rpm -qa | grep rsync
ssh-keygen -t rsa -P ''
#查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对
#将 id_rsa.pub 追加到授权 key 文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#交换 SSH 密钥
ssh-copy-id [email protected]
#远程登陆
ssh [email protected]
1. 实验一:hadoop 全分布配置
1.1. 实验目的
完成本实验,您应该能够:
掌握 hadoop 全分布的配置
掌握 hadoop 全分布的安装
掌握 hadoop 配置文件的参数意义
1.2. 实验要求
熟悉 hadoop 全分布的安装
了解 hadoop 配置文件的意义
1.3. 实验环境
本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 | 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘 |
---|---|
运行环境 | CentOS.7.3 |
服务和组件 | 服务和组件根据实验需求安装 |
1.4. 实验过程
1.4.1. 实验任务一:在 Master 节点上安装 jdk
1.4.1.1. 步骤一:解压缩 jdk-8u152-linux-x64.tar.gz 安装包到/usr 目录下
[root@master ~]# tar xf jdk-8u152-linux-x64.tar.gz -C /usr/local/src/
1.4.1.2. 步骤二:将 jdk-8u152-linux-x64.tar.gz 文件夹重命名为jdk
[root@master ~]# cd /usr/local/src
[root@master src]# ls
hadoop jdk1.8.0_152
[root@master src]# mv jdk1.8.0_152/ jdk
[root@master src]# ls
hadoop jdk
1.4.1.3. 步骤三:配置 jdk 环境变量
#进入vi /etc/profile.d/jdk.sh
[root@master src]# cat /etc/profile.d/jdk.sh
#输入
export JAVA_HOME=/usr/local/src/jdk
export PATH=${JAVA_HOME}/bin:$PATH
#生效
[root@master src]# bash
#查看是否生效
[root@master src]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
#安装hadoop过程跟安装jdk一样
1.4.1.4. 步骤四:创一个Hadoop 用户
[root@master src]# useradd hadoop
[root@master src]# echo 'qwerty' | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.
1.4.1.5. 步骤五:执行以下命令修改 hadoop-env.sh 配置文件。
[root@master ~]# cd /usr/local/src/hadoop/etc/hadoop/
#将JAVA_HOME改成/usr/local/src/jdk
export JAVA_HOME=/usr/local/src/jdk
1.4.2. 实验任务二:配置 hdfs-site.xml 文件参数
执行以下命令修改 hdfs-site.xml 配置文件。
[root@master hadoop]# vi hdfs-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
~
对于 Hadoop 的分布式文件系统 HDFS 而言,一般都是采用冗余存储,冗余因子通常为 3,也就是说,一份数据保存三份副本。所以,修改 dfs.replication 的配置,使 HDFS 文件 的备份副本数量设定为 3 个。
#提前建好data,name的文件夹
[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/{name,data}
[root@master hadoop]# ll /usr/local/src/hadoop/dfs
total 0
drwxr-xr-x 2 root root 6 Mar 2 11:15 data
drwxr-xr-x 2 root root 6 Mar 2 11:15 name
1.4.3. 实验任务三:配置 core-site.xml 文件参数
执行以下命令修改 core-site.xml 配置文件。
[root@master hadoop]# vi core-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop/tmp</value>
</property>
</configuration>
如没有配置 hadoop.tmp.dir 参数,此时系统默认的临时目录为:/tmp/hadoop-hadoop。 该目录在每次 Linux 系统重启后会被删除,必须重新执行 Hadoop 文件系统格式化命令,否 则 Hadoop 运行会出错。
#提前建好tmp的文件夹
[root@master hadoop]# mkdir -p /usr/local/src/hadoop/tmp
[root@master hadoop]# ll /usr/local/src/hadoop
total 28
drwxr-xr-x. 2 10021 10021 194 Jun 29 2015 bin
drwxr-xr-x 4 root root 30 Mar 2 11:15 dfs
drwxr-xr-x. 3 10021 10021 20 Jun 29 2015 etc
drwxr-xr-x. 2 10021 10021 106 Jun 29 2015 include
drwxr-xr-x. 3 10021 10021 20 Jun 29 2015 lib
drwxr-xr-x. 2 10021 10021 239 Jun 29 2015 libexec
-rw-r--r--. 1 10021 10021 15429 Jun 29 2015 LICENSE.txt
-rw-r--r--. 1 10021 10021 101 Jun 29 2015 NOTICE.txt
-rw-r--r--. 1 10021 10021 1366 Jun 29 2015 README.txt
drwxr-xr-x. 2 10021 10021 4096 Jun 29 2015 sbin
drwxr-xr-x. 4 10021 10021 31 Jun 29 2015 share
drwxr-xr-x 2 root root 6 Mar 2 11:48 tmp
1.4.4. 实验任务四:配置 mapred-site.xml
在“/usr/local/src/hadoop/etc/hadoop”目录下有一个 mapred-site.xml.template, 需要修改文件名称,把它重命名为 mapred-site.xml,然后把 mapred-site.xml 文件配置成 如下内容。
执行以下命令修改 mapred-site.xml 配置文件。
#确保在该路径下执行此命令
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vi mapred-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<!-- Put site-specific property overrides in this file. -->
<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>
</configuration>
Hadoop 提供了一种机制,管理员可以通过该机制配置 NodeManager 定期运行管理员提 供的脚本,以确定节点是否健康。 管理员可以通过在脚本中执行他们选择的任何检查来确定节点是否处于健康状态。如果 脚本检测到节点处于不健康状态,则必须打印以字符串 ERROR 开始的一行信息到标准输出。 NodeManager 定期生成脚本并检查该脚本的输出。如果脚本的输出包含如上所述的字符串 ERROR,就报告该节点的状态为不健康的,且由 NodeManager 将该节点列入黑名单,没有进 一步的任务分配给这个节点。但是,NodeManager 继续运行脚本,如果该节点再次变得正常, 该节点就会从 ResourceManager 黑名单节点中自动删除。节点的健康状况随着脚本输出,如 果节点有故障,管理员可用 ResourceManager Web 界面报告,节点健康的时间也在 Web 界面 上显示。
1.4.5. 实验任务五:配置 yarn-site.xml
执行以下命令修改 yarn-site.xml 配置文件。
[root@master hadoop]# vi yarn-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
1.4.6. 实验任务六:Hadoop 其它相关配置
1.4.6.1. 步骤一:配置 masters 文件
执行以下命令修改 masters 配置文件。
[root@master hadoop]# vi master
[root@master hadoop]# cat master
192.168.100.129
1.4.6.2. 步骤二:配置 slaves 文件
#删除 localhost,加入以下配置信息
[root@master hadoop]# vi slaves
[root@master hadoop]# cat slaves
192.168.100.130
192.168.100.131
1.4.6.4. 步骤三:修改目录权限
[root@master hadoop]# chown -R hadoop:hadoop /usr/local/src/hadoop
[root@master hadoop]# ll
total 160
-rw-r--r--. 1 hadoop hadoop 4436 Jun 29 2015 capacity-scheduler.xml
-rw-r--r--. 1 hadoop hadoop 1335 Jun 29 2015 configuration.xsl
-rw-r--r--. 1 hadoop hadoop 318 Jun 29 2015 container-executor.cfg
-rw-r--r-- 1 hadoop hadoop 1123 Mar 2 11:48 core-site.xml
-rw-r--r--. 1 hadoop hadoop 3670 Jun 29 2015 hadoop-env.cmd
-rw-r--r-- 1 hadoop hadoop 4230 Mar 2 10:59 hadoop-env.sh
-rw-r--r--. 1 hadoop hadoop 2598 Jun 29 2015 hadoop-metrics2.properties
-rw-r--r--. 1 hadoop hadoop 2490 Jun 29 2015 hadoop-metrics.properties
-rw-r--r--. 1 hadoop hadoop 9683 Jun 29 2015 hadoop-policy.xml
-rw-r--r--. 1 hadoop hadoop 775 Jun 29 2015 hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop 1449 Jun 29 2015 httpfs-env.sh
-rw-r--r--. 1 hadoop hadoop 1657 Jun 29 2015 httpfs-log4j.properties
-rw-r--r--. 1 hadoop hadoop 21 Jun 29 2015 httpfs-signature.secret
-rw-r--r-- 1 hadoop hadoop 993 Mar 2 11:11 httpfs-site.xml
-rw-r--r--. 1 hadoop hadoop 3518 Jun 29 2015 kms-acls.xml
-rw-r--r--. 1 hadoop hadoop 1527 Jun 29 2015 kms-env.sh
-rw-r--r--. 1 hadoop hadoop 1631 Jun 29 2015 kms-log4j.properties
-rw-r--r--. 1 hadoop hadoop 5511 Jun 29 2015 kms-site.xml
-rw-r--r--. 1 hadoop hadoop 11237 Jun 29 2015 log4j.properties
-rw-r--r--. 1 hadoop hadoop 951 Jun 29 2015 mapred-env.cmd
-rw-r--r--. 1 hadoop hadoop 1383 Jun 29 2015 mapred-env.sh
-rw-r--r--. 1 hadoop hadoop 4113 Jun 29 2015 mapred-queues.xml.template
-rw-r--r-- 1 hadoop hadoop 1100 Mar 2 12:00 mapred-site.xml
-rw-r--r--. 1 hadoop hadoop 758 Jun 29 2015 mapred-site.xml.template
-rw-r--r-- 1 hadoop hadoop 19 Mar 2 12:17 masters
-rw-r--r-- 1 hadoop hadoop 32 Mar 2 12:21 slaves
-rw-r--r--. 1 hadoop hadoop 2316 Jun 29 2015 ssl-client.xml.example
-rw-r--r--. 1 hadoop hadoop 2268 Jun 29 2015 ssl-server.xml.example
-rw-r--r--. 1 hadoop hadoop 2250 Jun 29 2015 yarn-env.cmd
-rw-r--r--. 1 hadoop hadoop 4567 Jun 29 2015 yarn-env.sh
-rw-r--r-- 1 hadoop hadoop 1551 Mar 2 12:14 yarn-site.xml
1.4.6.5. 步骤四:同步配置文件到 Slave 节点
上述配置文件全部配置完成以后,需要执行以下命令把 Master 节点上的 “/usr/local/src/hadoop”文件夹复制到各个 Slave 节点上,并修改文件夹访问权限。
[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/
[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
The authenticity of host 'slave2 (192.168.100.131)' can't be established.
ECDSA key fingerprint is SHA256:PBtGVMglru206eEDbi9G1WgfQEtCgE78HO8doBP7hl4.
ECDSA key fingerprint is MD5:0e:4f:4f:70:7f:5f:1f:a2:a2:78:4f:37:a4:b3:fa:86.
Are you sure you want to continue connecting (yes/no)? yes
1.4.6.5. 步骤五:在Slave1 节点,slave2节点上新建hadoop用户
[root@slave1 ~]# useradd hadoop
[root@slave1 ~]# echo "qwerty" | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.
[root@slave2 ~]# useradd hadoop
[root@slave2 ~]# echo "qwerty" | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.
1.4.6.5. 步骤六:将环境变量同步配置文件到 Slave 节点
[root@master ~]# scp /etc/profile.d/jdk.sh root@slave1:/etc/profile.d/
jdk.sh 100% 71 43.2KB/s 00:00
[root@master ~]# scp /etc/profile.d/jdk.sh root@slave2:/etc/profile.d/
jdk.sh 100% 71 53.0KB/s 00:00
[root@master ~]# scp /etc/profile.d/hadoop.sh root@slave2:/etc/profile.d/
hadoop.sh 100% 98 76.2KB/s 00:00
[root@master ~]# scp /etc/profile.d/hadoop.sh root@slave1:/etc/profile.d/
hadoop.sh 100% 98 79.3KB/s 00:00
标签:rw,--,配置,hadoop,分布,master,2015,root
From: https://www.cnblogs.com/shuangmu668/p/17230823.html