Hadoop开发之一:集群实验环境搭建

1. 系统环境配置


1.1 用到的工具

SFTP客户端:FileZilla

宿主操作系统:Ubuntu14.04.2 LTS X64

KVM操作系统:CentOS6.6 minimal X64


1.2 操作系统及机器名,IP地址等

机器名(hostname)

角色

IP

操作系统

lab1.hadoop

Master

192.168.122.2

CentOS 6.6 minimal

lab2.hadoop

Slave

192.168.122.3

CentOS 6.6 minimal

lab3.hadoop

Slave

192.168.122.4

CentOS 6.6 minimal

lab4.hadoop

Slave

192.168.122.5

CentOS 6.6 minimal

lab5.hadoop

Manager (monitor vms)

192.168.122.6

CentOS 6.6 minimal


1.3 更新各个系统

在每个系统中执行yum update更新系统。


1.4在每个系统增加用户hadoop并设置密码

adduser hadoop

passwd hadoop


1.5 安装vsftp

执行命令:yuminstall vsftpd

关闭防火墙:service iptables stop

允许21端口通行:

            vi/etc/sysconfig/iptables

           添加两条

            -A INPUT -mstate --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

            -A INPUT -p tcp --dport 30000:30100 -j ACCEPT


1.6 安装OracleJDK

Oracle下载JDK1.7.0_75版本:jdk-7u75-linux-264.tar.gz

在每台机器上执行下面的命令:

          mkdir /usr/lib/jvm

          tarzxvf jdk-7u75-linux-264.tar.gz -C /usr/lib/jvm


vi/etc/profile 并在最后添加

             #set java environment

             export JAVA_HOME=/usr/java/jdk1.7.0_75

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
切换系统默认jdk

             update-alternatives --install /usr/bin/java java/usr/lib/jvm/jdk1.7.0_75/bin/java 300

             update-alternatives --install /usr/bin/javac javac/usr/lib/jvm/jdk1.7.0_75/bin/javac 300

              查看并设置缺省jdk

              update-alternatives --config java


1.7 实现ssh无密码登录

系统默认已经安装了openssh但未安装rsync,可以通过下面命令查看:

         rpm -qa |grep openssh

         rpm -qa |grep rsync

如未安装,可使用下面命令安装:

         yum -y install openssh

         yum -y install rsync

然后,在每台机器上以hadoop用户执行下面命令:

          ssh-keygen –t rsa –P ''

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

          chmod 600 ~/.ssh/authorized_keys

重启sshd: service sshd restart


lab1(Master)机器的rsa证书复制到所有Slave机器上:

         scp ~/.ssh/id_rsa.pub hadoop@192.168.122.3:~/

         scp ~/.ssh/id_rsa.pub hadoop@192.168.122.4:~/

         scp ~/.ssh/id_rsa.pub hadoop@192.168.122.5:~/

在每台Slave机器上加入Master的证书:

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

         rm ~/id_rsa.pub


将每台Slave机器上的rsa证书复制到Master机器上:

依次在Slave机器和主机上执行下面的命令:

Slave机器:scp ~/.ssh/id_rsa.pubhadoop@192.168.122.2:~/

Master机器:将Slaversa证书加入到Master机器的验证证书中:

        cat ~/id_rsa.pub >> ~/.ssh/authorized_key

        rm ~/id_rsa.pub


修改每台机器的ssh配置文件

        vi/etc/ssh/sshd_config

将下面配置前的#去掉:

         RSAAuthentication yes

         PubkeyAuthentication yes

        AuthorizedKeysFile .ssh/authorized_keys


将每台机器的ssh重启:service sshd restart


如果上机步聚全部正确,則在Master机器上可以ssh所有Slave机器而不需要密码:

        ssh 192.168.122.3

        ssh 192.168.122.4

        ssh 192.168.122.5

同时,在每台Slave机器上,都可以sshMster服务器而不需要密码:

        ssh 192.168.3.2

至此,基础环境配置完成。


2. 编译hadoop2.6.0

目前在apache网站上提供的下载只有x86版本的,如果要使用x64版本,需自已编译源码,步聚如下:


2.1为了保证集群计算机的清洁,这里使用另外一台计算机来编译hadoop,同时这台计算机负责管理与监控:这里使用lab5.hadoop机器。


2.2 设置编译环境:

yum install cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtoolncurses-devel openssl-devel libXtst


2.3 安装JDK(1.5)


2.4编译并安装protobuf

https://github.com/google/protobuf/上下载2.5.0版本,由于google在国内无法访问,所以最好下载Release版本,否则在编译protobuf时需要下载gtest而导致编译无法进行。

下载后解压:tar xvf protobuf-2.5.0.tar.gz

编译:

        cdprotobuf-2.5.0
        ./configure
        make
        makeinstall
        ldconfig

检查是否安装:protoc--verion


2.5 安装maven

        wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.tar.gz

        tar zxvfapache-maven-3.3.1-bin.tar.gz -C /usr/lib/


        vi /etc/profile
        export MAVEN_HOME=/usr/lib/apache-maven-3.3.1
        export PATH=$PATH:$MAVEN_HOME/bin


2.6 编译hadoop


        wget http://mirror.bit.edu.cn/apache/hadoop/core/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz
        cd hadoop-2.6.0-src
        mvn package -DskipTests -Pdist,native -Dtar


编译成功后会打包,放在hadoop-dist/target


hadoop-2.6.0.tar.gz复制到lab1机器上。


3. 安装hadoop

解压hadoop压缩文件到/usr/目录下:

tar zxvfhadoop-2.6.0.tar.gz -C /usr/


4. 配置hadoop

        进入到hadoop目录:cd /usr/hadoop-2.6.0


4.1编辑hadoop-env.sh文件

        vi /usr/hadoop-2.6.0/etc/hadoop/hadoop-env.sh

        将26行的exportJAVA_HOME=${JAVA_HOME}修改成export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75


4.2配置/usr/hadoop-2.6.0/etc/hadoop/core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/hadoop/tmp</value>

<description></description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.122.2:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

</configuration>


4.3配置/usr/hadoop-2.6.0/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///usr/hadoop/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///usr/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.nameservices</name>

<value>hadoop-cluster1</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>192.168.122.2:50090</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>


4.3配置/usr/hadoop-2.6.0/etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<final>true</final>

</property>

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>192.168.122.2:50030</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>192.168.122.2:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>192.168.122.2:19888</value>

</property>

<property>

<name>mapred.job.tracker</name>

<value>http://192.168.122.2:9001</value>

</property>

</configuration>


4.4配置/usr/hadoop-2.6.0/etc/hadoop/yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>lab1.hadoop</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>192.168.122.2:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>192.168.122.2:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>192.168.122.2:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>192.168.122.2:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>192.168.122.2:8088</value>

</property>

</configuration>


4.5hadoop复制各个Slave机器上:


scp /usr/hadoop2.6.0hadoop@192.168.122.3:/usr/

scp /usr/hadoop2.6.0hadoop@192.168.122.4:/usr/

scp /usr/hadoop2.6.0hadoop@192.168.122.5:/usr/


4.5配置各个机器的环境变量(MasterSlave同样配置)


vi /etc/profile


在文件最后添加:


export HADOOP_HOME=/usr/hadoop-2.6.0

export PATH=$PATH:$HADOOP_HOME/bin


4.6 配置Master机器:

vi /usr/hadoop-2.6.0/etc/hadoop/slaves

在文件中清空,并添加如下内容:

lab2.hadoop

lab3.hadoop

lab4.hadoop


4.7在所有机器上(Master和所有Slave机器)配置hosts文件

vi /etc/hosts


在文件开始处添加如下:

192.168.122.2lab1.hadoop lab1

192.168.122.3lab1.hadoop lab2

192.168.122.4lab1.hadoop lab3

192.168.122.5lab1.hadoop lab4


4.8 格式化dfs目录

   在Master机器上运行:hadoop namenode -format


4.9 启动hadoop

cd /usr/hadoop-2.6.0/sbin

./start-all.sh

./mr-jobhistory-daemon.sh


4.10 查看hadoop

http://192.168.122.2:50070

http://192.168.122.2:8088

http://192.168.122.2:19888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值