1.下载和配置JDK
本文的Java环境是jdk-1.8.0
下载包:jdk-8u144-linux-x64.tar.gz
tar -xzvf jdk-8u144-linux-x64.tar.gz
设置环境变量(/etc/profile:系统环境变量,~/.bashrc:用户环境变量 命令source 更新环境变量设置)
export JAVA_HOME=/opt/download/jdk1.8.0_144(填写自己的jdk安装路径)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export PATH=${JAVA_HOME}/bin:$PATH
分别输入命令,java 、 javac 、 java -version,查看jdk环境变量是否配置成功
2.计划集群的三台主机,一台master,两台salver
修改主机名
1.修改/etc/hostname
2.修改/etc/hosts
将虚拟机的网络连接改为only-host模式,查询IP地址如下
master 192.168.145.128
salve1 192.168.145.129
salve1 192.168.145.130
3.配置三台机器之间的免密登陆
在Ubuntu免密登陆设置 中有详细的步骤。
4.配置Hadoop环境变量
需要配置的文件有:/etc/profile、HADOOP_HOME/etc/hadoop-env.sh、HADOOP_HOME/etc/yarn-env.sh。
(1)配置HADOOP_HOME,编辑/etc/profile
export HADOOP_HOME=/home/hadoop/hadoop (Hadoop的安装路径)
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
(以下两行最好加上,若没有启动Hadoop、hbase时都会有没加载lib成功的警告)
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
(2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下
编辑 vim etc/hadoop/hadoop-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安装路径)
编辑 vim etc/hadoop/yarn-env.sh ,加入export JAVA_HOME=/opt/java/jdk1.7.0_80(jdk安装路径)
5.配置相关的基本xml
需要配置的文件core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml
(1)配置core-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name> <!--NameNode 的URI-->
<value>hdfs://mater:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--hadoop临时文件的存放目录-->
<value>/opt/hbase/hadoop-2.7.3/temp</value>
</property>
</configuration>
(2)配置hdfs-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/hdfs-site.xml
<configuration>
<property> <!--namenode持久存储名字空间及事务日志的本地文件系统路径-->
<name>dfs.namenode.name.dir</name>
<value>/opt/hbase/hadoop-2.7.3/dfs/name</value>
<!--目录无需预先创建,会自动创建-->
</property>
<property> <!--DataNode存放块数据的本地文件系统路径-->
<name>dfs.datanode.data.dir</name>
<value>/opt/hbase/hadoop-2.7.3/dfs/data</value>
</property>
<property> <!--数据需要备份的数量,不能大于集群的机器数量,默认为3-->
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property> <!--设置为true,可以在浏览器中IP+port查看-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
(3)配置mapred-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/mapred-site.xml
<configuration>
<property> <!--mapreduce运用了yarn框架,设置name为yarn-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property> <!--历史服务器,查看Mapreduce作业记录-->
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
(4)配置yarn-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/yarn-site.xml
<configuration>
<property> <!--NodeManager上运行的附属服务,用于运行mapreduce-->
<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> <!--ResourceManager 对客户端暴露的地址-->
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property> <!--ResourceManager 对ApplicationMaster暴露的地址-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property> <!--ResourceManager 对NodeManager暴露的地址-->
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property> <!--ResourceManager 对管理员暴露的地址-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property> <!--ResourceManager 对外web暴露的地址,可在浏览器查看-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
7、配置slaves文件
在Hadoop安装目录下,编辑vim etc/hadoop/slaves,去除默认的localhost,加入slave1、slave2,保存退出。
8、通过远程复制命令scp,将配置好的Hadoop复制到各个节点对应位置
scp -r /opt/hadoop-2.7.4 192.168.145.129:/opt/hadoop-2.7.4
scp -r /opt/hadoop-2.7.4 192.168.145.130:/opt/hadoop-2.7.4
9、Hadoop的启动与停止
(1)接下来配置本地hosts,编辑./etc/hosts文件,加入
192.168.145.128 master
192.168.145.129 salve1
192.168.145.130 salve1 在Master服务器启动hadoop,从节点会自动启动,进入Hadoop目录下,
(2)输入命令,bin/hdfs namenode -format进行hdfs格式化
输入命令,sbin/start-all.sh,进行启动(目前不推荐这样)
也可以分开启动,sbin/start-dfs.sh、sbin/start-yarn.sh
在master 上输入命令:jps, 看到ResourceManager、
NameNode、SecondaryNameNode进程
在slave 上输入命令:jps, 看到DataNode、NodeManager进程
出现这5个进程就表示Hadoop启动成功。
(3)在浏览器中输入http://master:50070查看master状态,
输入http://192.168.172.72:8088查看集群状态
(4)停止hadoop,进入Hadoop目录下,输入命令:sbin/stop-all.sh,
即可停止master和slave的Hadoop进程