本平台密码 83953588abc
配置 Java 环境
下载 JDK(本实验从 / cgsrc 文件中复制到指定目录)
- mkdir /usr/local/java
- cp /cgsrc/jdk-8u171-Linux-x64.tar.gz /usr/local/java/
JDK 至少 1.8 以上!!!
解压 JDK 安装包
- cd /usr/local/java
- tar -zxvf jdk-8u171-Linux-x64.tar.gz
- rm -f jdk-8u171-Linux-x64.tar.gz
添加环境变量
配置 JAVA_HOME 环境变量. 修改文件 VIM ~/.bashrc
- export JAVA_HOME=/usr/local/java/jdk1.8.0_171
- export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar
- export PATH=$PATH:${JAVA_HOME}/bin
如果 PATH 环境变量修改错误, 则可能出现 Linux 常用命令无法找到的现象!!!
使修改环境生效, source ~/.bashrc.
检查是否设置正确.
- echo $JAVA_HOME #检查变量值
- java -version #查看 java 版本
配置分布式模式
选定一台机器作为名称节点 (Master), 另外两条作为数据节点 (Slave).
配置 hosts 文件
在 Master 上修改 / etc/hosts 文件:
使用命令 VIM /etc/hosts
- ip1 master
- ip2 slave1
- ip3 slave2
测试节点之间是否已经联通:
- ping master -c 3
- ping slave1 -c 3
- ping slave2 -c 3
配置 SSH 无密码登录
必须要让 master 节点可以 SSH 无密码登录到各个节点上. 首先, 生成 master 节点的公匙, 如果之前已经生成过公匙, 必须删除原来的公匙, 重新生成一次, 命令如下:
- cd ~/.SSH #如果没有该目录, 先执行一次 SSH localhost
- rm -f ./id_rsa* #删除之前生成的公匙
- SSH-keygen -t rsa #执行该命令后, 遇到提示信息, 均按 Enter 即可.
为了让 master 节点能无密码 SSH 登录到本机, 需要在 mater 节点上执行如下 cat ./id_rsa.pub>> ./authorized_keys.
检测是否成功, SSH master , 遇到提示信息, yes 即可, exit 退出.
把 master 上的公匙传输到 slave 节点:
- scp ~/.SSH/id_rsa.pub root@slave1:/root
- scp ~/.SSH/id_rsa.pub root@slave1:/root
其中本次实验平台, 要把 slave1,slave2 换成相应的 IP.
传输完成后在 slave1 和 slave2 节点上将 SSH 公匙加入授权:
- mkdir ~/.SSH
- cat ~/id_rsa.pub>> ~/.SSH/authoried_keys
- rm -f ~/id_rsa.pub
配置环境变量
将 Hadoop 安装包复制到 / usr/local 目录上:
cp /cgsrc/hadoop-2.7.1.tar.gz /usr/local/
解压
- cd /usr/local
- tar -zxvf hadoop-2.7.1.tar.gz
- rm -f hadoop-2.7.1.tar.gz
- mv hadoop-2.7.1/ hadoop #将 hadoop-2.7.1 重命名为 hadoop
配置环境变量
打开~/.bashrc 文件
VIM ~/.bashrc
输入以下内容
export PATH=$PATH:/usr/1ocal/hadoop/bin:/usr/1ocal/hadoop/sbin
文件生效
source ~/.bashrc
查看 hadoop 版本
hadoop version
配置集群环境
配置集群环境时, 需要修改 / usr/local/hadoop/etc/hadoop 目录下的配置文件, 这里仅设置正常启动必须的设置项, 包括 slaves,core-site.xml,hdfs
-site.xml,mapred-site.xml,yarn-site.xml 共五个文件.
修改文件 slaves
需要把所有数据节点的主机名写入该文件, 每行一个, 默认为 localhost
(即把本机作为数据节点). 在进行集群配置时, 可以保留 localhost, 让 master 节点同时充当名称节点和数据节点, 也可以删除 localhost 这行, 让 master 节点仅作为名称节点使用.
本节让 master 节点仅作为名称节点使用, 因此将 slaves 文件中原来的内容删除, 添加如下内容:
slave1
slave2
修改文件 core-site.xml
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://master:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/usr/1ocal/hadoop/tmp</value>
- </property>
- </configuration>
修改文件 hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>master:50090</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/usr/1ocal/hadoop/tmp/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/usr/1ocal/hadoop/tmp/dfs/date</value>
- </property>
- </configuration>
- cp mapred-site.xml.template mapred-site.xml
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>master:10020</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>master:19888</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>master</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- </configuration>
- cd /usr/local
- rm -rf ./hadoop/tmp #删除临时文件
- rm -rf ./hadoop/1ogs/* #删除日志文件
- tar -zcf ~/hadoop.master.tar.gz. /hadoop #先压缩再复制
- cd ~
- scp ./hadoop.master.tar.gz root@slave1: /root
- scp ./hadoop.master.tar.gz root@slave2: /root
- rm -rf usr/local/hadoop #如果有旧文件则先删除
- tar -zxf ~/hadoop.master.tar.gz -C /usr/1ocal
- rm -f ~/hadoop.master.tar.gz
- start-dfs.sh
- start-yarn.sh
- mr-jobhistory-daemon.sh start historyserver
来源: https://www.cnblogs.com/SmithBee/p/12755990.html