南大通用GBase 8a MPP Cluster数据加载HDFS服务器配置介绍
今天给大家介绍下HDFS服务器配置,前文参考:
https://www.gbase.cn/community/post/4391
HTTP文件服务器配置介绍
https://www.gbase.cn/community/post/4397
使用Apache Hadoop 2.6.0搭建HDFS服务器
1)Hadoop集群环境准备
操作系统用户:gbase
集群各节点间的ssh互信已建立。
集群已配置C3工具。
开源产品版本:
Apache Hadoop 2.6.0
JVM 1.6或1.7版本
示例:
IP | 主机名 | 功能 |
192.168.10.114 | ch-10-114 | NameNode, DataNode |
192.168.10.115 | ch-10-115 | DataNode |
192.168.10.116 | ch-10-116 | DataNode |
2)主机名配置
各节点的主机名需要正确配置,以192.168.10.114节点示例如下,其他节点直接拷贝该配置即可。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.114 ch-10-114
192.168.10.115 ch-10-115
192.168.10.116 ch-10-116
注意:第一行如果配置成如下形式是错误的,安装完成后会出现Hadoop的Datanode无法连接Namenode的情况。
127.0.0.1 ch-10-114 localhost localhost.localdomain localhost4 localhost4.localdomain4
如果集群中没有DNS服务器可以解析Hadoop的Namenode和Datanode的主机名,则需要在每个执行加载任务的coordinator节点,以及集群中的每个data节点上,都要配置/etc/hosts文件,在其中加入如上Hadoop的Namenode和Datanode的IP地址和主机名映射。如未配置/etc/hosts文件,执行加载HDFS服务器上文件时,会报类似“Couldn't resolve host name”字样的错误。
检查方法:
- 通过jps查看,发现DataNode已经启动,但是检查DataNode上的日志,发现DataNode在不断尝试连接NameNode节点的9000端口(HDFS的RPC端口)。
- 在NameNode节点执行netstat -an,看到如下信息:
$ netstat -an | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
错误原因:TCP监听的IP是127.0.0.1,导致只有本机能够连接到9000端口。原因是NameNode的/etc/hosts文件配置错误。
解决办法:去掉第一行的红色字体(ch-10-114),或者将第一行内容后置均可。
192.168.10.114 ch-10-114
192.168.10.115 ch-10-115
192.168.10.116 ch-10-116
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
重启HDFS,再次用netstat -an | grep 9000查看,端口和IP正确。
$ netstat -an | grep 9000
tcp 0 0 192.168.10.114:9000 0.0.0.0:* LISTEN
3)目录规划
目录 | 用途 |
/home/gbase/bin | 放置Hadoop生态系统,包括Hadoop等 |
/home/gbase/hdfs | 放置HDFS文件,包括tmp、name、data |
添加环境变量${HADOOP_HOME}
$ echo “export HADOOP_HOME=/home/gbase/bin/Hadoop-2.6.0”>> ~/.bashrc
$. ~/.bashrc
注意:下文中的${HADOOP_HOME}指/home/gbase/bin/Hadoop-2.6.0
4)准备Hadoop 2.6.0
把hadoop-2.6.0.tar.gz解压到各节点的/home/gbase/bin。
$ tar xfz hadoop-2.6.0.tar.gz -C /home/gbase/bin
5)配置hadoop-env.sh
文件路径:
${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
$ cd ${HADOOP_HOME}
$ vi etc/hadoop/hadoop-env.sh
Name node和Data node均按如下配置。
把export JAVA_HOME=$JAVA_HOME修改为:
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
把export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}修改为:
export HADOOP_CONF_DIR=/home/gbase/bin/hadoop-2.6.0/etc/hadoop
6)配置core-site.xml文件
文件路径:${HADOOP_HOME}/etc/hadoop/core-site.xml
$ cd ${HADOOP_HOME}
$ vi etc/hadoop/core-site.xml
Name node和Data node均按如下配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://ch-10-114:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/gbase/hdfs/tmp</value>
</property>
</configuration>
7)配置hdfs-site.xml
文件路径:
${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
$ cd ${HADOOP_HOME}
$ vi etc/hadoop/hdfs-site.xml
Name node配置
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:/home/gbase/hdfs/name</value>
<description>name node dir </description>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
Data Node配置
<configuration>
<property>
<name>dfs.data.dir</name>
<value>file:/home/gbase/hdfs/data</value>
<description>data node dir</description>
</property>
</configuration>
8)配置Masters和Slaves
文件路径:
${HADOOP_HOME}/etc/hadoop/masters
${HADOOP_HOME}/etc/hadoop/slaves
只需要在NameNode节点配置即可。
$ cd ${HADOOP_HOME}
$ vi etc/hadoop/masters
${HADOOP_HOME}/etc/hadoop/masters文件内容
ch-10-114
$ cd ${HADOOP_HOME}
$ vi etc/hadoop/slaves
${HADOOP_HOME}/etc/hadoop/slaves文件内容
ch-10-114
ch-10-115
ch-10-116
9)格式化NameNode
NameNode的格式化需要在启动HDFS之前进行。
$ cexec rm -fr /home/gbase/hdfs/*
$ cd ${HADOOP_HOME}
$ bin/hdfs namenode -format
10)启动HDFS
$ cd ${HADOOP_HOME}
$ sbin/start-dfs.sh
启动完毕后,通过jps检查各节点的进程,如下即为正确启动了。
$ cexec jps
************************* test *************************
--------- 192.168.10.114---------
31318 SecondaryNameNode
31133 NameNode
31554 Jps
--------- 192.168.10.115---------
10835 DataNode
11000 Jps
--------- 192.168.10.116---------
10145 DataNode
10317 Jps
11)停止HDFS
$ cd ${HADOOP_HOME}
$ sbin/stop-dfs.sh
评论


热门帖子
- 12023-05-09浏览数:16501
- 22019-04-26浏览数:10172
- 32020-05-11浏览数:10038
- 42023-07-04浏览数:9390
- 52023-09-25浏览数:9190