文档章节

centos7 搭建ha(高可用)hadoop集群

 孟敬哲
发布于 2017/07/22 17:35
字数 3112
阅读 22
收藏 0
点赞 0
评论 0

一台操作(开发)机器:centos 7 完全版安装的机器dev

要创建的五台虚拟机:NameNode1(nn1)、NameNode2(nn2)、DataNode1(dn1)、DataNode2(dn2)、DataNode3(dn3)

预想实现效果如下表:

主机 系统 ip地址 软件 进程
nn1 centos7 192.168.206.129 jdk8+,hadoop NameNode、DFSZKFailoverController(zkfc)、ResourceManager
nn2 centos7 192.168.206.130 jdk8+,hadoop NameNode、DFSZKFailoverController(zkfc)、ResourceManager
dn1 centos7 192.168.206.131 jdk8+,hadoop,zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
dn2 centos7 192.168.206.132 jdk8+,hadoop,zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
dn3 centos7 192.168.206.133 jdk8+,hadoop,zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain

开始安装:

一、主机防火墙和网络设置

在dev机器中创建set-net.sh脚本

#!/bin/bash
ssh root@192.168.203.138 << setnet
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld	
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "/^UUID.*/d" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR=192.168.203.121' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY=192.168.203.2' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1=202.106.0.20' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo nn1 > /etc/hostname
echo '192.168.203.121	nn1' >> /etc/hosts
echo '192.168.203.122	nn2' >> /etc/hosts
echo '192.168.203.123	dn1' >> /etc/hosts
echo '192.168.203.124	dn2' >> /etc/hosts
echo '192.168.203.125	dn3' >> /etc/hosts
shutdown -r
exit
setnet

ssh root@192.168.203.149 << setnet
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "/^UUID.*/d" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR=192.168.203.122' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY=192.168.203.2' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1=202.106.0.20' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo nn2 > /etc/hostname
echo '192.168.203.121	nn1' >> /etc/hosts
echo '192.168.203.122	nn2' >> /etc/hosts
echo '192.168.203.123	dn1' >> /etc/hosts
echo '192.168.203.124	dn2' >> /etc/hosts
echo '192.168.203.125	dn3' >> /etc/hosts
shutdown -r
exit
setnet

ssh root@192.168.203.147 << setnet
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "/^UUID.*/d" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR=192.168.203.123' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY=192.168.203.2' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1=202.106.0.20' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo dn1 > /etc/hostname
echo '192.168.203.121	nn1' >> /etc/hosts
echo '192.168.203.122	nn2' >> /etc/hosts
echo '192.168.203.123	dn1' >> /etc/hosts
echo '192.168.203.124	dn2' >> /etc/hosts
echo '192.168.203.125	dn3' >> /etc/hosts
shutdown -r
exit
setnet

ssh root@192.168.203.150 << setnet
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "/^UUID.*/d" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR=192.168.203.124' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY=192.168.203.2' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1=202.106.0.20' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo dn2 > /etc/hostname
echo '192.168.203.121	nn1' >> /etc/hosts
echo '192.168.203.122	nn2' >> /etc/hosts
echo '192.168.203.123	dn1' >> /etc/hosts
echo '192.168.203.124	dn2' >> /etc/hosts
echo '192.168.203.125	dn3' >> /etc/hosts
shutdown -r
exit
setnet

ssh root@192.168.203.148 << setnet
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "/^UUID.*/d" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR=192.168.203.125' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY=192.168.203.2' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1=202.106.0.20' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo dn3 > /etc/hostname
echo '192.168.203.121	nn1' >> /etc/hosts
echo '192.168.203.122	nn2' >> /etc/hosts
echo '192.168.203.123	dn1' >> /etc/hosts
echo '192.168.203.124	dn2' >> /etc/hosts
echo '192.168.203.125	dn3' >> /etc/hosts
shutdown -r
exit
setnet

更改.sh脚本的执行权限命令:chmod a+x set-net.sh

运行脚本,按提示输入要求代码。等待五台机器重启。

二、在所有机器上创建hadoop用户,并设置密码(我设置的密码是hadoop)

在dev机器中创建add-user.sh脚本

#!/bin/bash
ssh root@192.168.203.121 << addusershell
adduser -m hadoop -G root -s /bin/bash
echo "hadoop" | passwd hadoop --stdin
exit	
addusershell
ssh root@192.168.203.122 << addusershell
adduser -m hadoop -G root -s /bin/bash
echo "hadoop" | passwd hadoop --stdin
exit
addusershell
ssh root@192.168.203.123 << addusershell
adduser -m hadoop -G root -s /bin/bash
echo "hadoop" | passwd hadoop --stdin
exit
addusershell
ssh root@192.168.203.124 << addusershell
adduser -m hadoop -G root -s /bin/bash
echo "hadoop" | passwd hadoop --stdin
exit
addusershell
ssh root@192.168.203.125 << addusershell
adduser -m hadoop -G root -s /bin/bash
echo "hadoop" | passwd hadoop --stdin
exit
addusershell

使用Xshell登陆五台机器的hadoop用户。

三、ssh无密码登陆

实现如下功能:
nn1 ssh无密码登陆nn2、dn1、dn2、dn3
nn2 ssh无密码登陆nn1、dn1、dn2、dn3

nn1 ssh无密码登陆nn2、dn1、dn2、dn3:
输入命令检查每个虚拟机上是否安装了ssh和启动了sshd服务:
rpm -qa | grep ssh
ps aux | grep ssh

如上图,说明表示安装了。

在每个虚拟机上生成.ssh隐藏文件夹,执行命令:
ssh localhost

在nn1虚拟机上生成ssh密钥
cd .ssh
ssh-keygen -t rsa                                  #遇到提示一路回车就行
ll                                                            #会看到 id_rsa、id_rsa.pub两个文件,前为私钥,后为公钥
cat id_rsa.pub >> authorized_keys      #把公钥内容追加到authorized_keys文件中
chmod 600 authorized_keys                #修改文件权限,本条命令很重要,必须执行

输入命令:ssh localhost
测试nn1可以无密码登陆自己,不再提示输入密码,如果不能无密码登陆自己,检查少了上面那一步。
 
将nn1的公钥传送到其他四台机器上,实现nn1无密码登陆到所有机器上。在nn1的.ssh目录下创建keys.sh脚本:
#!/bin/bash
scp authorized_keys hadoop@192.168.203.122:~/.ssh/
scp authorized_keys hadoop@192.168.203.123:~/.ssh/
scp authorized_keys hadoop@192.168.203.124:~/.ssh/
scp authorized_keys hadoop@192.168.203.125:~/.ssh/

登陆到每个机器hadoop用户上执行:
cd ~/.ssh
chmod 600 authorized_keys

测试nn1 ssh登陆nn2、dn1、dn2、dn3观察是否需要输入密码,如果不需要则成功;否则失败,检查以上步骤。(注:第一次无密码登陆时需输入yes)

nn2 ssh无密码登陆nn1、dn1、dn2、dn3:
在nn2虚拟机上生成ssh密钥
cd .ssh
ssh-keygen -t rsa     #遇到提示一路回车就行
ll          #会看到 id_rsa、id_rsa.pub两个文件,前为私钥,后为公钥
cat id_rsa.pub >> authorized_keys  #把公钥内容追加到authorized_keys文件中
chmod 600 authorized_keys    #修改文件权限,本条命令很重要,必须执行

将nn2的公钥传送到其他四台机器上,实现nn1无密码登陆到所有机器上。在nn1的.ssh目录下创建keys.sh脚本:
#!/bin/bash
scp authorized_keys hadoop@nn1:~/.ssh/
scp authorized_keys hadoop@dn1:~/.ssh/
scp authorized_keys hadoop@dn2:~/.ssh/
scp authorized_keys hadoop@dn3:~/.ssh/

测试nn2 ssh登陆nn1、dn1、dn2、dn3观察是否需要输入密码,如果不需要则成功;否则失败,检查以上步骤。(注:第一次无密码登陆时需输入yes)

方法二(此方法操作更为简洁):

1、生成公钥和私钥,过程中会有一些提示选项,直接按回车,采用默认值便好

# ssh-keygen -t rsa

2、执行完上面的命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),将公钥拷贝到要免登陆的机器上:

# ssh-copy-id 192.168.203.122
# ssh-copy-id 192.168.203.123
# ssh-copy-id 192.168.203.124
# ssh-copy-id 192.168.203.125

3、这时会在相应的主机的~/.ssh/下产生一个名为authorized_keys的文件,这时通过 ssh 172.16.1.35(修改为相应的主机对应的IP) 时可以直接免密登陆进入主机。

、安装jdk、hadoop、zookeeper

1、在每台机器上登陆hadoop用户分别安装jdk。

使用xftp把jdk-8u121-Linux-x64.rpm传送到每个虚拟机上。使用Xftp将jdk的安装包上传到每台机器中(提示:一定要确定安装包正确!!!)。
使用下面代码安装 :

sudo yum -y install jdk-8u121-linux-x64.rpm

如果出现 hadoop 不在 sudoers 文件中这样的错误
可以使用两种途径解决 :

a:切换到root用户

su
yum -y install jdk-8u121-linux-x64.rpm

b:以后一劳永逸的做法

su
visudo

然后输入89 回车确认,添加如下代码

hadoop ALL=(ALL) ALL

注意:不是空格是制表符(Teb)

如图:

保存后退出 (先 esc 后输入 :wq 退出)。

之后退出root 就是输入exit 。

然后再执行:sudo yum -y install jdk-8u121-linux-x64.rpm

输入hadoop密码开始安装。

2、上面的安装方法太过麻烦,所以我将jdk、hadoop、zookeeper三个安装好的文件夹打包传到每台机器上,配置环境变量的时候写清即可。

2.1在dev中安装jdk、hadoop、zookeeper,并将安装好的文件夹压缩到一个ha-hadoop.tar.gz压缩包中

tar -zcf ha-hadoop.tar.gz hadoop-2.7.3 zookeeper-3.4.9 jdk1.8.0_121/

创建jhz-copy-install.sh脚本文件,将ha-hadoop.tar.gz压缩包传到每台机子上,并解压,脚本内容如下:

#!/bin/bash
scp ha-hadoop.tar.gz hadoop@192.168.203.121:~/
scp ha-hadoop.tar.gz hadoop@192.168.203.122:~/
scp ha-hadoop.tar.gz hadoop@192.168.203.123:~/
scp ha-hadoop.tar.gz hadoop@192.168.203.124:~/
scp ha-hadoop.tar.gz hadoop@192.168.203.125:~/

ssh 192.168.203.121 << a
tar -xzvf ha-hadoop.tar.gz
exit
a
ssh 192.168.203.122 << a
tar -xzvf ha-hadoop.tar.gz
exit
a
ssh 192.168.203.123 << b
tar -xzvf ha-hadoop.tar.gz
exit
b
ssh 192.168.203.124 << c
tar -xzvf ha-hadoop.tar.gz
exit
c
ssh 192.168.203.125 << d
tar -xzvf ha-hadoop.tar.gz
exit
d

按提示输入hadoop用户密码。

分别查看五台机器上面是否有解压好的文件。如果没有,可以在运行一次脚本。

2.2配置环境变量

在nn1中cd进入到jdk1.8.0_121文件中,用pwd命令查看路径,我的路径是/home/hadoop/jdk1.8.0_121。

在dev中创建path文件

gedit path

写入要配置的环境变量内容,注意JAVA_HOME的路径:

# Java Environment Variables
export JAVA_HOME=/home/hadoop/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

# Hadoop Environment Variables
export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

# Zookeeper Environment Variables
export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.9  
export PATH=$PATH:$ZOOKEEPER_HOME/bin

创建add-path.sh脚本文件,用来将path文件分别传到五台机器上,并将内容添加到.bashrc中,配置环境变量,脚本内容如下:

#!/bin/bash
scp path hadoop@192.168.203.121:~/
scp path hadoop@192.168.203.122:~/
scp path hadoop@192.168.203.123:~/
scp path hadoop@192.168.203.124:~/
scp path hadoop@192.168.203.125:~/
ssh 192.168.203.121 << a
cat path >> ~/.bashrc
exit
a
ssh 192.168.203.122 << a
cat path >> ~/.bashrc
exit
a
ssh 192.168.203.123 << a
cat path >> ~/.bashrc
exit
a
ssh 192.168.203.124 << a
cat path >> ~/.bashrc
exit
a
ssh 192.168.203.125 << a
cat path >> ~/.bashrc
exit
a

修改执行权限,运行脚本。

加载修改后的设置,使之立即生效,执行如下命令:

source ~/.bashrc

测试是否成功,执行:java -version 。五台机器都要测试。(我只测试了jdk环境变量是否成功)

五、hadoop ha(高可用)配置,在每个node上

/home/hadoop/hadoop-2.7.3/etc/hadoop 目录中,编辑如下5个文件:

1.core-site.xml

<configuration>

    <property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://cluster</value>  
    </property>  
    <property>  
        <name>hadoop.tmp.dir</name>  
        <value>/home/hadoop/hadoop-2.7.3/tmp</value>  
    </property>  
    <property>  
        <name>ha.zookeeper.quorum</name>  
        <value>dn1:2181,dn2:2181,dn3:2181</value>  
    </property> 
</configuration>

2.hdfs-site.xml

<configuration>

    <property>  
        <name>dfs.nameservices</name>  
        <value>cluster</value>  
    </property>  

    <property>  
        <name>dfs.ha.namenodes.cluster</name>  
        <value>nn1,nn2</value>  
    </property>

    <property>  
        <name>dfs.namenode.rpc-address.cluster.nn1</name>  
        <value>nn1:9000</value>  
    </property>  

    <property>  
        <name>dfs.namenode.http-address.cluster.nn1</name>  
        <value>nn1:50070</value>  
    </property>  

    <property>  
        <name>dfs.namenode.rpc-address.cluster.nn2</name>  
        <value>nn2:9000</value>  
    </property>  

    <property>  
        <name>dfs.namenode.http-address.cluster.nn2</name>  
        <value>nn2:50070</value>  
    </property>  

    <property>  
        <name>dfs.namenode.shared.edits.dir</name>  
        <value>qjournal://dn1:8485;dn2:8485;dn3:8485/cluster</value>  
    </property>  

    <property>  
        <name>dfs.journalnode.edits.dir</name>  
        <value>/home/hadoop/hadoop-2.7.3/journaldata</value>  
    </property>  

    <property>  
        <name>dfs.ha.automatic-failover.enabled</name>  
        <value>true</value>  
    </property>  

    <property>  
        <name>dfs.client.failover.proxy.provider.cluster</name>  
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  
    </property>  

    <property>  
        <name>dfs.ha.fencing.methods</name>  
        <value>  
            sshfence  
            shell(/bin/true)  
        </value>  
    </property>  

    <property>  
        <name>dfs.ha.fencing.ssh.private-key-files</name>  
        <value>/home/hadoop/.ssh/id_rsa</value>  
    </property>  

    <property>  
        <name>dfs.ha.fencing.ssh.connect-timeout</name>  
        <value>30000</value>  
    </property>  

</configuration>

3.mapred-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>nn1:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>nn1:19888</value>
        </property>
</configuration>

4.yarn-site.xml

<configuration>
<property>  
       <name>yarn.resourcemanager.ha.enabled</name>  
       <value>true</value>  
    </property>  

    <property>  
       <name>yarn.resourcemanager.cluster-id</name>  
       <value>yrc</value>  
    </property>  

    <property>  
       <name>yarn.resourcemanager.ha.rm-ids</name>  
       <value>rm1,rm2</value>  
    </property>  

    <property>  
       <name>yarn.resourcemanager.hostname.rm1</name>  
       <value>nn1</value>  
    </property>  
    <property>  
       <name>yarn.resourcemanager.hostname.rm2</name>  
       <value>nn2</value>  
    </property>  

    <property>  
       <name>yarn.resourcemanager.zk-address</name>  
       <value>dn1:2181,dn2:2181,dn3:2181</value>  
    </property>  
    <property>  
       <name>yarn.nodemanager.aux-services</name>  
       <value>mapreduce_shuffle</value>  
    </property> 
    </configuration>

5.slaves

dn1
dn2
dn3

六、zookeeper配置,dn1、dn2、dn3

在zookeeper安装目录的conf目录下conf中创建zoo.cfg文件(/home/hadoop/zookeeper-3.4.9/)

在dev中创建zoo.cfg文件,zoo.cfg文件中的内容如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
#dataDir=/tmp/zookeeper 在你的主机中建立相应的目录
dataDir=/home/hadoop/zookeeper-3.4.9/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=dn1:2888:3888
server.2=dn2:2888:3888
server.3=dn3:2888:3888

再创建zoo-copy.sh脚本文件,将zoo.cfg文件传到dn1、dn2、dn3三台机器上,/home/hadoop/zookeeper-3.4.9/路径下。

zoo-copy.sh脚本文件内容如下:

#!/bin/bash
scp zoo.cfg hadoop@192.168.203.123:~/zookeeper-3.4.9/conf/
scp zoo.cfg hadoop@192.168.203.124:~/zookeeper-3.4.9/conf/
scp zoo.cfg hadoop@192.168.203.125:~/zookeeper-3.4.9/conf/

在dn1、dn2、dn3的/home/hadoop/zookeeper-3.4.9/data下创建一个myid的文件里面写一个数字 要和上面配置中的信息一直如
server.1=node3:2888:3888 表示要在node3的myid文件中写一个1的数字
server.2=node4:2888:3888表示要在node4的myid文件中写一个2的数字
server.3=node5:2888:3888表示要在node5的myid文件中写一个3的数字

七、启动步骤

  1. 先启动zookeeper服务,分别在node3,node4,node5上执行zkServer.sh start
  2. 启动journalnode,分别在node3,node4,node5上执行 hadoop-daemon.sh start journalnode 注意只有第一次需要这么启动,之后启动hdfs会包含journalnode
  3. 格式化HDFS,在node1上执行hdfs namenode -format
    出现has been successfully formatted
    注意:格式化之后需要把tmp目录(~/hdfs/)拷给node2(不然node2的namenode起不来)
  4. 格式化ZKFC,在node1上执行hdfs zkfc -formatZK
  5. 启动HDFS,在node1上执行,start-dfs.sh
  6. 启动YARN,在node1上执行,start-yarn.sh
  7. node2的resourcemanager需要手动单独启动:yarn-daemon.sh start resourcemanager

在每个节点上执行jps 如果看到内容和我上面表中的进程对应,成功,不对应以失败。

 

 

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 5
码字总数 6212
作品 0
海淀
大数据Hadoop需要了解哪些内容?

一、Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念、版本、历史 5. Hadoop核心组成介绍及hdfs、mapreduce体系结构 6. H...

mo默瑶 ⋅ 05/05 ⋅ 0

【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下...

雪饼 ⋅ 2017/06/20 ⋅ 21

【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性...

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下...

implok ⋅ 04/13 ⋅ 0

Hadoop手把手逐级搭建,从单机伪分布到高可用+联邦(4)Hadoop高可用+联邦(HA+Federation)

第四阶段: Hadoop高可用+联邦(HA+Federation) 0. 步骤概述 1. 为高可用保存hadoop配置 1.1 进入$HADOOP_HOME/etc/目录 1.2 备份hadoop高可用配置,供以后使用 1.3 查看$HADOOP_HOME/etc/目录...

bigablecat ⋅ 01/05 ⋅ 0

Hadoop-2.6.0集群搭建(多机环境HDFS HA+YARN HA,推荐)

搭建 HDFS HA 和 ResourceManager HA 集群 下载Hadoop: http://hadoop.apache.org/releases.html 集群规划 HDFS HA说明 Hadoop 2.x中通常由两个NameNode组成,一个处于Active状态,另一个处...

翻船全靠浪 ⋅ 2016/04/25 ⋅ 0

Hadoop基础之HA的安装与配置

即上篇文章Hadoop基础之HA(高可用)之后,本文将介绍HDFS HA的搭建与配置。参考官方文档:http://hadoop.apache.org/docs/r2.7.4/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWith...

landy8530 ⋅ 2017/11/25 ⋅ 0

Hadoop-2.6.0集群搭建(多机环境HDFS+YARN,非HA)

Hadoop-2.6.0分布式集群搭建(非HA) 下载Hadoop: http://hadoop.apache.org/releases.html 集群规划 master机器解压至 /home/hadoop/hadoop 目录下 设置环境变量 HADOOP_HOME 在hadoop-2....

翻船全靠浪 ⋅ 2016/04/26 ⋅ 0

Hadoop 生态圈介绍

简介 Hadoop 是一个能够处理海量数据的分布式系统基础软件框架,理论上能够通过增加计算节点以处理无限增长的数据,由java写成。其作者是 Doug Cutting,得益于谷歌的Map/Reduce计算模型和G...

bochs ⋅ 2016/11/17 ⋅ 0

Hadoop2.6.1集群部署之手工切换HA

1. 引言 在生产环境中NameNode的高可用是非常重要的,一旦NameNode宕机,那么整合集群就不能用了,在本篇博客中就主要介绍一下Hadoop2.6.1的HA部署(手动切换),在本篇博客中博主使用五台干...

Liri ⋅ 2017/12/16 ⋅ 0

postgresql 高可用集群搭建资料

多种方案,含zookeeper方案 :PostgreSQL 流行 HA 方案 1. 自己实现高可用集群 有实例 有讲解!postgresql 高可用集群搭建 :PostgreSQLHAwithprimarystandby_2vip 2. pgpool 实现高可用集群...

刘阳0292 ⋅ 2017/10/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL主从复制原理、半同步操作步骤及原理

1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1、scp/sftp/nc 命令可以实现远程数据同步。 2、搭建ftp/http/svn/nfs 服务器,然后在客户端上也可以把数据同步到服务器。...

xiaomin0322 ⋅ 15分钟前 ⋅ 0

Oracle10g 数据及文件迁移过程[原]

QL*Plus: Release 10.2.0.1.0 - Production on 星期三 5月 11 10:22:35 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Re......

harrypotter ⋅ 21分钟前 ⋅ 0

nginx安装

1:安装工具包 wget、vim和gcc yum install -y wget yum install -y vim-enhanced yum install -y make cmake gcc gcc-c++ 2:下载nginx安装包 wget http://nginx.org/download/nginx-1......

壹丶贰 ⋅ 24分钟前 ⋅ 0

ideaVim安装及配置

1.安装插件 File-Settings-Plugins,Browse Repositories,输入ideavim,安装。 重启后,在Tools-Vim Emulator启用。 2.快捷键设置 ideaViim键与idea快捷键有冲突,可以在Settings-Other Se...

Funcy1122 ⋅ 28分钟前 ⋅ 0

MySQL中B+Tree索引原理

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B...

浮躁的码农 ⋅ 42分钟前 ⋅ 0

两道面试题,带你解析Java类加载机制

在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Grandpa{ static { System.out.println("爷爷在静态代码块"); }} cl...

1527 ⋅ 46分钟前 ⋅ 0

SpringCloud(Data Flow)

dataflow-server

赵-猛 ⋅ 57分钟前 ⋅ 0

深入理解Java虚拟机

这本书我读到第8章,之后就是在读不下去了。 读到后面是一种痛苦的体验,太多的东西是不全面的,大量的专有名词是没有解释的,读到最后很多东西仅仅是一个侧面,所以我觉得,这本书不适合初学...

颖伙虫 ⋅ 今天 ⋅ 0

NanoPi NEO core/ Ubuntu16.04单网卡配置3个IP地址(2个静态,1个动态)

配置 root@NanoPi-NEO-Core:/etc/network# cat interfacesauto loiface lo inet loopbackallow-hotplug eth0iface eth0 inet static address 172.31.188.249 netmask 255.......

SamXIAO ⋅ 今天 ⋅ 0

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部