01-VMware安装并配置CentOS7+Hadoop2.7.6(完全分布式)

前言

大数据省赛貌似用的是CentOS7+Hadoop2.7.6,所以用CentOS再配置一遍Hadoop2.7.6,这篇博客简单记录一下安装和配置过程。

目录

前言

1.硬件安装

 2.配置网络

 3.配置环境

1)安装elep-release

2)关闭防火墙和防火墙开机自启动

3)给原始用户增加root权限

4)在opt目录下创建文件夹,并修改所属主和组

5)卸载虚拟机自带的JDK

4.克隆虚拟机

 5.修改克隆机的配置

6.安装jdk

7.安装Hadoop 2.7.6

8.本地运行模式测试

Grep案例 

 WordCount案例

 9.全分布式配置

(1)配置网络(不知道有没有意义)

(2)集群配置

集群部署规划

core-site.xml

hdfs-site.xml

yarn-env.sh

yarn-env.site.xml

mapred-env.sh

mapred-site.xml

(3)格式化

 清除data和log 

格式化hdfs

(4)手动启动集群(配置SSH免密登录之后可以群起) 

启动hadoop102的namenode

启动hadoop102的datanode

启动hadoop103的datanode

启动hadoop104的datanode

 网页验证

10.配置ssh免密登录 

(1)生成公钥

 (2)拷贝公钥到其他机器上

 11.群起集群

(1)配置slaves

(2)手动停止脚本

102

103&104

(3) 启动集群

在102上启动dfs:

在103上启动yarn(因为resourceManager在103上):


1.硬件安装

自定义(高级)--稍后安装操作系统--Linux+CentOS7 64位--核心内存之类的看情况填--NAT--默认--默认--默认--40GB--完成--编辑此虚拟机--CD/DVD--使用ISO--开启此虚拟机--install

 2.配置网络

su root
vim /etc/sysconfig/network-scripts/ifcfg-ens33

dhcp改成static

在下面插入:

 修改主机名称

vim /etc/hostname

修改主机名称映射

vim /etc/hosts

重启

sudo reboot

 3.配置环境

以下全程以root用户进行

1)安装elep-release

yum install -y epel-release

2)关闭防火墙和防火墙开机自启动

systemctl stop firewalld
systemctl disable firewalld.service

3)给原始用户增加root权限

sudo vim /etc/sudoers

在%wheel        ALL=(ALL)        ALL下面加入

用户名    ALL=(ALL)    NOPASSWD:ALL

4)在opt目录下创建文件夹,并修改所属主和组

mkdir /opt/module
mkdir /opt/software
sudo chown wolf:wolf module/ software/

5)卸载虚拟机自带的JDK

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

rmp -qa:查询所安装的所以软件包

grep -i:忽略大小写

xargs -n1:表示每次只传一个参数

rpm -e -nodeps:强制卸载软件

重启

reboot

4.克隆虚拟机

过程略,克隆出Hadoop100、102、103、104

 5.修改克隆机的配置

修改ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

 修改IPADDR后面的100,改成102、103、104

修改主机名称

vim /etc/hostname

 还是,改成hadoop102、103、104

重启

reboot

然后用ssh工具把软件包都上传到机器上。 

6.安装jdk

以下步骤可以在主机用户下进行

 解压jdk到module

tar -zxvf jdk-xxxxx -C /opt/module

配置环境变量

sudo vim /etc/profile

在末尾加上

export JAVA_HOME=/opt/module/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

激活环境变量修改

source /etc/profile

验证java

java -version

7.安装Hadoop 2.7.6

解压

tar -zxvf hadoop-2.7.6.tar.gz -C /opt/module/

配置环境变量

sudo vim /etc/profile

在末尾加上

export HADOOP_HOME=/opt/module/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

 激活环境变量修改

source /etc/profile

验证

hadoop

然后配置两个Node的环境变量

sudo vim /etc/profile

把master加入的内容也加进去

 

 激活环境变量修改

source /etc/profile

8.本地运行模式测试

Grep案例 

在hadoop安装目录中

mkdir input
cp etc/hadoop/*.xml input/
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar grep input/ output 'dfs[a-z.]+'

查看结果

 WordCount案例

在hadoop安装目录下创建一个wcinput文件夹

mkdir wcinput

在wcinput文件夹下创建一个wc.input文件

touch wc.input

在wc.input文件中输入以下内容:

hadoop yarn
hadoop mapreduce
wolf
wolf
wolf
abcd

回到hadoop安装目录

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount wcinput wcoutput

 9.全分布式配置

(1)配置网络(不知道有没有意义)

vim /etc/sysconfig/network
NETWORKING = yes
HOSTNAME=hadoop102                   

scp分发到103和104上

scp -r /opt/module/ wolf@hadoop103:/opt/
scp -r /opt/module/ wolf@hadoop104:/opt/

(2)集群配置

集群部署规划

hadoop-env.sh 

修改JAVA_HOME为本机的JAVA_HOME路径

export JAVA_HOME=/opt/module/jdk1.8.0_171/

 

core-site.xml

<configuration>
	<!-- 指定NameNode的地址 -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop102:9000</value>
	</property>
	<!-- 指定hadoop数据的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.7.6/data</value>
	</property>
</configuration>

hdfs-site.xml

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<!-- 2nn web 端访问地址 -->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>hadoop104:50090</value>
	</property>
</configuration>

yarn-env.sh

修改JAVA_HOME为本机的JAVA_HOME路径

yarn-site.xml


<configuration>

	<!-- 指定MR走shuffle -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<!-- 指定ResourceManeger的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop103</value>
	</property>


</configuration>

mapred-env.sh

修改JAVA_HOME为本机的JAVA_HOME路径

mapred-site.xml

拷贝mapred-site模板

cp mapred-site.xml.template mapred-site.xml

mapred-site.xml内容


<configuration>
	<!-- 指定MapReduce程序运行在Yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

 分发到103和104

scp -r hadoop/ wolf@hadoop103:/opt/module/hadoop-2.7.6/etc/
scp -r hadoop/ wolf@hadoop104:/opt/module/hadoop-2.7.6/etc/

(3)格式化

 清除data和log 

rm -rf data/ logs/

格式化hdfs

bin/hdfs namenode -format

(4)手动启动集群(配置SSH免密登录之后可以群起) 

启动hadoop102的namenode

sbin/hadoop-daemon.sh start namenode

启动hadoop102的datanode

sbin/hadoop-daemon.sh start datanode

启动hadoop103的datanode

sbin/hadoop-daemon.sh start datanode

启动hadoop104的datanode

sbin/hadoop-daemon.sh start datanode

 网页验证

hadoop102:50070

10.配置ssh免密登录 

(1)生成公钥

ssh-keygen -t rsa 

(2)将公钥追加到授权列表

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

修改authorized_keys文件的权限,命令如下:

chmod 600 ~/.ssh/authorized_keys

(3)修改master的ssh配置

sudo vi /etc/ssh/sshd_config

设置PermitEmptyPasswords配置为

PermitEmptyPasswords yes

使配置生效

sudo service sshd restart

修改HadoopMaster节点的~/.ssh目录和.ssh/authorized_keys文件的权限

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

 (4)拷贝公钥到其他机器上

ssh-copy-id hadoop103
ssh-copy-id hadoop104
ssh-copy-id hadoop102

在其他两个机器上也进行同样操作。

 11.群起集群

(1)配置slaves

cd /opt/module/hadoop-2.7.6/etc/hadoop/
vim slaves

添加如下内容:

hadoop102
hadoop103
hadoop104

在三台机器上都进行

(2)手动停止脚本

102

sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop namenode

103&104

sbin/hadoop-daemon.sh stop datanode

(3) 启动集群

在102上启动dfs:

/opt/module/hadoop-2.7.6/sbin/start-dfs.sh 

在103上启动yarn(因为resourceManager在103上):

/opt/module/hadoop-2.7.6/sbin/start-yarn.sh

 至此,Hadoop2.7.6已经成功以完全分布式的运行模式安装在CentOS7上了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值