经过自己不断实战,写下自己的一些经验,希望对大家有所帮助。
废话不多讲,我们开始…
环境配置信息 :
- jdk 1.8.0_181 (必须提前在centos7中安装openjdk,Hadoop的安装依赖于openjdk的相关环境,其安装教程自行百度。)
- 系统:GentOs 7.x
修改系统hostname(修改主机名称)
[root@aliyunhost sysconfig]# cd /etc/sysconfig/
[root@aliyunhost sysconfig]# cat network
# Created by anaconda
NETWORKING_IPV6=no
PEERNTP=no
NETWORKING=yes
HOSTNAME=aliyunhost
[root@aliyunhost hadoop]# cd /etc/
[root@aliyunhost etc]# vim host
host.conf hostname hosts hosts.allow hosts.deny
修改后如下:
[root@aliyunhost etc]# cat hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.aliyunhost
[root@aliyunhost etc]# cat hostname
aliyunhost
(1)重启网络配置
[root@aliyunhost etc]# /etc/init.d/network restart
Restarting network (via systemctl): [ OK ]
[root@aliyunhost etc]# hostname
aliyunhost
至此,本地host修改和配置完成
mkdir /usr/local/webserver/hadoop
mkdir /data/hadoop/temp
mkdir /data/hadoop/name
mkdir /data/hadoop/data
groupadd hadoop
useradd hadoop -g hadoop -p hadoop
chown -R hadoop:hadoop /usr/local/webserver/hadoop
chown -R hadoop:hadoop /data/hadoop
cd usr/local/webserver/hadoop
## 下载
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
## 解压
tar -zxvf hadoop-3.1.1.tar.gz
hadoop相关文件配置(总共5个配置文件)
进入目录:hadoop-3.1.1/etc/hadoop (cd命令不用多说)
A.修改文件1
vim hadoop-env.sh
在hadoop-env.sh文件顶部,加入配置(jdk安装目录根据自己实情)
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
注意:JAVA_HOME=/usr/java/jdk1.8.0_181-amd64:该变量就是你安装openjdk的时候所配置的变量。每个人的jdk版本有所差异,所以环境变量也不尽相同!安装jdk版本教程中便有自己jdk版本的变量!!!
B.修改文件2
vim core-site.xml
文件内容如下:
fs.default.name
hdfs://aliyunhost:9000
fs.defaultFS
hdfs://aliyunhost:9000
hadoop.tmp.dir
/data/hadoop/temp
C.修改文件3
vim hdfs-site.xml
dfs.replication
1
dfs.name.dir
/data/hadoop/name
dfs.data.dir
/data/hadoop/data
dfs.datanode.http.address
aliyunhost:9864
D.修改文件4
vim mapred-site.xml
mapreduce.framework.name
yarn>
mapred.job.tracker
aliyunhosst:9902
E.修改文件5
vim yarn-site.xml
yarn.resourcemanager.hostname
aliyunhost
yarn.nodemanager.aux-services
mapreduce_shuffle
F.增加hadoop环境变量配置
vim /etc/profile
增加内容如下:
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HADOOP_HOME=/usr/local/webserver/hadoop/hadoop-3.1.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
恭喜你,hadoop配置告一段落!!!
启动hadoop
(1)namenode格式化 [因为已置hadoop环境变量,直接执行以下命令。]
hadoop namenode -format
(2)启动
start-dfs.sh
若出现以下错误:
Last login: Thu Aug 23 14:17:40 CST 2018 from 124.89.85.202 on pts/0 aliyunhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). Starting datanodes
//HDFS是分布式系统,所以启动HDFS时,会启动配置的各个服务器节点,包括本机,在启动过程中是通过ssh远程操作的,若不配置ssh免密登陆,在连接节点的过程中肯定会失败,所以需要配置免密登录,依次执行以下命令:
1:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3:chmod 0600 ~/.ssh/authorized_keys
(3)再次执行start-dfs.sh,执行jps命令
start-dfs.sh
jps
//两条指令都要执行
出现下面界面,说明启动成功!!!!
1669 NameNode
11061 Jps
1782 DataNode
1959 SecondaryNameNode
最后执行命令netstat -nltp
[root@aliyunhost hadoop]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9867 0.0.0.0:* LISTEN 1782/java
tcp 0 0 0.0.0.0:9900 0.0.0.0:* LISTEN 10729/nginx:
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 10729/nginx:
tcp 0 0 0.0.0.0:9868 0.0.0.0:* LISTEN 1959/java
tcp 0 0 0.0.0.0:9870 0.0.0.0:* LISTEN 1669/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 29075/sshd
tcp 0 0 127.0.0.1:40547 0.0.0.0:* LISTEN 1782/java
tcp 0 0 0.0.0.0:9864 0.0.0.0:* LISTEN 1782/java
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1669/java
tcp 0 0 0.0.0.0:9866 0.0.0.0:* LISTEN 1782/java
完成完成完成!!!!!!!!!!!!!!!***
因为我们配置了端口9864,这也就是hadoop提供的web页面端口,浏览器打开http://host:9864
总结:JAVA_HOME=/usr/java/jdk1.8.0_181-amd64这个环境变量是一个坑,在安装openjdk的时候,一定要记住这个环境变量存放的位置,记不得的时候,自行查看,以便复制粘贴!有不懂的问题,欢迎各位爱好者留言!!!
口号很重要:零号阿波罗,绝对是万能的!!!