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相关配置



    
    
        fs.defaultFS
        hdfs://luozheng.bigdata:9000
    

    
    
        hadoop.tmp.dir
        /home/luozheng/hadoop/tmp
    
    
    
    
        fs.trash.interval
        10080
    
    
    
    
        io.file.buffer.size
        4096
    
    

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



    
    
    
        dfs.namenode.secondary.http-address
        luozheng.bigdata2:9868
    



works:配置datanode节点服务器

luozheng.bigdata
luozheng.bigdata1
luozheng.bigdata2

配置yarn的resourcemanager




    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
    
        yarn.resourcemanager.hostname
        luozheng.bigdata1
    
    
    
    
    
        yarn.nodemanager.env-whitelist
        JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
    
    
    
        yarn.log-aggregation-enable
        true
    
    
    
        yarn.log-aggregation.retain-seconds
        604800
    


配置mapreducer的historyserver:



    
        mapreduce.jobhistory.address
        luozheng.bigdata:10020
    
    
    
        mapreduce.framework.name
        yarn
    
    
    
        mapreduce.framework.name
        yarn
    
    

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指令登录到其他两台服务器就不要输入密码了。


hadoop分布式部署_第1张图片
image.png

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


hadoop分布式部署_第2张图片
image.png

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


hadoop分布式部署_第3张图片
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 [email protected]:~/tools/
scp -r hadoop-3.0.1 [email protected]:~/tools/
7、hadoop hdfs启动
hadoop分布式部署_第4张图片
image.png
hadoop分布式部署_第5张图片
image.png
hadoop分布式部署_第6张图片
image.png

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

hadoop分布式部署_第7张图片
image.png

hadoop分布式部署_第8张图片
image.png

你可能感兴趣的:(hadoop分布式部署)