Hadoop学习(一)

HDFS伪分布式环境搭建:

一、环境软件需求:

CentOS-6.4

jdk-1.8.0

hadoop-2.7.4

搭建hadoop,必须安装jdk和ssh,运行sshd以使用管理远程Hadoop守护进程的Hadoop脚本;

二、安装SSH并配置免密登陆:

yum -y install openssh-clients或yum install ssh;下载完后在~目录使用命令:ssh-keygen -t rsa创建公钥,会在~目录下生成.ssh(隐藏文件),使用ls -la查看并进入,有id_rsa和id_rsa.pub两个文件,使用命令:cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys,复制进来即可;

三、jdk安装配置:

在/etc/profile中配置

JAVA_HOME=/software/jdk

扫描二维码关注公众号,回复: 1531945 查看本文章

export PATH=$JAVA_HOME/bin::$PATH

使用java -version查看版本即可;

四、Hadoop解压配置

下载:直接取cdh网站下载

解压:tar -zxvf hadoop-2.7.4.tar.gz -C /software/hadoop

hadoop配置文件的修改(hadoop_home/etc/hadoop)

1.  hadoop-evn.sh

export JAVA_HOME=/software/jdk

2.  core-site.xml

<!-- NameNode URI,这里的值指的是默认的HDFS路径 -->

    <property>

                <name>fs.defaultFS</name>
                <value>hdfs://yaoliang:9000</value>
        </property>
<!-- 这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/software/hadoop/tmp</value>
        </property>

3. hdfs-site.xml

<!-- 指定DataNode存储block的副本数量,不大于DataNode的个数就行 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>

<!-- 大文件系统HDFS块大小为256M,默认值为128M,可不配置 -->

<property>
         <name>dfs.blocksize</name>
         <value>268435456</value>
</property>

4. YARN框架配置:

mapred-site.xml(将带后缀名的重命名为这个即可)

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

yarn-site.xml

<property>
                <name>yarn.resourcemanager.hostname</name>
                <value>yaoliang</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>1024</value>
            </property>
        <property>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>1</value>
        </property>

五、启动hdfs

格式化文件系统(仅第一次执行即可,不要重复执行):hdfs/hadoop namenode -format

注意有无报错信息;

启动hdfs: sbin/start-dfs.sh

验证是否启动成功:

jps: DataNode

NameNode

SecondaryNameNode

浏览器访问方式:http://hadoop000:50070

停止hdfs: sbin/stop-dfs.sh

启动yarn: sbin/start-yarn.sh

验证是否启动成功:

jps: NodeManager

ResourceManager

浏览器访问方式:http://hadoop000:8088

停止yarn: sbin/stop-yarn.sh

六、遇到问题

注意:1、启动hdfs前要先关闭防火墙,service iptables star/stop  即时开启/关闭防火墙;

                                 chkconfig iptables on/off  永久开启/关闭防火墙;

                                 service iptables status 查看防火墙状态;

      2、要在/etc/hosts/etc/sysconfig/network文件中映射用户名和IP;

      3yum -y install openssh-clients 下载并打开ssh连接协议,最好能配置ssh免登陆;

      4yum install vim-enhanced.x86_64 下载vim文本编辑器;

     5、浏览器访问50070时,用户名与IP对应时要C:\Windows\System32\drivers\etc\hosts文件中添加对应,如192.168.0.222  hadoop000;

七、hadoop开启之后DataNode没有启动?

1. 先执行stop-all.sh暂停所有服务

2. 将所有Salve节点上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夹,DataNode存放数据块的位置)、 logs 文件夹删除 , 然后重新建立tmp , logs 文件夹

3. 将所有Salve节点上的/usr/hadoop/conf下的core-site.xml删除,将master节点的core-site.xml文件拷贝过来,到各个Salve节点

4. 重新格式化: hadoop namenode -format
5. 启动:start-all.sh





猜你喜欢

转载自blog.csdn.net/qq_40784783/article/details/79021636