魏长东

weichangdong

东邪

Linux下装hive之再装Hadoop

申明:我是按照以下流程装成功的,但是版本选择的不一样。

一、安装hadoop

1 因为hadoop是基于java的,所以要保证hadoop能找到在本地系统中大路径,即正确设置java的环境变量。

 

2 到官网:http://www.apache.org/dyn/closer.cgi/hadoop/common/ 下载hadoop,

这里我选择hadoop1.0.4

3 解压到 /usr/local

tar -xvf hadoop-1.0.4.tar.gz

 

4 设置hadoop环境变量,为了使环境变量永久有效并对所有用户有效,我们将下面两句添加到/etc/profile

 

export HADOOP_HOME=/usr/local/hadoop-1.0.4

export PATH=$PATH:$HADOOP_HOME/bin

 

5 验证hadoop是否可以运行

hadoop version

 

 

二、配置伪分布式模式

 

根据上面步骤安装成功后,hadoop处于独立模式即本机模式,在本机模式下,没有运行守护进程,所有程序运行在单个JVM上。本机模式用于开发阶段测试调试MapReduce程序。伪分布模式用于在本机上模拟一个小规模的集群,全分布模式配置较为复杂,留作后面的文章。

1 配置hadoop

(1) 修改core-site.xml,设置namenode主机及hadoop文件系统

 

<configuration>

    <property>

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

        <value>hdfs://localhost:9001</value>

    </property>

</configuration>

 

(2) 修改hdfs-site.xml,设置数据块副本数目

 

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

 

(3) 修改mapred-site.xml,设置jobtracker主机及端口

 

<configuration>

    <property>

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

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

 

(4)修改hadoop-env.sh,设置JAVA_HOME

 

在hadoop-env.sh中添加,本机中jdk路径

export JAVA_HOME=/usr/local/jdk1.7.0【根据自己的安装路径修改】

 

2 配置SSH

(1)如果安装openssh-server

yum install openssh-server

 

(2)基于空口令创建一个新的SSH密钥,启用无密码登录

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

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

 

(3)测试连接是否成功:

ssh localhost 

 

3 格式化HDFS文件系统以创建一个空大文件系统

hadoop namenode -format

 

4 启动守护系统HDFS和MapReduce

bash start-dfs.sh

bash start-mapred.sh

 

5 查看守护进程启动情况

[root@localhost hive]# jps【我自己的虚拟机上执行的】

5988 TaskTracker

5786 SecondaryNameNode

7163 Jps

5887 JobTracker

5679 DataNode

5487 NameNode

[root@localhost hive]#

安装过程中,又一些报错,都是兵来将挡水来土掩,根据报错提示,一一解决,都是文件路径不对的问题,很好解决。

[root@localhost hadoop]# bash start-dfs.sh

/usr/sbin/start-dfs.sh: line 31: /etc/hadoop/hadoop-config.sh: No such file or directory

/usr/sbin/start-dfs.sh: line 54: /etc/hadoop/hadoop-daemon.sh: No such file or directory

/usr/sbin/start-dfs.sh: line 55: /etc/hadoop/hadoop-daemons.sh: No such file or directory

/usr/sbin/start-dfs.sh: line 56: /etc/hadoop/hadoop-daemons.sh: No such file or directory

 

 

[root@localhost hadoop]# bash start-mapred.sh

/usr/sbin/start-mapred.sh: line 27: /etc/hadoop/hadoop-config.sh: No such file or directory

/usr/sbin/start-mapred.sh: line 32: /etc/hadoop/hadoop-daemon.sh: No such file or directory

/usr/sbin/start-mapred.sh: line 33: /etc/hadoop/hadoop-daemons.sh: No such file or directory

解决方法是 到对应文件修改路径

[root@localhost hive]# hadoop version

Hadoop 1.2.1

Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152

Compiled by mattf on Mon Jul 22 15:27:42 PDT 2013

From source with checksum 6923c86528809c4e7e6f493b6b413a9a

This command was run using /usr/share/hadoop/hadoop-core-1.2.1.jar

安装成功!