一个偶然的机会,让我进了hadoop这个坑。我不得不说,Google真是个非常厉害的公司。为计算机行业贡献了很多亮瞎双眼额技术。初入Hadoop一般都要了解HDFS,YARN,Mapreduce。

现在来总结一下Hadoop分布式集群的搭建过程。

1.首先准备好相应的安装包,同时在你的服务器上配置好jdk。

hadoop伪分布式 厦门 hadoop伪分布式心得_hadoop伪分布式 厦门

完成后通过tar -zxvf jdk.tar.gz(文件名)进行解压
进入jdk 目录 输入pwd 得到当前路径拷贝下来。
使用命令vi /etc/profile 命令配置jdk

在文件的末尾 添加上

export JAVA_HOME=/apps/adf/java/jdk版本号
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后使用 source   /etc/profile  使配置文件生效
输入java  -version  如果能输出的配置成功不能输出成功代表注册失败

配置成功后,一方面可以执行 echo $JAVA_HOME 测试一下,看看路径是否正确。接下来可以将hadoop的压缩包解压。然后对其内部一些文件进行配置。

2.配置

1.配置host:

vi /etc/hosts
192.168.1.221 hadoop
vi /etc/sysconfig/network
NETWORKING=yes

HOSTNAME=hadoop(修改为 ip对应的名字)

重启一次服务器

这里很容易出错的。

2.配置ssh

sudo yum install ssh
ssh-keygen -t rsa
将公钥移动到另一个地方
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

主执行完上述三条命令后 可以ssh 自身的hostname 测试

3.修改其余配置

要修改下面几个文件

1.core-site.xml

添加:

<property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop:8020</value>
   </property>

2.hdfs-site.xml

<property>
          <name>dfs.replication</name>
          <value>1</value>
     </property>
      <property>
          <name>dfs.name.dir</name>
          <value>/home/hadoop/app/namenode</value>
     </property>
     <property>
          <name>dfs.data.dir</name>
          <value>/home/hadoop/app/datanode</value>
     </property>
     <property>
          <name>dfs.tmp.dir</name>
          <value>/home/hadoop/app/tmp</value>
     </property>

3.mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        </property>

4.yarn-site.xml

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


3.启动

格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format

启动Hadoop守护进程:
$ bin/start-all.sh

启动后,使用jps命令查看是否启动 namenode,datanode,secondarynamenode。这三个进程,缺一不可。

jps
		4230 SecondaryNameNode
		5530 Jps
		5306 DataNode
		3947 NameNode



也可以通过网页访问:http://hadoop:50070(这里的hadoop我是用的是我的阿里云服务器的公网)

4.停止hdfs
    sbin目录下  ./stop-dfs.sh



当然这其中肯定会报很多次错误。比如,上面的三个进程有时候会缺失,需要你学会去看日志。