[关闭]
@zhou-si 2016-06-14T13:46:26.000000Z 字数 5390 阅读 3419

cdh-hadoop2.6.0伪分布式环境搭建

hadoop基础之环境搭建

1.windows环境准备

1.下载软件Vmware Station
http://www.vmware.com/cn(不限版本,最好10或以上)
2.下载CentOS
https://www.centos.org/download/(64位即可,最好6.5版本)
3.安装
打开vmware WorkStaion,文件,新建虚拟机,指定好本地下载下来CentOS的iso镜像文件,--->next

2.linux环境准备

1.相关安装包下载
hadoop安装包:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.5.0.tar.gz
jdk安装包:http://www.oracle.com/technetwork/java/javase/downloads/index.html  (1.7以上版本,64位)
2.在linux系统创建几个目录: (可以自定义)
mkdir /opt/soft; 
mkdir /opt/modules; 
mkdir /opt/tools; 
mkdir /opt/datas;
3.修改ip,主机名,配置映射
**修改ip**:vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"                               #网卡名称
BOOTPROTO="static"                          #配置静态化ip
HWADDR="00:0C:29:0C:8B:98" # mac地址 这个不用改(和 /etc/udev/rules.d/70-persistent-net.rules对应)
IPV6INIT="no"                               #防火墙关闭
IPADDR=################                     #ip地址
NETMASK=#############                       #子网掩码
GATEWAY=#############                       #网关
NM_CONTROLLED="yes"                         #修改ip后无需重启就生效
ONBOOT="yes"                                #开机自动启动
TYPE="Ethernet"                             #以太网,此参数一般不用改动
UUID="#############"                        #自带的,唯一识别码
DNS1=8.8.8.8                                #用于联网
DNS2=8.8.4.4                                #用于联网
重启网卡:service network restart
查看ip:ifconfig
修改主机名:vi /etc/sysconfig/network(重启后生效init 6 或者reboot)
HOSTNAME=localhost                          #此值自定义
查看主机名:hostname
配置映射:vi /etc/hosts
[root@org01 ~]# cat /etc/hosts
127.0.0.1   localhost 
ip 主机名   域名                           #域名可不写linux中一个ip对应多个主机名(描述不官方理解就好)
4.用FileZilla等ftp工具将软件包上传到/opt/soft目录,解压:
tar -zxvf hadoop-2.6.0-cdh5.5.0.tar.gz -C ../modules
tar -zxvf jdk-7u67-linux-x64.tar.gz -C ../modules   (必须是7以上版本)
5.关闭防火墙
vi /etc/selinux/config      SELINUX=disabled
service iptables status     --查看防火墙状态
service iptables stop       --关闭防火墙
service ip6tables stop      --关闭防火墙
chkconfig ip6tables off     --设置防火墙开机自关闭
chkconfig iptables off      --设置防火墙开机自关闭
chkconfig iptables --list   --查看防火墙服务状态列表
chkconfig ip6tables --list   --查看防火墙服务状态列表
#iptables 和 ip6tables一样,都是linux防火墙软件,不同的是ip6tables采用的TCP/ip协议为IP6.

3.配置环境变量并验证

vi /etc/profile --修改全局变量必须是root用户(~/.bashrc  or      ~/.bash_profile)
export JAVA_HOME=/opt/modules/java
export HADOOP_HOME=/opt/modules/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile     --当前session中执行后生效
验证:java -version  
若是显示非1.7版本,卸载当前版本:使用rpm -qa | grep java
                                 rpm -e --nodeps xxxxx(上个命令显示结果)

4.设置hadoop属性信息格式化namenode启动集群以及基准测试

4.1.设置hadoop属性信息
1)vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
    <!--指定java安装路径-->
    export JAVA_HOME=/opt/install/jdk1.7.0_79
2)vi $HADOOP_HOME/etc/hadoop/yarn-env.sh
<!--指定java安装路径-->
export JAVA_HOME=/opt/install/jdk1.7.0_79
3)vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
    <configuration>
        <!--让mapreduce运行在yarn框架上-->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <!--mapreduce历史服务器-->
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>localhost</value>
        </property>
        <!--mapreduce历史服务的web ui界面-->
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>localhost</value>
        </property>
     </configuration>
4)vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
    <!--hdfs保存的文件复本数-->
    <property>
          <name>dfs.replication</name>
          <value>1</value>
    </property>
    <!--hdfs中namenode在linux下的存储路径-->
    <property>
          <name>dfs.name.dir</name>
          <value>/usr/local/data/namenode</value>
    </property>
    <!--hdfs中datanode在linux下的存储路径-->
    <property>
          <name>dfs.data.dir</name>
          <value>/usr/local/data/datanode</value>
    </property>
    <!--hdfs中namenode和danode存储路径,若是设置此参数上面两个参数就不用设置-->
    <property>
          <name>dfs.tmp.dir</name>
          <value>/usr/local/data/tmp</value>
    </property>
    <!--此参数设置为true可以在页面中使用展现目录和文件的功能-->
    <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
    </property>
    <!--辅助namenode的访问地址-->
    <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>localhost</value>
    </property>
    <!--是否进行权限检查-->
    <property>
            <name>dfs.permissions.enabled</name>
            <value>false</value>
    </property>
</configuration>
5)vi $HADOOP_HOME/etc/hadoop/core-site.xml
    <configuration>
        <!--清空回收站机制,单位:小时-->
        <property>
                <name>fs.trash.interval</name>
                <value>0</value>
        </property>
        <!--定义hdfs的web访问也页面url-->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:8020</value>
        </property>
        <!--此属性已经弃用,建议用上面属性-->
        <property>
          <name>fs.default.name</name>
          <value>hdfs://localhost:9000</value>
        </property>
        <!--定义namenode和datanode存储目录-->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/app/hadoop-2.5.0/data/tmp</value>
        </property>
        <!--缺省用户,用于显示在web页面上-->
        <property>
                <name>hadoop.http.staticuser.user</name>
                <value>hadoop</value>
        </property>
    </configuration>
6)vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
    <!--nodemanager上运行的附属服务,配置成mapreduce_shuffle可以运行mapreduce-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--顾名思义-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <!--是否启用日志聚合服务,缺省值为false-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--在hdfs上日志聚合后保存多长时间,单位:毫秒-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>    
4.2.格式化namenode
hadoop namenode -format
4.3.启动hadoop并查看进程状态
<!--启动hdfs,也可以用这个start-dfs.sh-->
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
<!--启动yarn,也可以用这个start-yarn.sh-->
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
使用jps查看linux上运行的守护进程:
[root@org01 ~]# jps
6301 NameNode
16933 Jps
3132 ResourceManager
3224 NodeManager
6411 DataNode
4.4.hadoop环境基准测试
1)文件上传下载
hdfs dfs -mkdir /tmp
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /tmp
hdfs dfs -ls /tmp
hdfs dfs -ls /tmp/* /root
2)mapreduce自带功能案例测试
<!--wordcount-->
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar hdfs://localhost:8020/tmp wordcount hdfs://localhost:8020/outwords
<!--grep-->
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
cat output/*
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注