配置hadoop集群服务之三

hadoop单点搭建步骤详解:

1、讲解之前,说说HDFS的三大核心组件,NameNode,DataNode,MapReduce;

HDFS的三个节点:NamenodeDatanodeSecondary Namenode

Namenode:HDFS的守护进程,用来管理文件系统的命名空间,负责记录文件是如何分割成数据块,以及这些数据块分别被存储到那些数据节点上,它的主要功能是对内存及IO进行集中管理。

Datanode:文件系统的工作节点,根据需要存储和检索数据块,并且定期向Namenode发送他们所存储的块的列表。

Secondary Namenode:辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。

 

tip:

守护进程:一个在后台运行并且不受任何终端控制的进程。Unix操作系统有很多典型的守护进程(其数目根据需要或20—50不等),它们在后台运行,执行不同的管理任务。

 

2配置路径:/data/cloud/deploy/src/hadoop-2.7.3

解压完之后:

进入Hadoop文件:

bin:调用hadoop命令

etc:配置文件

sbin:启动角色

 

在配置文件之前,可以先去官网下载一下hadoop,spark,hive这三个我们要用到的文件,然后进行解压;

我创建的路径为/data/cloud/deploy/src/hadoop-2.7.3;

为了方便启动,做一个软连接:   

cd /data/cloud/deploy/src/hadoop-2.7.3

mkdir cloud

ln -s /data/cloud/deploy/src/hadoop-2.7.3/sbin  hadoop

ln -s /data/cloud/deploy/src/apache-hive-1.2.1-bin/  hive

ln -s /data/cloud/deploy/src/spark-1.6.0-bin-hadoop2.6/  spark

 

 

3、安装jdk包之后,配置所有环境变量:

vim /etc/profile

 

(1)三个变量java_home、Hadoop_home、Class_Path的配置

JAVA_HOME=/usr/local/jdk

HADOOP_HOME=/usr/local/cloud/hadoop

CLADD_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

export JAVA_HOME HADOOP_HOME

 

 

(2)hive的设置

## Hive profile set

export HIVE_HOME=/usr/local/cloud/hive

export HIVE_CONF=$HIVE_HOME/conf

export PATH=$HIVE_HOME/bin:$PATH

 

 

(3)spark的设置

## Spark profile set

export SPARK_HOME=/usr/local/cloud/spark

export SPARK_CONF_DIR=$SPARK_HOME/conf

export PATH=$SPARK_HOME/bin:$PATH

 

配置完以后:

source /etc/profile

 

 

4、修改hadoop下的文件:

文件路径:/data/cloud/deploy/src/hadoop-2.7.3/etc/hadoop/

 

(1)配置core-site.xml

修改value:

作用:用于指定namenode的地址

hdfs://haoxintest1.master.chx.com:8020

 

(2)配置hdfs-site.xml

作用:指定namenode和datanode的数据存储物理地址

修改value值:haoxintest1.master.chx.com:8020

 

(3)配置mapred-site.xml

作用:<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上-->

修改value值:hdfs://haoxintest1.master.chx.com:8020

 

(4)配置yarn-site.xml

作用:客户端对ResourceManager主机通过 host:port 提交作业。

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>haoxintest1:8032</value>

    </property>

作用:ApplicationMasters 通过ResourceManager主机访问host:port跟踪调度程序获资源。

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>haoxintest1:8030</value>

    </property>

作用:NodeManagers通过ResourceManager主机访问host:port

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>haoxintest1:8031</value>

    </property>

作用:ResourceManager web页面host:port.

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>haoxintest1:8088</value>

    </property>

 

5、Vim Hadoop-env.sh

export JAVA_HOME=/usr/local/jdk

 

创建 mkdir   /var/log/hadoop

 

6、创建spark用户:

useradd spark 

visudo:配置spark用户的sudo权限

 

visudo. 

配置sudo权限:

root下面配置

spark ALL=(ALL)  NOPASSWD:ALL

 

reboot 重启一下机器,使得spark用户能够免密登陆

 

7、更改宿主和权限:

chown -R spark:spark cloud

 

8、在sbin启动hadoop:

su spark

./start-all.sh

 

 

 

 

9、(修改spark密码)登录spark

passed spark

在启动namenode进程之前,最好格式化一下;

hadoop namenode -format

./hadoop-daemon.sh start datanode  

 

总结Tip:

1、jps类似于linux里面的ps aux;

2、sbin这个文件夹下面是启动所有脚本文件命令所在的文件夹;

例如:启动数据节点:

./hadoop-daemon.sh start datanode

 

 

到此hadoop配置、启动完毕

 

 

 

碰到过的坑:

 

1、hadoop已经做了软链接,为什么还是执行不了?

权限所属问题不对

如果权限所属问题也改了,还是不能执行,可以有个终极解决办法:

在如下路径编辑一个脚本文件,然后重启就可以了

Sudo vim /etc/profile.d/hadoop.sh

内容如下:

# set hadoop

export HADOOP_HOME=/usr/local/cloud/hadoop

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

export HADOOP_CONF_DIR=/usr/local/cloud/hadoop/etc/hadoop

export YARN_CONF_DIR=/usr/local/cloud/hadoop/etc/hadoop

 

 

 

猜你喜欢

转载自www.cnblogs.com/haoxinchen/p/9326946.html