一:免密操作
1.生成rsa公钥
过程中输入回车即可,执行命令:
master@node:~$ ssh-keygen -t rsa
• rsa:公钥加密算法
• ssh-keygen:生成、管理和转换认证密钥
• -t:指定密钥类型
结果如下:
2.为主机(localhost)设置公钥
使用ssh-copy-id命令为本机设置公钥,执行命令:
master@node:~$ ssh-copy-id localhost
• 备注localhost密码为123456
• ssh-copy-id:可以把本地的ssh公钥文件安装到远程主机对应的账户下
结果如下
3.验证ssh免密
使用本机登陆方法验证SSH免密是否成功,执行命令:
master@node:~$ ssh localhost
结果如下:
二:JDK的安装和配置
1.拷贝JDK包到/usr/local目录下
打开终端,使用cp命令将/opt/Packages/hadoop/01/pack/jdk-8u151-linux-x64.tar.gz拷贝到/usr/local/目录下,使用cd /usr/local进入/usr/local/目录,执行ll命令查看是否上传成功
执行指令:
master@node:~$ sudo cp /opt/Packages/hadoop/01/pack/jdk-8u151-linux-x64.tar.gz /usr/local/
master@node:/usr/local$ ll
结果如下:
2.解压JDK安装包
创建/usr/java目录并对/usr/local下的jdk压缩文件进行安装(解压到/usr/java目录下)。
执行命令:
master@node:/usr/local$ sudo mkdir /usr/java
master@node:/usr/local$ sudo tar -zvxf jdk-8u151-linux-x64.tar.gz -C /usr/java/
• 备注:关于tar命令详解参见 https://www.cnblogs.com/xiaochina/p/5801959.html
结果如下:
3.配置JDK的环境变量。
使用vi命令打开.bashrc环境变量配置文件并将jdk安装目录写入到环境变量,执行命令:
master@node:/usr/local$ sudo vim ~/.bashrc
• ~:在linux中是一个代位符,表明的是当前用户目录的地址
• .bashrc文件:主要保存个人的一些个性化设置,如命令别名、路径等
• vi编辑器的详细使用参见 http://blog.youkuaiyun.com/liuligui5200/article/details/52524462
在最后一行添加如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
结果如下:
4.查看JDK版本
编辑完成后使用source命令进行配置文件刷新,让配置文件中的信息生效,验证JDK是否安装成功。
执行命令:
master@node:/usr/local$ source ~/.bashrc
master@node:/usr/local$ java -version
结果如下:
实验四:Hadoop安装和配置
1.拷贝Hadoop安装包
打开终端,使用CP命令将/opt/Packages/hadoop/01/pack/hadoop-2.7.2.tar.gz拷贝到/usr/local/目录下。进入/usr/local/目录下,执行ll命令查看是否上传成功
执行命令:
master@node:/usr/local$ sudo cp /opt/Packages/hadoop/01/pack/hadoop-2.7.2.tar.gz /usr/local/
master@node:/usr/local$ ll
结果如下:
2.解压Hadoop安装包
使用tar命令解压Hadoop安装包,执行命令:
master@node:/usr/local$ sudo tar -zxvf hadoop-2.7.2.tar.gz
结果如下:
3.重命名安装目录
使用命令sudo mv hadoop-2.7.2 hadoop将解压后的Hadoop-2.7.2目录名修改为hadoop,执行命令:
master@node:/usr/local$ sudo mv hadoop-2.7.2 hadoop
结果如下:
4.赋予Hadoop目录最高权限
使用chmod命令赋予hadoop最高权限,执行命令:
master@node:/usr/local$ sudo chmod 777 hadoop
结果如下:
5.查看hadoop目录结构
进入Hadoop文件配置目录,通过ll命令可以查看该目录中的内容,执行命令:
master@node:/usr/local$ cd /usr/local/hadoop/etc/hadoop/
master@node:/usr/local/hadoop/etc/hadoop$ ll
结果如下:
6.修改Hadoop-env.sh配置文件
进入/usr/local/hadoop/etc/hadoop/目录,执行sudo vi hadoop-env.sh对hadoop-env.sh修改:执行指令:
master@node:/usr/local/hadoop/etc/hadoop$ sudo vi hadoop-env.sh
并设置JAVA_HOME环境变量为 /usr/java/jdk1.8.0_151
结果如下:
7.修改core-site.xml配置文件
进入/usr/local/hadoop/etc/hadoop/目录,执行sudo vi core-site.xml对core-site.xml修改,修改内容如下:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
解释如下:
• fs.defaultFS:Name的 URI
• hadoop.tmp.dir:文件系统依赖的基本配置存储路径
• node:为主机名实际操作根据电脑配置做相应更改
结果如下:
8.修改配置文件hdfs-site.xml
进入/usr/local/hadoop/etc/hadoop/目录,执行sudo vi hdfs-site.xml对hdfs-site.xml修改,修改内容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
</configuration>
解释如下:
• dfs.replication:hdfs的副本数
• dfs.namenode.name.dir:元数据保存路径
• dfs.datanode.data.dir:数据保存路径
结果如下:
9.修改mapred-site.xml配置文件
进入/usr/local/hadoop/etc/hadoop/目录,执行sudo cp mapred-site.xml.template mapred-site.xml命令生成mapred-site.xml文件并执行sudo vi mapred-site.xml命令对mapred-site.xml文件修改:
修改内容如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
解释如下:
mapreduce.framework.name:运行mapreduce程序
结果如下:
10.修改yarn-site.xml配置文件
进入/usr/local/hadoop/etc/hadoop/目录,执行sudo vi yarn-site.xml修改yarn-site.xml文件,修改内容如下:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node</value>
</property>
</configuration>
解释如下:
• yarn.nodemanager.aux-services:运行的附属服务,配置成mapreduce_shuffle,才可运行MapReduce程序
• yarn.resourcemanager.hostname:运行ResourceManager机器所在的节点位置
• node:为主机名实际操作根据电脑配置做相应更改
结果如下:
11.修改./bashrc环境变量
执行sudo vi ~/.bashrc命令修改环境变量文件:
在最后一行追加内容如下:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
结果如下:
12.使环境变量生效
环境配置完成之后执行source ~/.bashrc让配置文件生效,并通过验证Hadoop版本来验证Hadoop是否置成功。
执行命令:
master@node:/usr/local/hadoop/etc/hadoop$ source ~/.bashrc
master@node:/usr/local/hadoop/etc/hadoop$ hadoop version
运行结果如下:
实验五:启动Hadoop
1.格式化NameNode
格式化NameNode。在任意目录下执行命令hdfs namenode -format 或者hadoop namenode -format,实现格式化。
运行结果如下:
2.启动HDFS系统
启动Hadoop进程,首先执行命令start-dfs.sh,启动HDFS系统。
运行结果如下:
3.启动yarn系统
启动Hadoop进程,然后执行命令start-yarn.sh,启动YARN系统。
运行结果如下:
4.查看hadoop进程
启动之后,在任意目录下执行jps命令验证进程是否启动。
运行结果如下:
5.测试HDFS
测试HDFS,在浏览器中输入http://node:50070进入HDFS管理界面。
运行结果如下:
6、测试YARN,在浏览器中输入http://node:8088 进入MR管理界面。
运行结果如下: