CentOS系统部署 Hadoop 伪分布模式

Hadoop伪分布模式下,Hadoop使用的是分布式文件系统,各个作业也是由ResourceManager服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互,常用来开发测Hadoop程序的执行是否正确。本文总结了hadoop伪分布模式部署完整过程。

hadoop官网下载网址:hadoop及各组件下载

一、准备工作

#sudo yum -y install wget
#sudo yum install lrzsz
#sudo yum -y install vim*
#cat /etc/hostname   //查看机器名
#cat /etc/hosts     //查看 域名映射
     IP  机器名
#firewall-cmd --state    //查看防火墙状态
#systemctl stop  firewalld-server  //若是running状态则关闭防火墙 

命令解析:yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器;-y 是指安装过程中自动同意,就不会老询问你 yes/no ;wget 是Linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径;lrzsz 用于上传文件,上传速度比较慢适用于比较小的文件。

Windows下下载安装 Xshell 工具,方便与 CentOS 系统之间传输文件。

二、安装JDK

1、传输 jdk 包: 使用 Xshell 连接好 Linux 服务器后,在 Xshell 终端使用以下命令完成文件传输

rpm -qa |grep lrzsz   //检测是否安装 lrzsz 服务
rz   //传输文件

出现如下图的提示,说明 lrzsz 服务已安装 

弹出以下窗口,选择你需要传输的文件即可 

文件传输窗口 

2、解压安装包,配置 jdk 环境

sudo whereis jdk-8u40-linux-x64.gz  //查看jdk包的路径
//我的查看结果
jdk-8u40-linux-x64: /usr/local/jdk-8u40-linux-x64.gz

cd /usr/lib       //进入lib路径
sudo mkdir jvm   //创建jvm 目录用于安装jdk  
cd /usr/local   //进入jdk包安放目录准备解压jdk包
sudo tar -zxvf jdk-8u40-linux-x64.gz -C /usr/lib/jvm  //解压jdk到指定路径

vim /etc/profile   //配置环境变量
//在配置文件末尾添加以下内容
#Set Java Environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_40   //你安装jdk的绝对路径
export PATH=$PATH:$JAVA_HOME/bin

#source /etc/profile  //激活环境变量
#java -version   //查看jdk是否安装成

  jdk环境配置如下图:   

 

命令解析:解压命令 -zxvf  中 z 表示有gzip属性的,x 表示解压,v 用于显示所有解压过程,f 后面跟档案名即需解压包名,切记,f 参数必须是最后一个,其后面只能接包名。-C 用于指定解压路径。

查看jdk环境是否配置成功

三、安装 SSH 服务

rpm –qa | grep openssh  //查看系统是否已有ssh
//或使用命令 rpm -qa | grep ssh
//或 rpm -qa | grep -E "openssh"
rpm –qa | grep rsync    //查看系统是否已有rsync工具

 

查看没有SSH服务时,使用以下命令进行安装

sudo yum -y install openssh*   #安装SSH协议
sudo yum -y install ssh* 
sudo yum -y install rsync  #安装 rsync 工具
systemctl restart  sshd.service  #启动服务

 其中 rsync 是一个文件传输、远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。

安装后再次查看 结果如下图:

四、配置 ssh 无密码登录

ssh-keygen -t rsa  -P '' -f ~/.ssh/id_rsa   //免密登陆设置(注意 P 大写)
cat  ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys    //将公约添加至...keys文件中
ssh  localhost       //验证登录本机是否需要密码

 命令解析:第一行命令用于产生秘钥,-t(type)表示加密类型,rsa是对称加密,若是dsa为整数加密;-P表示密码,空字符串表示不使用密码,-f(file)表示生成秘钥放在哪个文件中。
第二行命令用于把生成的(公钥和私钥)中的公钥(.pub)放到需要无密码免登录的账户中,其中authorized_keys不能更改

如果直接登录不需要密码,则说明设置成功,如下图所示: 

五、安装 hadoop

hadoop 安装包传输同 jdk包的传输,这里不再做赘述。

sudo tar -zxvf hadoop-2.7.3.tar.gz -C /sur/local  //解压hadoop到指定目录
mv hadoop-2.7.3 /usr/local/hadoop  //用于将解压好的hadoop转移到公共目录,mv(move)
ll /usr/local/hadoop  //查看hadoop文件

vim /etc/profile  //配置hadoop环境
 //在配置文件末尾加入以下内容
#Hadoop
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0-40
export HADOOP_HOME=/usr/local/hadoop   //配置hadoop路径
export PATH=$PATH:$HADOOP_HOME/bin     //调用系统环境并声明
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
//保存退出

source  /etc/profile   //声明环境变量并使其生效

六、hadoop 文件配置

1、创建三个文件夹,用于存储 DataNode 和 NameNode 数据

sudo mkdir -p  /usr/local/hadoop/tmp 
sudo mkdir -p  /usr/local/hadoop/hdfs/namenode
sudo mkdir -p  /usr/local/hadoop/hdfs/datanode

命令解析:其中 mkdir用于创建文件或目录; -p(parents)表示创建的是目录,若没有此目录,则按照后面路径创建下去,多余创建级联目录。

2、修改配置 hadoop-env.sh

cd /usr/local/hdoop
vim etc/hadoop/hadoop-env.sh  //进入配置文件
//修改为以下内容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0-40/jre
export HADOOP_HOME=/usr/local/hadoop

修改位置如下图:

3、修改配置 core-site.xml

vim etc/hadoop/core-site.xml   //进入配置文件

//在<configuration> </configuration>标签中添加如下代码
<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value> file:/usr/local/hadoop/tmp</value>
</property>

添加位置如下图,以下步骤添加内容的位置同上

4、修改配置 yarn-site.xml

yarn-site 文件存储的是管理程序、资源管理如CPU资源、内存资源等

vim etc/hadoop/yarn-site.xml   //进入配置文件

//在<configuration> </configuration>标签中添加如下代码
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>hadoop</value>
</property>

 5、修改配置 mapred-site.xml

vim etc/hadoop/mapred-site.xml   //进入配置文件

//在<configuration> </configuration>标签中添加如下代码
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

6、修改配置 hdfs-site.xml

vim etc/hadoop/hdfs-site.xml  //进入配置文件

//在<configuration> </configuration>标签中添加如下代码
<property>
  <name>dfs.replication</name>
  <value>2</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value> file:/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value> file:/usr/local/hadoop/hdfs/datanode</value>
</property>

7、格式化 HDFS 目录 

chown <用户名> : <组名> -R /usr/local/hadoop
# 以下例如填root,但这样设置,start-dfs.sh时会报错,修改下start-dfs.sh等配置文件即可,后续会说明如何修改。
chown root:root -R /usr/local/hadoop  
hadoop namenode -format  //用于格式化

//若格式化失败,进入hadoop的bin目录下再执行格式化的命令
cd /usr/local/hadoop/hadoop/bin
hadoop namenode -format

命令解析:其中chown用于授权,参数-R表示对当前目录下的所有档案与子目录进行相同的拥有者变更权限;最后一行代码中 -format用于格式化,会初始化namenode中一些文件和目录 。

七、启动 Hadoop

1、命令行启动 hadoop

[root@cMaster ~]# start-dfs.sh
[root@cMaster ~]# start-yarn.sh
或 [root@cMaster ~]# start-all.sh

[root@cMaster ~]# jps

启动hadoop后,使用jps命令检测是否启动成功,若出现如下图6个节点则启动成功,否则查看之前配置文件的修改是否有误。 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值