hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建(含zookeeper集群安装)

关于几个疑问和几处心得!html

a.用NAT,仍是桥接,仍是only-host模式?java

   答: hostonly、桥接和NAT

b.用static的ip,仍是dhcp的?node

答:staticlinux

c.别认为快照和克隆不重要,小技巧,比别人灵活用,会很节省时间和大大减小错误。web

d.重用起来脚本语言的编程,如paython或shell编程。shell

 对于用scp -r命令或deploy.conf(配置文件),deploy.sh(实现文件复制的shell脚本文件),runRemoteCdm.sh(在远程节点上执行命令的shell脚本文件)。apache

e.重要Vmare Tools加强工具,或者,rz上传、sz下载。编程

f.大多数人经常使用tomcat

   Xmanager Enterprise *安装步骤

 用到的所需:bash

  一、VMware-workstation-full-11.1.2.61471.1437365244.exe

  二、CentOS-6.5-x86_64-bin-DVD1.iso

  三、jdk-7u69-linux-x64.tar.gz

  四、hadoop-2.6.0-cdh5.4.5.tar

  五、apache-cassandra-2.2.1-bin.tar.gz

  六、apache-flume-1.6.0-bin.tar.gz

  七、apache-tomcat-7.0.65.tar.gz

  八、flume-ng-1.5.0-cdh5.4.5.tar.gz

  九、hbase-1.0.0-cdh5.4.5.tar.gz

  十、hive-1.1.0-cdh5.4.5.tar.gz

  十一、protobuf-2.5.0.tar.gz

  十二、sqoop-1.4.5-cdh5.4.5.tar.gz

  1三、zookeeper-3.4.5-cdh5.4.5.tar.gz

 

 机器规划:

  192.168.80.11   ----------------  CDHNode1

  192.168.80.12   ----------------  CDHNode2

  192.168.80.13   ----------------  CDHNode3

  

  目录规划:

  一、安装目录:

      /home/hadoop/app/

  二、数据存放目录:

      dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元数据

      dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode数据存放目录

      dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放编辑日志

      dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放编辑日志同步数据

      dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一个文件排除host

  三、进程pid:

      export HADOOP_PID_DIR=/home/hadoop/data/pid               //存储hadoop 常驻进程pid

      export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode进程 pid

  四、临时目录:

      /home/hadoop/data/tmp

 

 

  第一步:安装VMware-workstation虚拟机,我这里是VMware-workstation11版本。

       详细见 -> 

     VMware workstation 11 的下载      

          VMWare Workstation 11的安装

          VMware Workstation 11安装以后的一些配置

  第二步:安装CentOS系统,我这里是6.6版本。推荐(生产环境中经常使用)

    详细见 ->  

          CentOS 6.5的安装详解

          CentOS 6.5安装以后的网络配置

          CentOS 6.5静态IP的设置(NAT和桥接都适用) 

          CentOS 命令行界面与图形界面切换

          网卡eth0、eth1...ethn谜团

          Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置

 

      第三步:VMware Tools加强工具安装

    详细见 ->

      VMware里Ubuntukylin-14.04-desktop的VMware Tools安装图文详解

  

  第四步:准备小修改(学会用快照和克隆,根据自身要求状况,合理位置快照) 

    详细见 ->   

     CentOS经常使用命令、快照、克隆大揭秘

    新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu)

    

    一、ssh的安装(SSH安装完以后的免密码配置,放在后面)

    二、静态IP的设置

    三、hostname和/etc/hosts

    四、永久关闭防火墙

    五、时间同步

    

1 软件环境准备

 

 

虚拟机

VMWare11

操做系统

CentOS6.5

JDK

jdk-7u79-linux-x64.tar.gz 

远程链接

XShell






hadoop生态系统


hadoop-2.6.0-cdh5.4.5.tar.gz


hbase-1.0.0-cdh5.4.4.tar.gz

hive-1.1.0-cdh5.4.5.tar.gz

flume-ng-1.5.0-cdh5.4.5.tar.gz

sqoop-1.4.5-cdh5.4.5.tar.gz

zookeeper-3.4.5-cdh5.4.5.tar.gz

 

2 主机规划

因为我要安装3个节点的集群环境,因此咱们分配好ip地址和主机功能

 

CDHNode1

/192.168.80.11

CDHNode2

/192.168.80.12

CDHNode3

/192.168.80.13

namenode

datanode

resourcemanager

journalnode

zookeeper

日志采集服务器

采集服务器负载均衡

目标网站(web)程序

注意:Journalnode和ZooKeeper保持奇数个,最少很多于 3 个节点。

 

3 CDHNode一、CDHNode二、CDHNode3的静态IP、网络配置、主机名、用户名和用户组

一、    CDHNode一、CDHNode二、CDHNode3的Linux安装省略,再也不赘述。

二、 CDHNode一、CDHNode二、CDHNode3的静态IP、网络配置、主机名、用户名、用户组

 

新建用户组、用户、用户密码、删除用户组、用户(适合CentOSUbuntu

groupadd hadoop      建立hadoop用户组

useradd -m -g hadoop hadoop    新建hadoop用户并增长到hadoop用户组中

passwd hadoop     hadoop用户密码,为hadoop

‘’

 

4 、目录规划、下载必备软件

 

目录规划

 

1、安装目录:

/home/hadoop/app/

 

2、数据存放目录:

dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元数据

dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode数据存放目录

dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放编辑日志

dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放编辑日志同步数据

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一个文件排除host

 

3、进程pid:

export HADOOP_PID_DIR=/home/hadoop/data/pid               //存储hadoop 常驻进程pid

export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode进程 pid

 

4、临时目录:

/home/hadoop/data/tmp

 

1、安装目录:

/home/hadoop/app/

 

2、数据存放目录:

dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元数据

dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode数据存放目录

dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放编辑日志

dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放编辑日志同步数据

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一个文件排除host

 

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一个文件排除host

 

等到后面,解压了hadoop-2.6.0-cdh5.4.5的安装包后,再新建。

 

3、进程pid:

export HADOOP_PID_DIR=/home/hadoop/data/pid               //存储hadoop 常驻进程pid

export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode进程 pid

 

4、临时目录:

/home/hadoop/data/tmp

 

下载必备软件

注:一、在CDHNode1节点上安装,使用yum命令 ,参数-y表示,下载过程当中的自动回答yes,有兴趣的话,能够试试不加的状况;install表示从网上下载安装。

         二、使用yum命令安装软件必须是root用户。

一、安装lrzsz,能够方便在Xshell上,上传和下载文件,输入rz命令,能够上传文件,sz命令能够从远程主机上下载文件到本地。

 

二、安装ssh服务器。

 

 

三、安装ssh客户端。

 

五、永久关闭防火墙、时间同步

只有在关机重启后,生效。

关机后,重启。再查看下

 

时间同步

一、咱们先使用date命令查看当前系统时间

若是系统时间与当前时间不一致,能够按照以下方式修改。

 

二、查看时区设置是否正确。咱们设置的统一时区为Asia/Shanghai,若是时区设置不正确,能够按照以下步骤把当前时区修改成上海。

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 

 

三、下面咱们使用ntp(网络时间协议)同步时间。若是ntp命令不存在,则须要在线安装ntp

 

四、安装ntp后,咱们可使用ntpdate命令进行联网时间同步。

ntpdate pool.ntp.org

 

ntpdate pool.ntp.org

 

五、最后咱们在使用date命令查看,时间是否同步成功。

因而可知,咱们的时钟同步,完成。

 

 

方便操做

一、 首先点击新建按钮,以下;在新建会话属性对话框中输入名称和须要链接的主机ip地址。

二、 接下来点击左侧的用户身份验证,输入要登陆主机的用户名和密码,点击肯定,此时建立成功。

三、 在打开会话对话框中选中刚建立的CDHNode1,而后点击链接

 

四、 此时链接成功,便可进行远程操做

 

 

五、为了之后方便打开远程主机,咱们能够把当前链接的主机添加到连接栏中,只需点击添加到连接栏按钮便可添加

这样之后,就很方便啦。

 

六、上传hadoop-2.6.0-cdh5.4.5.tar.gz安装包和SSH免密码登陆 

在master上启动start-dfs.sh,master上启动namenode,在slave1和2上启动datanode。

那这是如何作到的呢?有兴趣,能够看看。这就是要作免密码登陆的必要!

这里,三处都回车。

 

 

 

如今,来进入SSH免密码登陆的设置。

 

总的来讲:

一、  集群里的每台机器本身自己的无密码访问设置

CDHNode1自己、CDHNode2自己、CDHNode3自己

 

CDHNode1自己

 

CDHNode2自己

 

CDHNode3自己

 

一、  集群里的每台机器本身自己的无密码访问设置

CDHNode2与 CDHNode一、CDHNode3与CDHNode一、而后CDHNode1分发~/.ssh/ authorized_keys

 

CDHNode2与 CDHNode1

 

CDHNode3与 CDHNode1

 

cat ~/.ssh/id_rsa.pub | ssh hadoop@CDHNode1 'cat >> ~/.ssh/authorized_keys'

 

 

将CDHNode1的~/.ssh/ authorized_keys,分发给CDHNode2

知识点:用本身写好的脚本,也能够,或者,用scp命令

 

 

scp -r authorized_keys hadoop@CDHNode2:~/.ssh/

 

 

将CDHNode1的~/.ssh/ authorized_keys,分发给CDHNode3

至此,集群间机器完成SSH免密码登陆。

 

七、上传jdk-7u79-linux-x64.tar安装包和jdk环境变量配置

如果有自带的java,必定将其卸载。

rpm -qa|grep java命令查出没有

 

注意:

通常在生产上,部署一个集群时候,咱们的用户是不少的,好比有hadoop用户、hbase用户、hive用户、zookeeper用户等。。。

  这样,咱们若将jdk安装到hadoop用户的主目录下,则出现其余的用户没法使用,很麻烦,

  强烈建议,安装在/usr/local 或 /usr/share

 

实际上,jdk自带的它默认就是安装在这个目录底下,嘿嘿

而我这里,没自带,因此,没对应的java目录。

 

 

好,如今开始上传jdk-7u79-linux-x64.tar.gz

在生产环境里,通常jdk安装在/usr/local或/usr/share。这里,咱们选择/usr/share

 

这里要注意,知识点,必须是root用户才能够。

 

改下,uucp。并删除,jdk压缩包

退回到hadoop用户

总结,在实验里,就没分那么多用户了,hadoop用户、hive用户、zookeeper用户、、、

 

配置在这个文件~/.bash_profile,或者也能够,配置在那个全局的文件里,也能够哟。/etc/profile。

#java

 

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_60

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

 

为了偷懒,

 

scp -r .bash_profile hadoop@CDHNode2:~

scp -r .bash_profile hadoop@CDHNode3:~

 

八、HDFS核心配置文件的配置和exclueds文件创立

 

学会技巧,通常,先在NotePad++里写好,

直接传上去。

删除压缩包,留下压缩后的文件夹。

其余两个同样

cd hadoop-2.6.0-cdh5.4.5/etc/Hadoop

rm core-site.xml

rm hadoop-env.sh

rm hdfs-site.xml

rm slaves

rm yarn-env.sh

rm yarn-site.xml

其余两个同样

 

接下来,将在NotePad++里写好的,直接上传。

 

其余两个同样

 

至此,HDFS核心配置文件的配置完成!

在,

如今,该是建立这个文件的时候了

touch /home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes

 

其余两个同样

 

九、zookeeper-3.4.5-cdh5.4.5.tar.gz的安装、环境变量配置和hadoop-2.6.0-cdh5.4.5的环境变量配置

Zookeeper-3.4.5-cdh5.4.5.tar.gz

注意:hadoop-2.6.0-cdh5.4.5.tar.gz与Zookeeper-3.4.5-cdh5.4.5.tar.gz保持一致。

 

安装在/home/hadoop/app/下,

CDHNode2和3的同样

CDHNode2和3的同样

并删除压缩包,

CDHNode2和3的同样

CDHNode2和3的同样

 

为此,如今须要,对zookeeper-3.4.5-cdh5.4.5/下的zoo.cfg进行,修改配置。

修改地方是

dataDir=/home/hadoop/data/zookeeper

server.1=CDHNode1:2892:3892

server.2=CDHNode2:2892:3892

server.3=CDHNode3:2892:3892

分析:

由于,用到了目录/home/hadoop/data/zookeeper,因此,咱们得新建好它。

 

下面,将zookeeper的安装目录放到环境变量里去,以便在任何路径下

这里是~/.bash_profile

CDHNode2和3,都同样

这里,是,把hadoop-2.6.0-cdh5.4.5的环境变量配置好了,算是补的!

 

十、初始化hdfs(一次性操做)

a)      先启动zookeeper,在安装zookeeper的机器上执行./bin/zkServer.sh start

这里安装zookeeper的机器是,CDHNode一、2和3。

 

CDHNode1为F,

 

CDHNode2为L,

 

CDHNode3为F,

总结,初始化一次,就能够了。之后启动,会自带启动。

Zookeeper之后仍是要本身启动。

 

 

 

b)      在hadoop-2.6.0-cdh5.4.5启动journalnode(全部journalnode节点都得起)

./sbin/hadoop-daemon.sh start journalnode

这里,CDHNode一、2和3都要作。

 

 

CDHNode2和3同样

c)      主节点(CDHNode1)的hadoop-2.6.0-cdh5.4.5执行

./bin/hdfs namenode -format
./bin/hdfs zkfc -formatZK 
./bin/hdfs namenode

接着,会出现下面问题

buildSupportsSnappy()Z问题,解决连接:

知识点,CDH默认是没有提供native库的,须要咱们本身去编译。

提供的是32位,咱们须要的是64位。编译过程很复杂,

这里如何去编译呢?这里是个知识点,我就在网上,找个别人已经编译好了的64位。具体见连接: http://download.csdn.net/detail/tongyuehong/8524619

编译好以后的native放到/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/lib/

 

因此呀,看到了,最好仍是本身要掌握!!!加油

经过hadoop-2.6.0-cdh5.4.5.src.tar.gz来编译,安装snappy并生成hadoop native本地库。

(大牛的教导:特意开设一个节点,专门来玩玩如apache、cdh这样的hadoop源代码编译,来提高本身的横向能力!并写于博客。)

 

 

去吧,开启一个新的节点,新的起点。

快照恢复

  CDHNode二、3同样。

  先去制做native库吧!

相关文章
相关标签/搜索