第一次去安装hadoop,碰见好多问题,比如说安装以后无法运行,各种奇怪的报错之类的。本人觉得还是记录下来,以后可以回顾一下防止再出错。
主机名与IP地址映射关系配置
主节点上执行如下命令
#vi /etc/hosts
在文件最后插入如下内容:(xx为主机和从机的地址)
xx.xx.xx.xx 01
xx.xx.xx.xx 02
xx.xx.xx.xx 03
保存并退出,然后通过scp命令,将配置好的文件拷贝其他两个节点
#scp /etc/hosts root@02:/etc
#scp /etc/hosts root@03:/etc
配置SSH免密登陆
命令如下
ssh-keygen -t rsa
生成完毕后
cd ~/.ssh
cat ~/.ssh/id_rsa.put >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
节点2和3重复此操作随后传输给节点2和3
scp ~/.ssh/authorized_keys root@XXX:~/.ssh/
通过#ssh 02 测试是否配置成功如果不需要输入密码,则证明配置成功
关闭防火墙
vi /etc/selinux/config
修改SELINUX=disabled
设置环境变量
vi /etc/profile
在文件最后,添加如下内容:
# Hadoop Env
export HADOOP_HOME=/xx/hadoop-2.7.3
export PATH=PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
退出vi编辑器,使环境变量设置立即生效
source /etc/profile
通过scp命令,将/etc/profile拷贝到个节点
scp /etc/profile root@02:/etc
scp /etc/profile root@03:/etc
分别在两个节点上执行
source /etc/profile 使其立即生效
查看Hadoop
命令
hadoop version
信息
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb9
2be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /F:/hadoop/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
Hadoop配置
以下操作均在主节点,配置完后使用scp命令将配置文件拷贝到从节点。
切换到/usr/hadoop-2.7.3/etc/hadoop/目录下,修改如下文件:
hadoop-env.sh
在文件最后,增加如下配置:
export JAVA_HOME=/usr/jdk1.8.0_121
export HADOOP_PREFIX=/usr/hadoop-2.7.3
yarn-env.sh
export JAVA_HOME=/usr/jdk1.8.0_121
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://DEV-SH-MAP-01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/mnt/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mnt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mnt/hadoop/dfs/data</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>DEV-SH-MAP-01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>DEV-SH-MAP-01:19888</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>DEV-SH-MAP-01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>DEV-SH-MAP-01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>DEV-SH-MAP-01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>DEV-SH-MAP-01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>DEV-SH-MAP-01:8088</value>
</property>
</configuration>
slaves
此处是添加主机和从机
01
02
03
拷贝配置文件到从机节点
在主节点,执行如下命令:
scp -r /usr/hadoop-2.7.3/etc/hadoop/ root@02:/usr/hadoop-2.7.3/etc/
scp -r /usr/hadoop-2.7.3/etc/hadoop/ root@03:/usr/hadoop-2.7.3/etc/
Hadoop使用
格式化NameNode
主节点上,执行如下命令
hdfs namenode -format
启动HDFS(NameNode、DataNode)
主节点上,执行如下命令
start-dfs.sh
使用jps命令,分别在主机和从机上查看Java进程,可以在主上看到如下进程:
7034 SecondaryNameNode
2399 NameNode
7942 DataNode
11231 Jps
从机上
3517 DataNode
24513 Jps
启动 Yarn(ResourceManager 、NodeManager)
主节点上,执行如下命令
start-yarn.sh
使用jps命令,分别在主机和从机上查看Java进程
可以在主上看到如下进程:
34225 SecondaryNameNode
33922 NameNode
34632 NodeManager
34523 ResourceManager
34028 DataNode
49534 Jps
在从机上看到如下进程:
34632 NodeManager
34028 DataNode
49534 Jps
最后通过浏览器查看HDFS信息
查看Yarn信息
以上就是本人第一次搭建hadoop的总结,如有哪里不足或者缺陷漏洞望指出!!