Ubuntu-16.10hadoop-2.7.3 hive-1.2.1搭建

    xiaoxiao2021-03-25  71

    Ubuntu hadoop 伪分布模式搭建

    2017年3月9日

    11:10

    》安装VMware

    》安装ubuntu,虚拟机用户名和密码全部改为hadoop,其他的一路默认,设置的处理器如下:

    防止虚拟机花屏和很卡,就关掉3D加速

     

     

    》安装vmtools

    如果按钮是灰色的,就将CD/DVD(其中一个即可)指向VMware下的linux.iso,然后点击确定退出,再点击虚拟机下面的可移动设备连接这个CD/DVD

     

    安装好了之后,安装vim

    命令:sudo apt-getinstall vim

    报错:

    出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成。

     

    输入以下两条命令:

    sudo rm/var/cache/apt/archives/lock

    sudo rm/var/lib/dpkg/lock

     

    再进行vim的安装就OK了

     

    》Java的安装

    Hive依赖于Hadoop,而Hadoop依赖于Java。所以需要配置JDK

    首先下载好JDK,再复制到虚拟机中,放在/home/download文件夹下,然后解压到主文件夹下(/usr/local)

    首先在/hone/download文件夹下运行命令:

    sudo tar zxvfjdk-8u121-linux-x64.tar.gz -C /usr/local

     

    切换到/usr/local查看文件。已经有解压的文件了:  

     

    接下来配置环境变量了,打开/etc/profile文件。命令如下:

    sudo gedit /etc/profile

    在最后添加:

    exportJAVA_HOME=/usr/local/jdk1.8.0_121 

     

    exportJRE_HOME=/usr/local/jdk1.8.0_121/jre 

     

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

     

    exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

    如图:然后点击右上角的save即可,然后点击左上角关闭。

     

    然后重启虚拟机,输入:

    命令:java -version

    检查是否配置成功

    安装成功。

     

    》安装SSH

    安装

    sudo apt-get installopenssh-server

    启动

    sudo /etc/init.d/sshstart

    设置免密码登录

    $ ssh-keygen -t dsa -P '' -f~/.ssh/id_dsa

    $ cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    $ exportHADOOP\_PREFIX=/usr/local/hadoop

     

    由于这样安装后,还是无法面密码登录,需要输入localhost的密码,所以 尝试过很多种方法,最终得以解决。详见《SSH安装的N次失败》。

     

     

     

    》安装hadoop

    下载hadoop(hadoop-2.7.3.tar.gz),复制到虚拟机/home/download目录下:然后解压到/usr/local中,并改名hadoop

    然后运行以下命令修改hadoop权限,确保所有的操作都是在用户hadoop下完成的:

    命令:sudo chown -R hadoop:hadoop /usr/local/hadoop

     

    配置.bashrc文件:

    在文末添加,这样可以直接使用hadoop命令:

    #HADOOPVARIABLES START

     

    export JAVA_HOME=/usr/jdk1.8.0_121

     

    exportHADOOP_INSTALL=/usr/local/hadoop

     

    exportPATH=$PATH:$HADOOP_INSTALL/bin

     

    exportPATH=$PATH:$HADOOP_INSTALL/sbin

     

    exportHADOOP_MAPRED_HOME=$HADOOP_INSTALL

     

    exportHADOOP_COMMON_HOME=$HADOOP_INSTALL

     

    exportHADOOP_HDFS_HOME=$HADOOP_INSTALL

     

    exportYARN_HOME=$HADOOP_INSTALL

     

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

     

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

     

    #HADOOPVARIABLES END

     

     

    使用命令source ~/.bashrc,使文件生效。

    测试:

     

     

    打开hadoop目录下的etc/hadoop目录,配置一下几个文件:

     

    配置hadoop-env.sh,添加:

    export JAVA_HOME=/usr/local/jdk1.8.0_121

    exportHADOOP=/usr/local/hadoop

    exportPATH=$PATH:/usr/local/hadoop/bin

     

    配置yarn-env.sh,添加:

     

     

    core-site.xml 配置(伪分布模式):

    由于此处新建了hadoop_tmp文件夹,则要在对应的目录下新建一个这个文件夹。

    建立文件

     

     

    配置hdfs-site.xml,配置:

    <configuration>

    <!-- 指定HDFS副本的数量 -->

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    </configuration>

     

    配置yarn-site.xml

    <configuration>

      <property>

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

        <value>mapreduce_shuffle</value>

      </property>

    <property>

    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

      <property>

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

        <value>127.0.0.1:8032</value>

      </property>

      <property>

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

        <value>127.0.0.1:8030</value>

      </property>

      <property>

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

        <value>127.0.0.1:8031</value>

      </property>

    </configuration>

     

    配置结束。

     

    格式化namenode

    命令:hdfs namenode-format

    启动集群:start-dfs.sh

     

    再启动集群后,测试jps的时候,java进程只有jps一个,显然,集群启动失败。

    首先查看日志发现,是无法创建/usr/local/hadoop/hadoop_tmp/dfs..文件,其实在用命令“hdfs namenode -format”格式化 也有报错,并且明确说明了 namenode启动失败。然后就全部指向文件问题。首先检查是否存在hadoop_tmp这个文件,显然前面已经新建了。其次检查core-site.xml的配置有没有把文件地址写错,也没有错的话,就是权限问题了。

     

    更改hadoop_tmp的权限,把hadoop用户添加进去。

    sudo chmod a+rwx /usr/local/hadoop/hadoop_tmp

    这样再次格式化nodename就没问题了。问题解决。

     

     

     

     

     

     

     

     

     

     

     

     

    解压:

    - zxvf

    -z 是配合解压.GZ

    -x 解开一个包文件

    -v 显示详细信息

    -f 必须,表示使用归档文件

     

     

    来自 <http://blog.csdn.net/shiqidide/article/details/7582572> 

    chown username: /home/username/.ssh  chown username: /home/username/.ssh/*  chmod 700 /home/username/.ssh  chmod 600 /home/username/.ssh/*  
    转载请注明原文地址: https://ju.6miu.com/read-26496.html

    最新回复(0)