Hadoop在处理大数据应用中扮演什么角色?

2026-04-28 09:161阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2018个文字,预计阅读时间需要9分钟。

Hadoop在处理大数据应用中扮演什么角色?

在CentOS 7上搭建Hadoop集群,准备工作如下:- 主机名称:hadoop-master- 系统环境:CentOS 7- IP地址:192.168.150.181- 从机名称:hadoop-slave1- 系统环境:CentOS 7- IP地址:192.168.150.182- 从机名称:hadoop-slave2- 系统环境:CentOS 7- IP地址:192.168.150.183- 下载Hadoop:hadoop-2.7.3

在centos7上搭建hadoop集群 准备工作

主机名称

系统环境

ip地址

hadoop-master

centos7

192.168.150.181

hadoop-slave1

centos7

192.168.150.182

hadoop-slave2

centos7

192.168.150.183

1.下载hadoop
本文用的是hadoop-2.7.3的版本
下载hadoop的链接:hadoop.apache.org/releases.html#25+August%2C+2016%3A+Release+2.7.3+available

2.下载jdk
本文用的是jdk1.8
jdk下载链接:www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.安装3个虚拟机并实现ssh免密码登录
- 1.安装虚拟机
这里用的linux系统是CentOS7,安装方法请看上篇博客(centos7 Linux环境的搭建);安装3台机器,机器名分别是hadoop-master、hadoop-slave1、hadoop-slaver2
1.1)机器在安装的时候,可以创建1个hadoop用户,之后通过hostname进行修改;
1.2)也可以使用克隆的方式复制多个独立的虚拟机,每个虚拟机创建一个Hadoop用户并加入到root组中useradd -m hadoop -G root -s /bin/bash利用passwd hadoop配置密码遇到提示说密码简单就再输入一次


- 2.配置ip和主机名

用root用户登录hadoop-master主机上配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

注意如果你是克隆的虚拟机那么每个虚拟机的网卡UUID是一样的,这个不行,所有要删除这个,让它自动在生成一个
重启网路服务:systemctl restart network
我的实验是把上面图中的ip地址改为192.168.196.162 默认网关设置为192.168.150.2 为什么这么做,根据什么要看看你的虚拟机网络编辑器 这个在虚拟机菜单 编辑 中 我的设置如图:

如果你在上图中设置取消了DHCP那么你想让你的电脑访问虚拟机就设置你的电脑中


配置静态IP


修改主机名:vi /etc/hostname删除原有的,修改成hadoop-master 保存退出
- 3. 修改/etc/hosts文件
修改hosts:vi 、etc/hosts配置如图所示:


保存退出,重启虚拟机。在每个虚拟机里重复修改网卡(ifcfg-enss*),hostname,hosts 的步骤,重启后测试互通性
要求在hadoop-master中能ping通slave1,slave2。其它任何一个虚拟机中都能ping通另外两个才行


- 4.给hadoop-master生成秘钥文件并且在hadoop-master上创建authorized_keys文件
检查每个虚拟机上是否安装了ssh 和 启动了sshd服务

rpm -qa | grep ssh

如图所示:(出现ssh server和client证明已经安装)


如果没有安装请执行下面的代码:(遇到输入y/N输入y)

yum -yinstall openssl openssh-serveropenssh-clients

退出所有虚拟机上root登陆用户,使用hadoop用户登录

在每个虚拟机上执行ssh localhost测试一下,最好都做一下,非常有用,会生成.ssh隐藏文件夹,遇到提示输入yes

在hadoop-master虚拟机上生成ssh密钥

cd .ssh

ssh-keygen -t rsa #遇到提示一路回车就行

ll #会看到 id_rsa id_rsa.pub 两文件前为私钥,后为公钥

cat id_rsa.pub>> authorized_keys #把公钥内容追加到authorized_keys文件中

chmod 600authorized_keys #修改文件权限,重要不要忽略

如图:

至此hadoop-master可以无密码登陆自己了,测试 ssh localhost 不再提示输入密码,如果不能请检查少了上面那一步

Hadoop在处理大数据应用中扮演什么角色?

  • 5.将authorized_keys文件复制到其他机器,实现hadoop-master无密码登陆到所有slave上

scp authorized_keys hadoop@hadoop-slave1:~/.ssh/

scp authorized_keys hadoop@hadoop-slave2:~/.ssh/

  • 6.测试使用ssh进行无密码登录
安装jdk8+并搭建环境变量

使用xftp把jdk-8u121-Linux-x64.rpm传送到每个虚拟机上

如图:

使用下面代码安装

sudo yum -yinstall jdk-8u121-linux-x64.rpm

如果出现这样的错误 hadoop 不在 sudoers 文件中。此事将被报告

可以使用两种途径解决:
1)切换到root用户下

su

yum -yinstall jdk-8u121-linux-x64.rpm

2)切换到root用户下,配置hadoop的权限,改为root权限

su

visudo

之后输入:89 回车 添加hadoop ALL=(ALL) ALL注意不是空格是制表符

保存退出,切换到hadoop用户下,重新输入命令:sudo yum -y install jdk-8u121-linux-x64.rpm测试是否安装成功,输入如下命令

java -version

如图表示安装成功:

搭建环境变量,我使用本地环境变量,默认安装的jdk在/usr/Java/jdk1.8.0_121

vi .bashrc

添加

# Java Environment VariablesexportJAVA_HOME=/usr/java/jdk1.8.0_121exportPATH=$PATH:$JAVA_HOME/bin


退出,保存,执行如下命令:

source.bashrc

验证命令:echo $PATH/JAVA_HOME



注意:每台机器上都要做一遍

安装hadoop并配置

使用xftp把hadoop-2.7.3.tar.gz传送到每个虚拟机上(这一步可以在传jdk的时候一起做)

使用tar -xzvf hadoop-2.7.3.tar.gz解压

配置hadoop环境变量vi .bashrc我的hadoop安装目录/home/hadoop/hadoop-2.7.3

添加

# Hadoop Environment VariablesexportHADOOP_HOME=/home/hadoop/hadoop-2.7.3exportHADOOP_INSTALL=$HADOOP_HOMEexportHADOOP_MAPRED_HOME=$HADOOP_HOMEexportHADOOP_COMMON_HOME=$HADOOP_HOMEexportHADOOP_HDFS_HOME=$HADOOP_HOMEexportYARN_HOME=$HADOOP_HOMEexportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

编辑如下5个文件 在/home/hadoop/hadoop-2.7.3/etc/hadoop目录中

1.core-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>

<!-- 指定HDFS老大(namenode)的通信地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop-master:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储路径 -->

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hadoop/hadoop-2.7.3/tmp</value>

</property></configuration>

2.hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>

<!-- 设置namenode的hadoop-master:50070查看节点状态

访问hadoop-master:8088查看如图

####特殊

### 创建一个文件夹(任意位置)

mkdir /root/apps -p

解压tar -zxvf jdk-8u77-linux-x64.tar.gz -C ./apps

配置环境变量

vi /etc/profile

export JAVA_HOME=/root/apps/jdk1.8.0_77

export PATH=${PATH}:${JAVA_HOME}/bin

export HADOOP_HOME=/root/apps/hadoop-2.7.7

export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

验证JKD是否配置成功

#### 中心加载 profile 文件

source /etc/profile

#### 查看 Java 版本

java -version

解压tar -zxvf hadoop-2.7.7.tar.gz -C /root/apps

scp -r ./apps root@linux2:/root/apps

scp -r ./apps root@linux3:/root/apps

scp /etc/profile root@linux2:/etc/profile

scp /etc/profile root@linux3:/etc/profile

source /etc/profile

ssh linux2

source /etc/profile

exit

ssh linux3

source /etc/profile

Exit

hadoop namenode -format

ll /root/apps/hdpdata

#### 关闭防火墙命令

systemctl stop firewalld.service

start-all.sh

#### 访问浏览器

linux1:50070/

####在centos7上搭建hadoop集群

blog.csdn.net/qq_38799155/article/details/75949250

mkdir /usr/java

mkdir /usr/java/jdk1.8.0_

mv /root/apps/jdk1.8.0_77 /usr/java/jdk1.8.0_

cd /root/apps/hadoop-2.7.7/bin

chmod 777 *

rm -rf /usr/java

mkdir /usr/java

mkdir /usr/java/jdk1.8.0_

cd /usr/java/jdk1.8.0_

ln -s /root/apps/jdk1.8.0_77/bin bin

scp authorized_keys root@linux2:~/.ssh/

scp authorized_keys root@linux3:~/.ssh/

C:\Windows\System32\drivers\etc

####hadoop配置

Hadoop 配置_w3cschool

本文共计2018个文字,预计阅读时间需要9分钟。

Hadoop在处理大数据应用中扮演什么角色?

在CentOS 7上搭建Hadoop集群,准备工作如下:- 主机名称:hadoop-master- 系统环境:CentOS 7- IP地址:192.168.150.181- 从机名称:hadoop-slave1- 系统环境:CentOS 7- IP地址:192.168.150.182- 从机名称:hadoop-slave2- 系统环境:CentOS 7- IP地址:192.168.150.183- 下载Hadoop:hadoop-2.7.3

在centos7上搭建hadoop集群 准备工作

主机名称

系统环境

ip地址

hadoop-master

centos7

192.168.150.181

hadoop-slave1

centos7

192.168.150.182

hadoop-slave2

centos7

192.168.150.183

1.下载hadoop
本文用的是hadoop-2.7.3的版本
下载hadoop的链接:hadoop.apache.org/releases.html#25+August%2C+2016%3A+Release+2.7.3+available

2.下载jdk
本文用的是jdk1.8
jdk下载链接:www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.安装3个虚拟机并实现ssh免密码登录
- 1.安装虚拟机
这里用的linux系统是CentOS7,安装方法请看上篇博客(centos7 Linux环境的搭建);安装3台机器,机器名分别是hadoop-master、hadoop-slave1、hadoop-slaver2
1.1)机器在安装的时候,可以创建1个hadoop用户,之后通过hostname进行修改;
1.2)也可以使用克隆的方式复制多个独立的虚拟机,每个虚拟机创建一个Hadoop用户并加入到root组中useradd -m hadoop -G root -s /bin/bash利用passwd hadoop配置密码遇到提示说密码简单就再输入一次


- 2.配置ip和主机名

用root用户登录hadoop-master主机上配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

注意如果你是克隆的虚拟机那么每个虚拟机的网卡UUID是一样的,这个不行,所有要删除这个,让它自动在生成一个
重启网路服务:systemctl restart network
我的实验是把上面图中的ip地址改为192.168.196.162 默认网关设置为192.168.150.2 为什么这么做,根据什么要看看你的虚拟机网络编辑器 这个在虚拟机菜单 编辑 中 我的设置如图:

如果你在上图中设置取消了DHCP那么你想让你的电脑访问虚拟机就设置你的电脑中


配置静态IP


修改主机名:vi /etc/hostname删除原有的,修改成hadoop-master 保存退出
- 3. 修改/etc/hosts文件
修改hosts:vi 、etc/hosts配置如图所示:


保存退出,重启虚拟机。在每个虚拟机里重复修改网卡(ifcfg-enss*),hostname,hosts 的步骤,重启后测试互通性
要求在hadoop-master中能ping通slave1,slave2。其它任何一个虚拟机中都能ping通另外两个才行


- 4.给hadoop-master生成秘钥文件并且在hadoop-master上创建authorized_keys文件
检查每个虚拟机上是否安装了ssh 和 启动了sshd服务

rpm -qa | grep ssh

如图所示:(出现ssh server和client证明已经安装)


如果没有安装请执行下面的代码:(遇到输入y/N输入y)

yum -yinstall openssl openssh-serveropenssh-clients

退出所有虚拟机上root登陆用户,使用hadoop用户登录

在每个虚拟机上执行ssh localhost测试一下,最好都做一下,非常有用,会生成.ssh隐藏文件夹,遇到提示输入yes

在hadoop-master虚拟机上生成ssh密钥

cd .ssh

ssh-keygen -t rsa #遇到提示一路回车就行

ll #会看到 id_rsa id_rsa.pub 两文件前为私钥,后为公钥

cat id_rsa.pub>> authorized_keys #把公钥内容追加到authorized_keys文件中

chmod 600authorized_keys #修改文件权限,重要不要忽略

如图:

至此hadoop-master可以无密码登陆自己了,测试 ssh localhost 不再提示输入密码,如果不能请检查少了上面那一步

Hadoop在处理大数据应用中扮演什么角色?

  • 5.将authorized_keys文件复制到其他机器,实现hadoop-master无密码登陆到所有slave上

scp authorized_keys hadoop@hadoop-slave1:~/.ssh/

scp authorized_keys hadoop@hadoop-slave2:~/.ssh/

  • 6.测试使用ssh进行无密码登录
安装jdk8+并搭建环境变量

使用xftp把jdk-8u121-Linux-x64.rpm传送到每个虚拟机上

如图:

使用下面代码安装

sudo yum -yinstall jdk-8u121-linux-x64.rpm

如果出现这样的错误 hadoop 不在 sudoers 文件中。此事将被报告

可以使用两种途径解决:
1)切换到root用户下

su

yum -yinstall jdk-8u121-linux-x64.rpm

2)切换到root用户下,配置hadoop的权限,改为root权限

su

visudo

之后输入:89 回车 添加hadoop ALL=(ALL) ALL注意不是空格是制表符

保存退出,切换到hadoop用户下,重新输入命令:sudo yum -y install jdk-8u121-linux-x64.rpm测试是否安装成功,输入如下命令

java -version

如图表示安装成功:

搭建环境变量,我使用本地环境变量,默认安装的jdk在/usr/Java/jdk1.8.0_121

vi .bashrc

添加

# Java Environment VariablesexportJAVA_HOME=/usr/java/jdk1.8.0_121exportPATH=$PATH:$JAVA_HOME/bin


退出,保存,执行如下命令:

source.bashrc

验证命令:echo $PATH/JAVA_HOME



注意:每台机器上都要做一遍

安装hadoop并配置

使用xftp把hadoop-2.7.3.tar.gz传送到每个虚拟机上(这一步可以在传jdk的时候一起做)

使用tar -xzvf hadoop-2.7.3.tar.gz解压

配置hadoop环境变量vi .bashrc我的hadoop安装目录/home/hadoop/hadoop-2.7.3

添加

# Hadoop Environment VariablesexportHADOOP_HOME=/home/hadoop/hadoop-2.7.3exportHADOOP_INSTALL=$HADOOP_HOMEexportHADOOP_MAPRED_HOME=$HADOOP_HOMEexportHADOOP_COMMON_HOME=$HADOOP_HOMEexportHADOOP_HDFS_HOME=$HADOOP_HOMEexportYARN_HOME=$HADOOP_HOMEexportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

编辑如下5个文件 在/home/hadoop/hadoop-2.7.3/etc/hadoop目录中

1.core-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>

<!-- 指定HDFS老大(namenode)的通信地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop-master:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储路径 -->

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hadoop/hadoop-2.7.3/tmp</value>

</property></configuration>

2.hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>

<!-- 设置namenode的hadoop-master:50070查看节点状态

访问hadoop-master:8088查看如图

####特殊

### 创建一个文件夹(任意位置)

mkdir /root/apps -p

解压tar -zxvf jdk-8u77-linux-x64.tar.gz -C ./apps

配置环境变量

vi /etc/profile

export JAVA_HOME=/root/apps/jdk1.8.0_77

export PATH=${PATH}:${JAVA_HOME}/bin

export HADOOP_HOME=/root/apps/hadoop-2.7.7

export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

验证JKD是否配置成功

#### 中心加载 profile 文件

source /etc/profile

#### 查看 Java 版本

java -version

解压tar -zxvf hadoop-2.7.7.tar.gz -C /root/apps

scp -r ./apps root@linux2:/root/apps

scp -r ./apps root@linux3:/root/apps

scp /etc/profile root@linux2:/etc/profile

scp /etc/profile root@linux3:/etc/profile

source /etc/profile

ssh linux2

source /etc/profile

exit

ssh linux3

source /etc/profile

Exit

hadoop namenode -format

ll /root/apps/hdpdata

#### 关闭防火墙命令

systemctl stop firewalld.service

start-all.sh

#### 访问浏览器

linux1:50070/

####在centos7上搭建hadoop集群

blog.csdn.net/qq_38799155/article/details/75949250

mkdir /usr/java

mkdir /usr/java/jdk1.8.0_

mv /root/apps/jdk1.8.0_77 /usr/java/jdk1.8.0_

cd /root/apps/hadoop-2.7.7/bin

chmod 777 *

rm -rf /usr/java

mkdir /usr/java

mkdir /usr/java/jdk1.8.0_

cd /usr/java/jdk1.8.0_

ln -s /root/apps/jdk1.8.0_77/bin bin

scp authorized_keys root@linux2:~/.ssh/

scp authorized_keys root@linux3:~/.ssh/

C:\Windows\System32\drivers\etc

####hadoop配置

Hadoop 配置_w3cschool