Linux上安装和配置Hadoop

1.上传Hadoop

2解压Hadoop

创建一个目录 mkdir  /itcast

tar -zxvf hadoop-2.7.2.tar.gz -C /itcast

3.配置Hadoop伪分布式(修改五个文件)

首先转到hadoop目录下

cd /itcast/hadoop-2.7.2/etc/hadoop

第一个修改hadoop-env.sh

vim hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79

第二个修改core-site.xml

vim core-site.xml

<configuration>

<!--用来指定HDFSNameNode的地址-->

      <property>

            <name>fs.defaultFS</name>

            <value>hdfs://senwen1:9000</value>

      </property>

<!--用来指定Hadoop运行时产生文件的存放目录-->

      <property>

            <name>hadoop.tmp.dir</name>

            <value>/itcast/hadoop-2.7.2/tmp</value>

      </property>

</configuration>

第三个修改hdfs-site.xml

<configuration>

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

      <property>

            <name>dfs.replication</name>

            <value>1</value>

      </property>

</configuration>

第四个修改mapred-site.xml

原目录下没有该文件,只有一个示例文件,需要将该示例文件重命名后进行修改。

[root@senwen1 hadoop]# mv mapred-site.xml.template mapred-site.xml

<configuration>

<!-- 告诉Hadoop以后MR运行在yarn-->

      <property>

            <name>mapreduce.framework.name</name>

            <value>yarn</value>

      </property>

</configuration>

第五个修改yarn-site.xml

<configuration>

<!--NodeManager获取数据的方式是shuffle-->

       <property>

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

            <value>mapreduce_shuffle</value>

      </property>

       <property>

<!--指定yarn的老大(ResourceManager)的地址-->

      <property>

            <name>yarn.resourcemanager.hostname</name>

            <value>senwen1</value>

      </property>

</configuration>

4配置Hadoop的环境变量

[root@senwen1 hadoop]# vim /etc/profile

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

export HADOOP_HOME=/itcast/hadoop-2.7.2

刷新配置:

[root@senwen1 hadoop]# source /etc/profile

修改.bashrc文件

vim .bashrc

export HADOOP_HOME=/itcast/hadoop-2.7.2

export CLASSPATH=JAVA_HOME=/usr/java/jdk1.7.0_79

export PATH=$PATH:$HADOOP_HOME/bin

 

5初始化HDFS(格式化文件系统)

#hadoop namenode -format  (过时)还可以用

hdfs namenode -format

改了之后显示16/06/1614:58:17 INFO common.Storage:

Storage directory /itcast/hadoop-2.7.2/hadoop_root/dfs/name has been successfully formatted.

 ./start-all.sh也过时了This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

这种方式需要多次输入密码

还可以通过浏览器的方式验证

http://192.168.56.8:50070 (hdfs管理界面)

http://192.168.56.8:8088 (yarn管理界面)

到这里连不上50070并且jps命令后并没有出现Namenode

解决办法:

namenode 默认在/tmp下建立临时文件,但关机后,/tmp下文档自动删除,再次启动Master造成文件不匹配,所以namenode启动失败。

core-site.xml中指定临时文件位置,然后重新格式化,终极解决!

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/grid/hadoop1.7.0_17/hadoop_${user.name}</value>

<property>

value中的路径只要不是/tmp就行。

6.上传linux系统中一个文件到hdfs

[root@senwen1 ~]# hadoop fs -put /root/jdk-7u79-linux-i586.tar.gz hdfs://senwen1:9000/jdk

通过Browsing HDFS查看上传的文件

7.使用命令下载:

[root@senwen1 ~]# hadoop fs -get hdfs://senwen1:9000/jdk /home/jdk1.7

8.测试MR YARN

[root@senwen1 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount hdfs://senwen1:9000/words hdfs://senwen1:9000/wcout

9.配置hadoop ssh免密码登陆

生成ssh免登陆密钥

ssh-keygen -t rsa

执行完后会生成两个文件id_rsa(私钥)id rsa.pub(公钥)

将公钥拷贝到要免登陆的机器上

ssh-copy-id senwen1

猜你喜欢

转载自blog.csdn.net/senwen616/article/details/51694362