说明:
( 1) 1个文件会被拆分成多个(默认3份)Block,每个Block 默认128M
(2)
a. NameNode:负责客户端请求的响应、负责元数据(文件的名称、副本系数、Block存放的DN)的管理
b.DataNode:存储用户的文件对应的数据块(Block)、要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况
步骤:
【1】安装jdk
下载
并解压到app目录:tar -zxvf jdk-8u171-linux-x64.tar.gz -C /www/instl
配置到系统环境变量(/etc/profile)中
export JAVA_HOME=/www/instl/jdk/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
|
生效 source /etc/profile
验证安装是否成功:java -version
【2】 下载并解压Hadoop到/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0
[root@dnsdomainname /]# tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C /www/instl/hadoop/
|
配置到系统环境变量(/etc/profile)中
export HADOOP_HOME=/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0
export PATH=$
HADOOP_HOME
/bin:$PATH
|
生效 source /etc/profile
【3】安装ssh并免密码登录(一路回车)
[root@dnsdomainname /]#
sudo yum install ssh
[root@dnsdomainname /]#
ssh-keygen -t rsa
[root@dnsdomainname /]# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
|
【4】机器参数设置
hostname: hadoop000
a. 修改机器名: /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop000
|
b. 设置ip和hostname的映射关系: /etc/hosts
172.21.0.16 hadoop000
127.0.0.1 localhost
|
source 使之生效
【6】Hadoop配置文件修改: /www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/etc/hadoop
hadoop-env.sh
export JAVA_HOME=/www/instl/jdk/jdk1.8.0_171 |
core-site.xml
<property>
<name>fs.defaultFS</name>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/www/instl/hadoop/tmp</value>
</property>
|
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
|
【7】格式化HDFS
注意:这一步操作,只是在第一次时执行,每次如果都格式化的话,那么HDFS上的数据就会被清空。在/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/bin 下
[root@dnsdomainname bin]# ./hdfs namenode -format
|
【8】启动HDFS。
在 /www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/sbin 下
[root@dnsdomainname sbin]# ./start-dfs.sh
|
【9】 验证是否启动成功:
(1)方式1:命令 : jps
。
存在三个节点进程即成功DataNode、
SecondaryNameNode、
NameNode
(2)方式2:
浏览器:
http://hadoop000:50070/
【10】停止HDFS
在/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/sbin 下
[root@dnsdomainname sbin]# ./stop-dfs.sh
|
三、Yarn 服务
三、版本配置引入
安装hadoop启动之后总有警告:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
原因1: Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。(该警告可忽略)
解决方法步骤:
1、首先找到对应自己hadoop版本的64位的lib包,可以自己手动去编译,但比较麻烦,也可以去网上找,好多都有已经编译好了的。
3、将准备好的64位的lib包解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下:
4、
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
|
原因2:warning解决产生这个warning的原因是apache hadoop2.7需要使用2.1.4的glibc而我们云主机操作系统的lib是2.1.2
解决方法步骤:
1. # ll /lib64/libc.so.6 //查看当前系统glibc版本
$ export HADOOP_ROOT_LOGGER=DEBUG,console
hadoop fs -ls /
此事会输出debug信息,看到warning找出hadoop需要的glibc版本
2. 找到对应版本的glibc,下载对应版本的glibc安装
3、配置命令
[root@node1 ~]# export CFLAGS="-g -O2"
[root@node1 ~]# ./glibc-2.14.1/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@node1 ~]# make
[root@node1 ~]# make install
|