hadoop分布式部署

1、模拟搭建3个节点的分布式运行环境
2、每个服务器搭建需要配置项

为每个服务器配置好相应的主机名、静态IP地址、修改网卡名等、
主机名修改:
/etc/hostname

luozheng.bigdata1

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=luozheng.bigdata1

配置hosts,使3个服务器之间能够互联:/etc/hosts

192.168.211.129 luozheng.bigdata
192.168.211.131 luozheng.bigdata1
192.168.211.133 luozheng.bigdata2

修改网卡名:/etc/udev/rules.d/70-persistent-ipoib.rules

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="32", ATTR{address}=="00:50:56:31:2B:D6", NAME="eth0"

配置静态IP地址:/etc/sysconfig/network-scripts/ifcfg-eth0
centos7在安装完后,原来网卡名不是叫eth0,而是叫ens33,这个怎么重命名百度下就可以。

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
##BOOTPROTO="dhcp"
BOOTPROTO="static" ###这个改成static
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="75c3b0c8-4560-48f4-a161-7eca30e74e2a"
DEVICE="eth0"
ONBOOT="yes" ####
IPADDR="192.168.211.131"
GATEWAY="192.168.211.2"
NETMASK="255.255.255.0"
HWADDR="00:50:56:31:2B:D6"

配置完这些后,重启下机器就可以了。

3、服务在节点上分配:
luozheng.bigdata luozheng.bigdata1 luozheng.bigdata2
DataNode DataNode DataNode
NameNode / /
/ / SecondaryNameNode
/ ResourceManager /
NodeManager NodeManager NodeManager
JobHistoryServer / /
4、hadoop配置文件修改

在配置之前,切记切记,hadoop相关软件、路径在每台服务器上是一致的!!!!!
在配置之前,切记切记,hadoop相关软件、路径在每台服务器上是一致的!!!!!
在配置之前,切记切记,hadoop相关软件、路径在每台服务器上是一致的!!!!!

节点luozheng.bigdata HDFS配置:
hadoop-env.sh,主要配置java环境变量和hadoop路径

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/home/luozheng/tools/jdk1.8.0_171

# Location of Hadoop.  By default, Hadoop will attempt to determine
# this location based upon its execution path.
export HADOOP_HOME=/home/luozheng/tools/hadoop-3.0.1

# Location of Hadoop's configuration information.  i.e., where this
# file is living. If this is not defined, Hadoop will attempt to
# locate it based upon its execution path.
#
# NOTE: It is recommend that this variable not be set here but in
# /etc/profile.d or equivalent.  Some options (such as
# --config) may react strangely otherwise.
#
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

core-site.xml配置:namenode相关配置

<configuration>

    <!-- namenode 服务器地址配置   -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://luozheng.bigdata:9000</value>
    </property>

    <!-- 临时文件存储地址 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/luozheng/hadoop/tmp</value>
    </property>
    
    <!-- 配置垃圾回收站中文件保存时间-->
    <property>
        <name>fs.trash.interval</name>
        <value>10080</value>
    </property>
    
    <!-- 配置读写文件缓冲区大小 -->
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
    
</configuration>

hdfs-site.xml:配置secondaryNameNode进程运行所在服务器

<configuration>

    
    <!-- secondary namenode 进程运行服务器 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>luozheng.bigdata2:9868</value>
    </property>


</configuration>

works:配置datanode节点服务器

luozheng.bigdata
luozheng.bigdata1
luozheng.bigdata2

配置yarn的resourcemanager

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>luozheng.bigdata1</value>
    </property>
    
    <!--
    <property>
        <name>yarn.nodemanager.hostname</name>
        <value>luozheng.bigdata</value>
    </property>
    -->
    
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

</configuration>

配置mapreducer的historyserver:

<configuration>

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>luozheng.bigdata:10020</value>
    </property>
    
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!--
    <property>
        <name>mapreduce.jobhistory.cleaner.enable</name>
        <value>true</value>
    </property>
    
    <property>
        <name>mapreduce.jobhistory.cleaner.interval-ms</name>
        <value>604800000</value>
    </property>
    
    <property>
        <name>mapreduce.jobhistory.max-age-ms</name>
        <value>4233600000</value>
    </property>
    -->
</configuration>
5、ssh免密登录配置

因为namenode配置在服务器luozheng.bigdata,所以先来建立luozheng.bigdata到其他两台服务器之间的免密登录。
1)在luozheng.bigdata上通过如下命令来生成秘钥:

ssh-keygen -t rsa

执行完之后在~/.ssh目录下面应该可以看到以id开头的两个文件,一个公钥,一个私钥:

-rw-------. 1 root root 1675 4月  21 14:56 id_rsa
-rw-r--r--. 1 root root  408 4月  21 14:56 id_rsa.pub

我们把公钥id_rsa.pub拷贝一份,修改权限:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

2)通过ssh-copy-id指令把秘钥拷贝到其他两台机器上:

ssh-copy-id luozheng.bigdata1
ssh-copy-id luozheng.bigdata2

在配置完这些之后,通过ssh指令登录到其他两台服务器就不要输入密码了。


image.png

用同样的方式来建立resourcemanager到另外两台服务器之间的连接。


image.png

补充:这里加一个配置,使得终端能够显示出完整的用户名和hostname,主要是修改/etc/bashrc文件:


image.png

主要是加上下面这段:

  if [ "$PS1" ];then
      PS1="[\u@\H \W]\\$ "
  fi
6、hadoop文件分发到其他服务器

对于luozheng.bigdata这台服务器,hadoop相关配置已经完毕,在分发到其他服务器之前,先删除hadoop-3.0.1/share/doc这个文件夹,减少分发时间

scp -r hadoop-3.0.1 luozheng@luozheng.bigdata1:~/tools/
scp -r hadoop-3.0.1 luozheng@luozheng.bigdata2:~/tools/
7、hadoop hdfs启动
image.png
image.png
image.png

http:// luozheng.bigdata:9870/中也能看到相关信息:

image.png

image.png

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

推荐阅读更多精彩内容