Hadoop学习笔记三:全分布式搭建(Hadoop1.x)

本文记录学习过程,安装全分布式的Hadoop

服务器准备

使用VM快照克隆功能,克隆出4台网络已设置、防火墙关闭、SELINUX关闭、网卡和MAC的映射取消的机器,可参照【Linux学习笔记三:VM下配置模板机和克隆】https://www.jianshu.com/p/0310c24bda69

全分布分配方案.png

建立各节点通讯(hosts)

192.168.197.31    node01
192.168.197.32    node02
192.168.197.33    node03
192.168.197.34    node04

设置时间同步

date -s “xxxx-x-xx xx:xx:xx”

一、JDK安装

见【Hadoop学习笔记一:伪分布式搭建】

二、免密登录(node01可免密登录子节点)

目标:把node01秘钥分发给node02/node03/node04

1.node01配置免秘钥登录
步骤见【Hadoop学习笔记一:伪分布式搭建(第二节)】https://www.jianshu.com/p/adcc1286b21c

2.在每个节点上登录一下自己,产生.ssh目录

ssh localhost

3.从node01向node02/node03/node04分发公钥 (公钥的名称要变化)

scp  id_dsa.pub  node02:`pwd`/node01.pub

4.各节点把node01的公钥追加到认证文件里

cat ./node01.pub  >> ~/.ssh/authorized_keys

5.node02/node03/node04安装jdk环境,node01分发profile给其他节点,并重读配置文件

scp /etc/profile node02:/etc/

三、安装Hadoop

1.node01安装配置Hadoop

解压安装步骤见【Hadoop学习笔记一:伪分布式搭建(第三节)】https://www.jianshu.com/p/adcc1286b21c

与伪分布式不同的是,全分布式的配置如下

vi core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/sxt/hadoop/full</value>
    </property>
</configuration>
vi hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node02:50090</value>
    </property>
</configuration>
vi slaves

node02
node03
node04

2.node01分发hadoop部署程序到其他节点

# copy node01 下的 hadoop 为 hadoop-local (管理脚本只会读取hadoop目录)
cd /opt/
scp -r sxt/ node02:`pwd`/

给每个子结点服务器配置Hadoop环境变量

vi + /etc/profile

#修改环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

. /etc/profile

3.node01格式化HDFS

hdfs namenode -format
#查看生成的fsimage信息
cd /var/sxt/hadoop/full/dfs/name/current/

4.node01启动集群

#启动集群
start-dfs.sh
#查看生成信息
cd /var/sxt/hadoop/full/dfs/data/current/
cd /var/sxt/hadoop/full/dfs/namesecondary/current/

启动时候,三个角色以不同进程启动,提示如下:

Starting namenodes on [node01]
node01: starting namenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-namenode-node01.out
node03: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node03.out
node04: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node04.out
node02: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node02.out
Starting secondary namenodes [node02]
node02: starting secondarynamenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-node02.out

每个节点角色进程查看

jps

DataNode数据存放位置

cd /var/sxt/hadoop/full/dfs/data/current/BP-2048660256-192.168.197.31-1574775079156/current/finalized

5.浏览器查看

ss -nal

浏览器访问 http://node00:50070 (window里hosts文件要映射到192.168.197.30)

6.日志查看和停止集群

日志查看

cd /opt/sxt/hadoop-2.6.5/logs
#out是临时文件 log是最终文件
-rw-r--r-- 1 root root 27445 Nov 26 17:36 hadoop-root-datanode-node01.log
-rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-datanode-node01.out
-rw-r--r-- 1 root root 29081 Nov 26 17:41 hadoop-root-namenode-node01.log
-rw-r--r-- 1 root root  4908 Nov 26 17:27 hadoop-root-namenode-node01.out
-rw-r--r-- 1 root root 19750 Nov 26 17:13 hadoop-root-secondarynamenode-node01.log
-rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-secondarynamenode-node01.out
-rw-r--r-- 1 root root     0 Nov 26 17:13 SecurityAuth-root.audit

#查看日志
tail -100 hadoop-root-datanode-node01.log

停止集群

stop-dfs.sh 

7.上传文件

文件准备

cd ~/software
#生成一个1.6M的文本文件
for i in `seq 100000`;do  echo "hello sxt $i" >> test.txt;done

创建目录,上传文件并设置文件block大小

#命令查看
hdfs dfs

#创建目录
hdfs dfs  -mkdir -p  /user/root
#查看目录
hdfs dfs -ls   /

#上传文件
cd ~/software/
ls -lh ./

hdfs dfs -D dfs.blocksize=1048576 -put test.txt /user/root      

dfs.blocksize 属性可在官网查看默认大小 128M
https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

此时可到浏览器 Browse the file system 去查看文件

文件被切割成两个块,第一个1M,第二个0.6M


图片.png

注:图中Availability表示副本所在节点

可到DataNode节点去查看Block,文件的确被按照字节切开了

cd /var/sxt/hadoop/full/dfs/data/current/BP-2048660256-192.168.197.31-1574775079156/current/finalized/subdir0/subdir0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352