Linux下原生hadoop集群的搭建

本文提供了一个Apache Hadoop 3.x版本在CentOS 6.6环境下的安装配置流程,包括JDK环境搭建、SSH免密设置、配置文件修改等关键步骤,特别针对启动异常情况给出了具体的解决方案。
简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好:

==================================================================================

1 ) 安装JDK并配置环境变量(/etc/profile)

2) 关闭防火墙

3) 配置hosts文件,方便hadoop通过主机名访问(/etc/hosts)

4) 设置ssh免密码登录

5) 解压缩hadoop安装包,并配置环境变量

6) 修改配置文件( $HADOOP_HOME/conf )

hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml

7) 格式化hdfs文件系统 (hadoop namenode -format)

8) 启动hadoop ( $HADOOP_HOME/bin/start-all.sh )

9) 使用jps查看进程

 

 

备注:本篇仅供参考,很长时间没有安装过原生的hadoop,2.x版本安装很简单,换到3.x版本出了些小问题,但是区别不大,注意下就行

环境:

CentOS6.6

JDK:8u141

Zookeeper:3.4.6

Hadoop:3.1.1

安装之前需要配置好JAVA_HOME,关闭防火墙,配置节点之间的免密登录;

 

一、下载、上传、解压hadoop(略)

二、修改配置文件

cd hadoop-3.1.1/etc/hadoop/

#修改以下几个配置文件

core-site.xml
hadoop-env.sh
hdfs-site.xml
mapred-env.sh
yarn-env.sh
yarn-site.xml


#core-site.xml 配置文件的修改
#指定hdfs的namenode地址
<configuration>
     <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node04:9000</value>
     </property>
</configuration>

#hadoop-env.sh 配置文件的修改

 export JAVA_HOME=/usr/local/apps/jdk1.8.0_141
 export HADOOP_HOME=/usr/local/apps/hadoop-3.1.1
 export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

#hdfs-site.xml 配置文件的修改
 
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/data/hdp/name/</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/data/hdp/data</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node05:50090</value>
</property>

三、拷贝修改的配置文件到其他节点

[root@node04 hadoop]# scp -r * node05:$PWD
[root@node04 hadoop]# scp -r * node06:$PWD

四、配置hadoop的环境变量

export JAVA_HOME=/usr/local/apps/jdk1.8.0_141

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

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

export HADOOP_HOME=/usr/local/apps/hadoop-3.1.1

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


#保存复制到其他节点,source一下

五、初始化hadoop元数据目录

hadoop namenode -format

	创建一个全新的元数据存储目录
	生成记录元数据的文件fsimage
	生成集群的相关标识:如:集群id——clusterID

六、启动集群

start-dfs.sh

七、启动异常

Starting namenodes on [node05]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [node05]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
2018-08-13 18:45:29,752 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

在hadoop2.x版本安装时没有出现这个,按照报错的提示这是用户权限问题导致,另外,在之前的版本中 etc/hadoop中有slaves文件用来配置datanode这些非master节点,但在新的版本中去掉了这个文件,多了workes文件,操作方法都一样,都是在文件里面添加上需要启动的datanode节点,上面的异常解决办法:

在/hadoop/sbin路径下: 
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh,stop-yarn.sh顶部也需添加以下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

八、重新启动即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值