问题导读:
1.如何配置各个节点之间无密码互通?
2.启动hadoop,看不到进程的原因是什么?
3.配置hadoop的步骤是什么?
4.有哪些配置文件需要修改?
5.如果没有配置文件,该如何找到该配置文件?
6.环境变量配置了,但是不生效的原因是什么?
7.如何查看hadoop2监控页面
- sudo chown -R aboutyun:aboutyun mv.sh
复制代码
解释一下上面命令的含义:
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。
2.chown-》change own的意思。即改变所属文件。对于他不了解的同学,可以查看:让你真正了解chmod和chown命令的用法
- tar zxvf hadoop-2.2.0_x64.tar.gz
复制代码
这里是解压到当前路径。
- vi /etc/hosts
复制代码
然后对你里面的内容修改:
- vi /etc/hostname
复制代码
修改为master即可
- ssh localhost
复制代码
就可以无密码登录了。
<ignore_js_op>
就是把工钥放到里面,然后本台机器就可以ssh无密码登录了。如果想彼此无密码登录,那么就需要把彼此的工钥(*.pub)放到authorized_keys里面
<ignore_js_op>
这里提供一个简单的方法:
通过下面命令
1.export PATH=$PATH:/usr/java/jdk1.7.0_51/bin
通过cat命令,可以查看
2.为了保证生效执行下面命令
- source /etc/environment
复制代码
二、CLASSTH配置
上面只是配置了PATH,还需在配置CLASSTH
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
执行配置完毕
如果不起作用,采用通过下面配置:
java.sh配置
因为重启之后,很有会被还原,下面还需要配置java.sh
这里可以通过
cd /etc/profile.d
vi java.sh
把下面两行放到java.sh
export PATH=$PATH:/usr/java/jdk1.7.0_51/bin
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
保存。这样就配置完毕了。
- source java.sh
复制代码
一、需要注意的问题
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/home/aboutyun/tmp</value>
- <description>Abase forother temporary directories.</description>
- </property>
复制代码
说一下上面参数的含义,这里是hadoop的临时文件目录,file的含义是使用本地目录。也就是使用的是Linux的目录,一定确保下面目录
- /home/aboutyun/tmp
复制代码
的权限所属为你创建的用户。并且这里面我也要会变通,aboutyun,为我创建的用户名,如果你创建了zhangsan或则lisi,那么这个目录就会变为
- /home/zhangsan/tmp
复制代码
这里不熟悉,是因为对Linux的不熟悉的原因。这里在来张图:
<ignore_js_op>
hdfs-site.xml
上面讲完,我们开始配置
- tar zxvf hadoop-2.2.0_x64.tar.gz
复制代码
- mv hadoop-2.2.0 hadoop
复制代码
解压到/usr路径下
这里文件权限:创建完毕,你会看到红线部分,注意所属用户及用户组。如果不再新建的用户组下面,可以使用下面命令来修改:让你真正了解chmod和chown命令的用法
<ignore_js_op>
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://master:8020</value>
- </property>
- <property>
- <name>io.file.buffer.size</name>
- <value>131072</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/home/aboutyun/tmp</value>
- <description>Abase for other temporary directories.</description>
- </property>
- <property>
- <name>hadoop.proxyuser.aboutyun.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.aboutyun.groups</name>
- <value>*</value>
- </property>
- </configuration>
复制代码
- <configuration>
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>master:9001</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/home/aboutyun/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/home/aboutyun/dfs/data</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>3</value>
- </property>
- <property>
- <name>dfs.webhdfs.enabled</name>
- <value>true</value>
- </property>
- </configuration>
复制代码
- <configuration>
- <property> <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>master:10020</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>master:19888</value>
- </property>
- </configuration>
复制代码
- <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>master:8032</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address</name>
- <value>master:8030</value>
- </property>
- <property>
- <name>yarn.resourcemanager.resource-tracker.address</name>
- <value>master:8031</value>
- </property>
- <property>
- <name>yarn.resourcemanager.admin.address</name>
- <value>master:8033</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address</name>
- <value>master:8088</value>
- </property>
- </configuration>
复制代码
- sudo scp -r /usr/hadoop aboutyun@slave1:~/
复制代码
这里记得先复制到home/aboutyun下面,然后在转移到/usr下面。
一、节点之间传递数据:
第一步:vi scp.sh
第二步:把下面内容放到里面(记得修改下面红字部分,改成自己的)
#!/bin/bash#slave1
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave1:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave1:~/
#slave2
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave2:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave2:~/
第三步:保存scp.sh
第四步:bash scp.sh执行
二、移动文件夹:
可以自己写了。
- vi /etc/environment
复制代码
第二步:添加如下内容:记得如果你的路径改变了,你也许需要做相应的改变。
- hdfs namenode –format
复制代码
或则使用下面命令:
- hadoop namenode format
复制代码
- start-dfs.sh
复制代码
namenode
secondarynamenode
- start-yarn.sh
复制代码
我们看到如下效果:
slave1有如下进程
<ignore_js_op>
然后我们输入:(这里有的同学没有配置hosts,所以输出master访问不到,如果访问不到输入ip地址即可)
- http://master:8088/
复制代码
如何修改hosts:
win7 进入下面路径:
- C:\Windows\System32\drivers\etc
复制代码
找打hosts
<ignore_js_op>
然后打开,进行如下配置即可看到
<ignore_js_op>
看到下图:
到此全部完毕。