#Hadoop-3.3.4#JDK1.8#JAVA
2.实验二:Hadoop安装
2.1上传jdk和hadoop安装包(借助xftp7软件进行虚拟机和主机互联文件传输)
2.2配置免密登录
执行命令1:
ssh-keygen
(执行命令后,连续敲回车,生成节点的公钥和私钥,生成的密钥文件会自动放在/root/.ssh目录下。)
执行命令2:
ssh-copy-id root@bogon
将生成的公钥发送到本机。
执行命令3:
ssh bogon
(bogon是我在OpenStack设置的主机名字,自己可以修改为其他英文名字)
2.3配置JDK
2.3.1 创建安装目录
执行命令:
mkdir -p /usr/local/java/jdk8
解压文件:
cd /usr/mydir/warehouse
(通过xftp7上传到此处,然后通过命令行切换至此文件夹下)
解压到指定目录执行命令:
tar zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/java/jdk8/jdk1.8.0_231
路径上的文件夹没有的话,用mkdir创建
mkdir -p /dir01/dir02/dir03 //创建dir01目录下的dir02目录下的子文件dir03
2.3.2查看java解压目录
执行命令:
ll /usr/local/java/jdk8/jdk1.8.0_231
2.3.3配置JDK环境变量
执行命令:vim /etc/profile
添加如下代码:
export JAVA_HOME=/usr/local/java/jdk8/jdk1.8.0_231
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2.3.4让环境变量生效
执行命令:source /etc/profile
2.3.5查看环境变量JAVA_HOME
执行命令:JAVA_HOME
2.3.6查看JDK版本执行命令java -version(至此jdk配置成功)
2.4配置Hadoop
2.4.1解压到指定目录(如果没有下面指定目录,用mkdir方法创建)
执行命令:
tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4
(博主设置的路径有点乱,可以在创建文件时路径清晰一点,把后面的hadoop-3.3.4去掉)
2.4.2查看解压目录
执行命令:
ll /usr/local/hadoop/hadoop3.3.4/hadoop-3.3
2.4.3配置hadoop环境变量(以下所有配置都在命令1切换的文件下执行)
执行命令1:cd /usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4
执行命令2:vim /etc/profile
添加以下代码:
export HADOOP_HOME=/usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
2.4.5让环境变量生效
执行命令:
source /etc/profile
2.4.6编辑Hadoop环境配置文件 hadoop-env.sh
执行命令,进入hadoop配置目录
cd etc/hadoop
执行命令,添加三条环境变量配置
[root@bogon hadoop]# vim hadoop-env.sh
添加如下代码:
export JAVA_HOME=/usr/local/java/jdk8/jdk1.8.0_231
export HADOOP_HOME=/usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
存盘退出后,执行命令source hadoop-env.sh,让配置生效
2.4.7编辑Hadoop核心配置文件 core-site.xml
执行命令:vim core-site.xml
添加如下代码:
<configuration>
<!--用来指定hdfs的主机>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bogon:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4/tmp</value>
</property>
</configuration>
由于配置了IP地址主机名映射,因此配置HDFS节点可用hdfs://bogon:9000,否则必须用IP地址hdfs://192.168.133.130:9000
2.4.8编辑HDFS配置文件 hdfs-site.xml
执行命令:vim hdfs-site.xml
添加如下命令
<configuration>
<!--设置名称节点的目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4/tmp/namenode</value>
</property>
<!--设置数据节点的目录-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4/tmp/datanode</value>
</property>
<!--设置辅助名称节点-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bogon:50090</value>
</property>
<!--hdfs web的地址,默认为9870,可不配置-->
<!--注意如果使用hadoop2,默认为50070-->
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:9870</value>
</property>
<!--副本数,默认为3-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--是否启用hdfs权限,当值为false时,代表关闭-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
2.4.9编辑MapReduce配置文件 mapred-site.xml
执行命令:vim mapred-site.xml
添加如下命令:
<configuration>
<!--配置MR资源调度框架YARN-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
2.4.10编辑YARN配置文件 yarn-site.xml
执行命令:vim yarn-site.xml
添加如下命令:
<configuration>
<!--配置资源管理器:ied-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ied</value>
</property>
<!--配置节点管理器上运行的附加服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
2.4.11格式化名称节点
执行命令:
hdfs namenode -format
Storage directory /usr/local/hadoop/hadoop3.3.4/hadoop-3.3.4/tmp/namenode has been successfully formatted. 表明名称节点格式化成功。
2.5启动hdfs服务
执行命令:
start-dfs.sh
2.6启动yarn服务
执行命令:
start-yarn.sh
2.7查看Hadoop进程
执行命令:
start-all.sh
2.8查看Hadoop WebUI
在浏览器里访问http://bogon:9870