Hadoop伪分布式配置

一步一步来:

安装VMWARE简单,安装CentOS也简单

但是,碰到了一个问题:安装的虚拟机没有图形化界面

最后,我选择了CentOS-7-x86_64-DVD-1503-01.iso镜像

配置用户名就是centos

成功安装了带有图像化界面的CentOS7

注意:这个是64位的操作系统,建议配置2G以上内存,处理器为4,要不然卡爆你

 

接下来就是安装JDK

安装完VMTOOLS发现还是无法直接从主机复制过去

(安装中途如果需要提权,不要用sudo,使用su命令,然后安装就行)

于是我利用共享文件夹的方式,不复杂

注意:共享文件夹的目录是:/mnt/hgfs

解压JDK:tar -xvzf jdk.....

然后根目录新建soft目录,用于安装各种软件

配置soft目录的权限:chown centos:centos /soft

创建符号链接:ln -s jdk..... /soft/jdk

验证安装的话:

CentOS自带JDK1.7的,我们需要cd到jdk的bin目录下,然后./java -version

 

配置环境变量:

vi /etc/profile

在最后两行加上:

export JAVA_HOME=/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin

生效:source /etc/profile

注意:如果没有生效,可以重启试一试

 

下面就是Hadoop的安装了:

类似上面说的,利用共享目录把压缩包从主机转移过来

然后,tar,mv到soft,设置符号链接为hadoop

验证是否安装成功:

cd到bin目录,./hadoop version即可

 

然后配置环境变量,类似上面:

export HADOOP_HOME=/soft/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后使用source命令生效

注意:有时候可能无效,多次重启或者source后基本就可以用了 

如果还是无法生效,可以尝试删除临时文件:rm /etc/.profile.tmp

 

最终验证成功:hadoop version

 

成功后,接下来就是配置Hadoop:

1.本地模式

配置方式:什么都不做

使用命令hdfs dfs -ls /

发现文件系统就是在本地

2.伪分布式

配置方式稍显复杂

这个目录是Hadoop的所有配置文件

 

配置core-site.xml:默认配置

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>                    
  <name>fs.defaultFS</name>
  <value>hdfs://localhost/</value>
 </property>
</configuration>

 

配置hdfs-site.xml:配置为一个副本,即没有备份

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
  <name>dfs.replication</name>
  <value>1</value>
 </property>
</configuration>

 

配置mapred-site.xml:配置yarn框架

配置时候注意:只有mapred-site.xml.templete文件,我们要cp一份重命名为mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
</configuration>

 

配置yarn-site.xml:默认配置

<?xml version="1.0"?>
<configuration>
 <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>localhost</value>
 </property>
 <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
 </property>
</configuration>

 

配置SSH:

密码登陆在分布式中过于复杂,应该用无密登陆方式

这里使用openssh

查看系统是否已经安装:

 

发现系统已经默认安装了,我们不需要自己装

 

查看进程是否启动:启动

 

生产公私密钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

 

在.ssh目录中就生成了公私密钥对

 

追加公钥:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

 

修改authorized_keys的权限为644:

chmod 644 authorized_keys

 

对了,这里有个问题,我是用root权限进行的配置,实际上,应该用centos用户进行配置

 

验证是否成功

ssh localhost:

 

到这里,伪分布式就完成了

用符号链接,使三种配置形态共存:

local文件夹作为本地模式的配置文件

不过之前已经修改过配置文件了,这时候只需要修改回来即可

将修改过的四个配置都写成下面这样:

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

 

然后复制一份pesudo作为伪分布式配置文件

复制一份full作为完全分布式配置文件

 

删除原来的配置文件rm -rf hadoop

 

现在我想启用伪分布式:

设置符号链接:ln -s pesudo hadoop

 

对HDFS进行格式化:

hadoop namenode -format

 

启动hadoop:

由于之前已经配置过环境变量了,这里就不需要到sbin目录下

start-all.sh

但是,我们发现报错:没有找到JAVA_HOME

之前我有过配置JAVA_HOME,为什么这里报错呢?和CentOS系统有一定的关系

所以我们需要修改一个配置文件

hadoop安装目录/etc/hadoop/hadoop-env.sh

找到$JAVA_HOME这一行,然后写死:export JAVA_HOME=/soft/jdk

 

接下来就可以运行了

验证成功运行:查看运行的进程

 

查看hdfs文件系统:

hdfs dfs -ls /

如果返回空,说明正常,因为我们没有修改文件系统

创建目录:

hdfs dfs -mkdir -p /user/centos/hadoop

通过浏览器查看hadoop文件系统:

http://localhost:50070

 

停止hadoop:

stop-all.sh 

转载于:https://www.cnblogs.com/xuyiqing/p/10506981.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值