0.环境准备:
在VMWare中准备四台CentOS6.5虚拟机,主机名分别为hadoop1,hadoop2,hadoop3,hadoop4
1.建立用户:hadoop273,并将其组名指定为jimmy
useradd -g jimmy hadoop273 passwd hadoop273(jimmy)
2.在/home/hadoop273下建立对应的文件夹data hadoop spark soft,解压hadoop安装包到$HOME/hadoop目录下,并配置hadoop273用户的环境变量
vi ~/.bash_profile
3.配置hadoop环境变量:
PATH=$PATH:$HOME/bin
export PATH=$PATH:$JAVA_HOMOE/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=$HOME/hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
配置ssh免密登录
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
4.按照如下配置修改配置文件:
hadoop-env.sh
export JAVA_HOME=/data/java/jdk1.7.0_79
slaves
hadoop2
hadoop3
hadoop4
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000/</value>
</property>
<!-- 上面的value指定的是namenode的地址和端口号 -->
<!-- 指定hadoop运行时产生文件的存储目录(可以不修改) -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop273/hadoop/hadoop-2.7.3/tmp</value>
<!-- 默认在linux系统的temp目录下,生产环境一般配置在一个单独的挂载点 -->
</property>
yarn-site.xml
<!-- 指定主节点的位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- 指定从节点的行为 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop273/data/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop273/data/hdfs/data</value>
</property>
5.将hadoop分发到各个节点
scp -r hadoop-2.7.3/ hadoop273@hadoop2:/home/hadoop273/hadoop
scp -r hadoop-2.7.3/ hadoop273@hadoop3:/home/hadoop273/hadoop
scp -r hadoop-2.7.3/ hadoop273@hadoop4:/home/hadoop273/hadoop
将.bash_profile分发到各个节点
6.启动
格式化namenode
第一次启动集群的情况下:启动namenode之前,我们需要对namenode进行格式化,格式化的命令是:
bin/hadoop namenode -format 或者bin/hdfs namenode -format
格式化之后,就会发现,我们在core-site.xml创建的name目录已经被自动生成了
启动namenode
sbin/hadoop-daemon.sh start namenode
启动datanode
sbin/hadoop-daemon.sh start datanode
7.验证是否启动成功
yarn web界面
http://hadoop1:8088
hdfs web界面
http://hadoop1:50070
8.参考地址
https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/SingleCluster.html
https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/ClusterSetup.html