Hadoop2 集群环境2

Reads: 1193 Edit

Hadoop2 集群环境

集群环境

Windows下安装Vmware,用CentOS安装CentOS7 64bit虚拟机并克隆,共创建3台虚拟机,CentOS用户名root,密码123456。地址和机器名分别为:

IP主机名
192.168.11.10master
192.168.11.11slave1
192.168.11.12slave2

关闭防火墙

1, 关闭防火墙 彻底关闭CentOS上的防火墙需要经过以下两步。

1)关闭防火墙1

$ systemctl stop firewalld.service # 停止firewall

$ systemctl disable firewalld.service # 禁止firewall开机启动

2) 关闭防火墙2

$ vi /etc/sysconfig/selinux

SELINUX=disabled

然后输入以下命令彻底关闭selinux。

$ setenforce 0

修改防火墙配置文件后,最好重启下Linux操作系统。

安装 Hadoop

创建/soft文件夹,把hadoop-3.1.4.tar.gz 文件上传到/soft文件加下,把 hadoop-3.1.4.tar.gz解压缩到 /usr/local 下

tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local

修改 hadoop-3.1.4 名称

cd /usr/local

mv hadoop-3.1.4/ hadoop

修改主机名

1,修改虚拟机(192.168.11.10)名称,使用以下命令

vi /etc/hostname

master

2,编辑hosts 网络映射

vi /etc/hosts

192.168.11.10  master
192.168.11.11  slave1
192.168.11.12  slave2

在192.168.11.11,192.168.11.12重复以上两步, 把192.168.11.11主机名设置为slave1,192.168.11.12主机名设置为 slave2。

安装SSH

master通过网络和slave互相访问,需要安装SSH,使master和slave互相访问时不必登录系统的密码

1, 安装SSH

yum install openssh*

继续输入以下命令

systemctl enable sshd

ssh localhost

2, SSH设置账户无密码登录

2.1 每台机器执行命令生成秘钥文件

ssh-keygen -t rsa

会在当前目录下生成 .ssh隐藏目录

cd .ssh

QQ截图20201025151016

在.ssh目录下会发现 id_rsa, id_rsa.pub , 在hadoop每个节点都执行以上命令。

2.2,每个节点下的 .ssh目录下的 id_rsa.pub文件的内容都保存到 authorized_keys 文件下

cd .ssh

vi authorized_keys

添加 master,slave1,slave2下的 id_rsa.pub 内容到 .ssh/authorized_keys 文件

chmod 600 id_rsa
chmod 600 id_rsa.pub
chmod 600 authorized_keys

11162000

2.3 给所有者(hduser)权限

chmod 777 authorized_keys

2.4 测试

ssh root@master

ssh root@slave1

ssh root@slave2

配置Hadoop

在192.168.11.10进行文件配置,然后通过scp命令同步到其他两台机器上。

1, 修改 core-site.xml

cd /usr/local/hadoop/etc/hadoop

vi core-site.xml

添加以下内容

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/usr/local/hadoop/tmp</value>
	</property>
</configuration>

2, 修改 hdfs-site.xml

cd /usr/local/hadoop/etc/hadoop

vi hdfs-site.xml

添加以下内容

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/name</value>
	</property>
		<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/data</value>
	</property>
</configuration>

3,修改 mapred-site.xml

cd /usr/local/hadoop/etc/hadoop

vi mapred-site.xml

添加以下内容

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:9020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:9888</value>
  </property>
</configuration>

4,修改 yarn-site.xml

cd /usr/local/hadoop/etc/hadoop

vi yarn-site.xml

添加以下内容

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>  
</configuration>

5,修改 workers 文件

cd /usr/local/hadoop/etc/hadoop

vi wokers

添加以下内容

master 
slave1
slave2

6, 同步文件

配置完成后将以上5个文件同步到slave1,slave2节点

scp -r /usr/local/hadoop/etc/hadoop/workers root@slave1:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/core-site.xml root@slave1:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/hdfs-site.xml root@slave1:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/mapred-site.xml root@slave1:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/yarn-site.xml root@slave1:/usr/local/hadoop/etc/hadoop

slave2上的节点配置也需要修改

scp -r /usr/local/hadoop/etc/hadoop/workers root@slave2:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/core-site.xml root@slave2:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/hdfs-site.xml root@slave2:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/mapred-site.xml root@slave2:/usr/local/hadoop/etc/hadoop

scp -r /usr/local/hadoop/etc/hadoop/yarn-site.xml root@slave2:/usr/local/hadoop/etc/hadoop

设置JDK

tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local

cd /usr/local

mv jdk1.8.0_271/ jdk8

设置环境变量

vi /etc/profile

export JAVA_HOME=/usr/local/jdk8
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:.:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


source /etc/profile

启动Hadoop

1, 格式化文件系统

hdfs namenode -format

2, 启动Hadoop集群

cd /usr/local/hadoop/sbin

start-all.sh

报如下错误

222025172458

修改hadoop/sbin里面的四个文件夹

1、对于start-dfs.sh和 stop-dfs.sh文件,添加下列参数:

cd /usr/local/hadoop/sbin

vi start-dfs.sh

vi stop-dfs.sh

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

2、对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

报Error:JAVA_HOME is not set and could not be found 问题解决

cd /usr/local/hadoop/etc/hadoop

vi hadoop-env.sh

修改

export JAVA_HOME=/usr/local/jdk8

通过 Web 端查看机器情况

在浏览器输入 http://192.168.11.10:8088/cluster

333601


Comments

Make a comment

www.ultrapower.com ,王硕的博客,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。