3、hadoop 单节点 安装配置与测试

在hadoop/home中创建目录 itcast
     mkdir   itcast
将hadoopd安装包解压到该目录:

查看java安装路径  whereis  java

配置hadoop,需要修改5个文件
1、修改运行环境
vim hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.7.0_71

2、 配置namenode节点;
vim core-site.xml
<property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.159.131:9000</value>
  </property>
</configuration>


3、创建mapred.site.xml   配置(1.x jobtracker)各任务节点,运行在yarn上
   mv mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

4、文件系统hdfs-site.xml datanode节点 副本数量
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/itcast/hadoop-2.3.0/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/itcast/hadoop-2.3.0/dfs/data</value>
  </property>

5、NodeManager获取数据的方式为shuffle;指定yarn的namenode
vim yarn-site.xml
<configuration>
    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
     </property>
</configuration>


添加环境变量:
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

一、初始化/格式化文件系统
bin/hadoop   hdfs  namenode -format

1、启动namenode
[hadoop@skx1 hadoop-2.3.0]$ sbin/hadoop-daemon.sh start namenode
starting namenode, logging to /home/hadoop/itcast/hadoop-2.3.0/logs/hadoop-hadoop-namenode-skx1.localdomain.out

java.io.IOException: Cannot create directory /home/itcast/hadoop-2.3.0/dfs/name/current
[root@skx1 /]# chmod -R a+w /home/hadoop/itcast   ##/home --主机  /hadoop --用户  /itcast 用户hadoop下的目录

查看namenode是否启动:
[hadoop@skx1 hadoop-2.3.0]$ jps
2719 Jps
2681 NameNode
启动成功!
如果出错:在log日志中查找;

2、启动datanode:
adoop@skx1 hadoop-2.3.0]$ sbin/hadoop-daemon.sh start datanode
查看namenode是否启动:
838 Jps
2681 NameNode
2774 DataNode
启动成功!

在浏览器上查看信息:
http://skx1:50070
Overview 'skx1:9000' (active)

3、启动yarn
[hadoop@skx1 hadoop-2.3.0]$ sbin/start-yarn.sh
查看启动成功:
[hadoop@skx1 hadoop-2.3.0]$ jps
3035 ResourceManager
3313 NodeManager
3341 Jps
2681 NameNode
2774 DataNode
启动成功
在浏览器上查看:
http://skx1:8088


4、在namenode上创建目录:
[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -mkdir /skx1



5、上传文件
[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -put read.txt /skx1


6、运行mapredude程序,前提是yarn启动成功
hadoop@skx1 hadoop-2.3.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar pi 2 2
Number of Maps  = 2
Samples per Map = 2

7、关闭yarn,关闭dfs
sbin/stop yarn.sh
sbin/stop  hdfs.sh


1. Linux系统中用户切换的命令为su,语法为:
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并
且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
–help 显示说明文件
–version 显示版本资讯
USER:欲变更的使用者账号,
ARG: 传入新的Shell参数。

2. su [user] 和 su - [user]的区别:

su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。

如:

[root@rac1 ~]# pwd  --当前目录
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd  --当前目录没有改变,还是之前的用户目录
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd   --当前目录变为当前用户的家目录
/home/oracle
[oracle@rac1 ~]$

所以建议大家在切换用户时,尽量用su - [user],否则可能会出现环境变量不对的问题。

1、linux下jps command not found
hadoop启动,使用命令jps,可是却提示找不到命令,
hadoop执行jps 报
jps -bash: jps: command not found
解决方法:以root身份vi /etc/profile,
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后source /etc/profile就可以,没报错就说明是成功了,重启。

猜你喜欢

转载自onway417.iteye.com/blog/2193462
今日推荐