ubuntu配置hadoop2.7.7

简介

  1. Hadoop三大发行版本:Apache,Cloudera, Hortonworks
    Apache是最原始的版本,对于入门学习最好
    Cloudera在大型互联网企业中用的较多
    Hortonworks 文档较好

  2. Hadoop的优势

    1. 高可靠性
      底层自动实现数据备份,即使一个节点数据丢失,也不会影响整体
    2. 高拓展性
      在集群间分配任务数据,可方便的拓展数以千计的节点
    3. 高效性
      任务处理速度快
    4. 高容错性
      能够自动将失败任务重新分配
  3. HDFS架构

    1. NameNode(nn):
      存储文件的元数据,比如:文件名,文件属性
    2. DataNode(dn):
      在本地文件体统存储文件的块数据,已经块数据的校验
    3. SecondaryNameNode(2nn):
      用来监测HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照

官方文档

中文版
http://hadoop.apache.org/docs/r1.0.4/cn/index.html
英文版
https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

配置

  1. 下载 hadoop
    http://archive.apache.org/dist/hadoop/core/hadoop-2.7.7/
    注意:hadoop3 以上版本问题比较多

  2. 解压Hadoop到/user/local

    sudo tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local
    

    把 hadoop-2.7.7 改成hadoop(也可不改)

    cd /usr/local
    sudo mv hadoop-2.7.7 hadoop
    
  3. 配置Hadoop环境变量

    # sudo gedit /etc/profile
    # sudo vim /etc/profile
    sudo vi /etc/profile
    

    在末尾添加下面代码

    # set Hadoop environment
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
    
  4. 使环境生效:source /etc/profile

  5. 测试是否配置成功:hadoop version

在这里插入图片描述

伪分布式

cd $HADOOP_HOME/etc/hadoop
  • 配置core-site.xml

    sudo vi core-site.xml	# sudo gedit core-site.xml
    
    <configuration>
      <!-- 指定HDFS中NameNode的地址-->
      <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
      </property>
      <!-- 指定Hadoop运行时临时文件存储目录 -->
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/data/tmp</value>
      </property>
    </configuration>
    
  • 配置hdfs-site.xml

    sudo vi hdfs-site.xml	# sudo gedit hdfs-site.xml
    
    <configuration>
    	<!-- 指定HDFS副本数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    
  • 修改 hadoop-env.sh 文件

    # sudo gedit hadoop-env.sh 
    sudo vi hadoop-env.sh	
    # 把 export JAVA_HOME=${JAVA_HOME} 改为
    export JAVA_HOME=/usr/local/jdk8
    

YARN
YARN 对于真正由多台机器构成的集群环境才有意义,伪分布模式下,YARN 无法真正发挥作用。不启动 YARN,MapReduce 程序也能够正常运行。

  • 配置 mapred-site.xml

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
  • 配置 yarn-site.xml

    <configuration>
    <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    
    

格式化文件系统

cd $HADOOP_HOME
./bin/hdfs namenode -format

在这里插入图片描述
启动NameNode守护进程和DataNode守护进程

sbin/start-dfs.sh

这里要输入 3 次密码

配置 ssh 免密登录

# 生成公钥和密钥
ssh-keygen -t rsa						# 执行该命令后,遇到提示信息,一直按 Enter 键就可以了
cd ~/.ssh
cat ./id_rsa.pub >> ./authorized_keys	# 将公钥赋予给authorized_keys
sudo chmod 644 authorized_keys			# 修改权限

注意:如果之前已经生成过公钥,必须删除原来生成的公钥

cd ~/.ssh			# 如果没有该目录,先执行一次 ssh localhost
rm ./id_rsa*		# 删除之前生成的公钥(如果已经存在)

配置完之后启动集群就不用密码了

jps	#  jps是jdk提供的一个查看当前java进程的小工具

在这里插入图片描述
如果没有 NameNode,进行格式化文件就可以了

监控集群

在浏览器里输入 http://虚拟机ip地址:50070 查看 NameNode

  1. Overview 记录了 NameNode 的启动时间、版本号、编译版本等一些基本信息
  2. Summary 是集群信息,提供了当前集群环境的一些有用信息
  3. NameNoode Storage 提供了 NameNode 的信息,最后的 State 标示此节点为活动节点,可正常提供服务

在这里插入图片描述

错误

  • 在这里插入图片描述
    安装 ssh 就可以了

    sudo apt-get update	# 更新软件列表
    sudo apt-get install openssh-server
    

猜你喜欢

转载自blog.csdn.net/weixin_44018458/article/details/109130969