部署环境
master 192.168.128.130 slave1 192.168.128.131 slave2 192.168.128.132 slave3 192.168.128.133
安装包
hadoop-3.2.2.tar.gz
链接: https://pan.baidu.com/s/1esiIfOfC7nm-B9b1oTm8AQ
提取码: a2ng
jdk-8u151-linux-x64.rpm
链接: https://pan.baidu.com/s/1PA_EX5-IY6mtHsgxfUQbtw
提取码: ny9i
安装jdk(四台虚拟机都要)
1.将jdk安装包上传至虚拟机的/opt目录下(可以使用Xmanager Enterprise 5的xfp上传,不会的话自行百度下) 然后执行命令cd /opt ,切换到opt目录下,再使用命令rpm – ivh jdk-8u151-linux-x64.rpm 解压到/usr目录下 2.使用vi /etc/profile 命令添加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
再使用source /etc/profile 使配置生效 3.使用命令java -version 查看jdk是否配置成功
Hadoop3.2.2安装(master节点)
1.将hadoop-3.2.2.tar.gz上传至master节点的/opt目录下 使用命令cd /opt 切换到/opt目录下,再使用tar -zxf hadoop-3.2.2.tar.gz -C /usr/local 解压(ps:hadoop3.2.2挺大的,解压需要一段时间) 2.使用cd /usr/local/hadoop-2.6.5/etc/hadoop/ 进入hadoop目录修改文件(可以用Xmanager Enterprise 5的xfp连接master进行修改,比较方便) 根据个人虚拟机主机名,对文件中的出现的master、slave1、slave2、slave3进行适当的修改;还有java_home的位置也要根据虚拟机jdk安装位置 PS:里面有的文件原本后缀是.template,需要修改其文件名(就是将文件名的.template去掉)
- core-site.xml
末尾添加以下代码:
<configuration>
<property>
<name>fs.defaultFS</name><value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/log/hadoop/tmp</value>
</property>
</configuration>
- hadoop-env.sh
末尾添加以下代码:
export JAVA_HOME=/usr/java/jdk1.8.0_151
- hdfs-site.xml
末尾添加以下代码:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
- mapred-site.xml
末尾添加以下代码:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value>
</property>
</configuration>
- yarn-env.sh
末尾添加以下代码:
export JAVA_HOME=/usr/java/jdk1.8.0_151
- yarn-site.xml
末尾添加以下代码:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/data/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/data/tmp/logs</value></property>
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs/</value>
<description>URL for job history server</description>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<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.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>
- workers(其实就是hadoop2中的slaves文件)
末尾添加以下代码:
master
slave1
slave2
slave3
3.使用cd /usr/local/hadoop-3.2.2/sbin 进入sbin目录修改文件(这个是hadoop3新增的,之前hadoop2没有该问题,如果不修改的话hadoop3集群启动会报错) 在start-dfs.sh和stop-dfs.sh开头添加以下代码:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在start-yarn.sh和stop-yarn.sh开头添加以下代码:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
以上文件可以百度云下载,密码hyn4 4.master节点拷贝hadoop文件到三个slave节点 命令如下:
scp -r /usr/local/hadoop-3.2.2 slave1:/usr/local
scp -r /usr/local/hadoop-3.2.2 slave2:/usr/local
scp -r /usr/local/hadoop-3.2.2 slave3:/usr/local
5.格式化namenode节点(四台虚拟机都要) 命令如下:
cd /usr/local/hadoop-3.2.2/bin
./hdfs namenode -format
6.hadoop集群启动 在master节点使用命令cd /usr/local/hadoop-3.2.2/sbin 切换到sbin目录下 两种方法启动hadoop集群
- start-all.sh
- 先./start-dfs.sh,然后再./start-yarn.sh
7.jps查看结果: 8.可以访问http://192.168.128.130:9870/(ip是master节点的ip)
http://192.168.128.130:8088/cluster/(ip是master节点的ip)查看
|