配备hadoop环境
1、安装linux系统
网关选择的是NAT模式
2、修改IP(设置固定ip,能够访问外网)
2.1)vi /etc/sysconfig/network-scripts/ifcfg-ens33 (打开文件进入编辑)
2.2)#点击按键i,进行编辑。添加配置信息
BOOTPROTO=static #正常情况下这个设置为静态ip,但是我的机器上还是需要设置为dhcp,并且新设置的静态ip生效,ip addr 查看ip是有的
IPADDR=192.168.121.121#IP地址
GATWAY=192.168.121.1#网关
NETMASK=255.255.255.0#子网掩码
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
#点击esc退出编辑,点击shift+:,输入wq,保存退出
2.3)vi /etc/resolv.conf
nameserver 8.8.8.8 #与网络配置中dns配置一样
2.4)网络重启
克隆的系统,更改ip配置后,我的需要关闭NetworkManager服务
service NetworkManager stop #关闭服务
chkconfig NetworkManager off #服务设置开机不启动
(相当于systemctl disable NetworkManager.service)
service network restart
2.5)检验网络
ping 网关
ping 百度
如果全部修改后,还是ping不通外网,查看网关(这个错误是在我克隆出一台新的虚拟机出现的问题)
netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.121.2 0.0.0.0 255.255.255.0 U 0 0 0 eth0
表示没有设置
查看文件 /etc/sysconfig/static-routes 如果没有则新建(touch static-routes #注意路径)
文件中添加
any net default gw 192.168.129.2
保存退出,重启网卡验证
3、安装配置jdk
新建两个文件夹,在路径/opt下
mkdir /opt/module
mkdir /opt/software
准备linux下的jdk,可以通过wincp传到虚拟服务器上,存放在/opt/software下
3.1)解压jdk.tar.gz 到/opt/module
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module
3.2)获取javahome路径,做相关配置
cd /opt/module/jdk1.8.0_144/
pwd 得到当前路径/opt/module/jdk1.8.0_144
配置到文件中
vi ~/.bash_profile
最后一行添加
JAVA_HOME=/opt/module/jdk1.8.0_144
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
wq保存退出
环境变量生效(root目录下)
source .bash_profile
验证
echo $JAVA_HOME
javac
java -version
4、安装tree(用于展示目录结构)
安装tree
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
进入到module目录,展示hadoop目录(展示3级)
tree hadoop-2.7.3/ -d -L 3
5、安装配置hadoop
解压hadoop文件
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module
###hadoop环境变量配置###
a. [root@bigdata121 hadoop]# vi ~/.bash_profile
b. 配置文件添加以下内容
HADOOP_HOME=/opt/module/hadoop-2.7.3 ##hadoop的目录
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH##将hadoop下执行命令配置过来 bin和sbin目录
export PATH
c. source ~/bash_profile 生效环境变量
d.输入start 按两下tab建看是否生效
[root@bigdata121 hadoop-2.7.3]# start
5.1进入文件夹cd /opt/module/hadoop-2.7.3,新建两个文件夹mkdir logs tmp,分别存放hadoop的日志与数据
5.2进入文件夹 cd /opt/module/hadoop-2.7.3/etc/hadoop,对文件夹中的几个文件进行配置hadoop-evn.sh , core-site.xml , hdfs-site.xml ,mapred-site.xml, yarn-site.xml
### hadoop-env.sh ### 中添加
export JAVA_HOME=/opt/module/jdk1.8.0_144
### core-site.xml ### 中添加
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata121:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.3/tmp</value>
</property>
### hdfs-site.xml ###中添加
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!—指定副本節點 secondary namenode—>
dfs.namenode.secondary.http-address
bigdata122:50090
### mapred-site.xml ###
<!--配置Yarn的节点-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata121</value>
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
···(先修改主机名)
### 全分布式需要修改的地方 ###
文件slaves中添加对应datanode主机名
bigdata122
bigdata123
scp拷贝
scp -r /opt/module/hadoop-2.7.3/ root@bigdata123:/opt/module/
集群格式化
[root@bigdata121 hadoop-2.7.3]# bin/hdfs namenode -format
[root@bigdata121 hadoop-2.7.3]# sbin/start-dfs.sh
查看防火墙状态:
[root@bigdata121 ~]# firewall-cmd --state
关闭防火墙 systemctl stop firewalld.service(临时关闭,重启后仍然是开启的)
systemctl disable firewalld.service(永久关闭)
查看是否启动成功
jps
查看是否成功 http://192.168.121.121:50070
配置完成后可以尝试运行一个示例
cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /root/temp/a.xtx /root/output/wc2
6、修改设置主机名称
hostsnamectl set-hostname bigdata121
或者使用
vi /etc/hostname 修改里面的名字
reboot后,修改主机名才会生效
vi /etc/hosts
(伪分布式集群使用)
添加
192.168.121.121 bigdata121
192.168.121.122 bigdata122
192.168.121.123 bigdata123
192.168.121.124 bigdata124
7、设置免密登录(ssh免密登录)
1、进入到 root目录下
[root@bigdata121 /]# cd root
[root@bigdata121 ~]# cd .ssh
[root@bigdata121 .ssh]#
如果没有.ssh目录,需要使用ssh登录一次,则会自动生成该文件夹
[root@bigdata121 ~]# ssh bigdata121
2、生成公钥和私钥
[root@bigdata121 .ssh]# ssh-keygen -t rsa
连敲回车,生成文件
生成的文件在
[root@bigdata122 ~]# cd .ssh
[root@bigdata122 .ssh]# ls
id_rsa id_rsa.pub known_hosts
3、拷贝id_rsa.pub授权
[itstar@bigdata122 .ssh]$ ssh-copy-id bigdata122
8、时间同步
能够上网的话,使用网络时间
如果不可以上网:
date -s 2020-07-18(同时操作多台机器)
ntp 指定一个服务器为时钟服务器