【大数据(一)】hadoop2.4.1集群搭建(重点)

发布时间:2024年01月05日

?

1.准备Linux环境

1.0先将虚拟机的网络模式选为NAT

1.1修改主机名

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=server1.itcast.cn

1.2修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

重新启动网络:service network restart

1.3修改ip地址和主机名的映射关系

vi /etc/hosts

127.0.0.1 ??localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 ????????localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.101 server1.itcast.cn

1.4关闭防火墙iptables并设置其开机启动/不启动

#查看防火墙状态

service iptables status

#关闭防火墙

service iptables stop

#查看防火墙开机启动状态

chkconfig iptables --list

#关闭防火墙开机启动

chkconfig iptables off

1.5 修改sudo

(sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具)

1.??su root???#进入超级用户

2.??ll /etc/sudoers???#查看/etc/sudoers的权限

3.??chmod 777 /etc/sudoers??#修改/etc/sudoers文件的权限成可读可写可执行

4 ???vi ?/etc/sudoers

# 给hadoop用户添加执行的权限

??root ???ALL=(ALL) ??????ALL

hadoop ?ALL=(ALL) ??????ALL?

5.??chmod 440 /etc/sudoers???#退出保存/etc/sudoers文件

6.??su username??#切换用户到指定用户

7. 关闭linux服务器的图形界面:

(1)vi ?/etc/inittab

(2)id:5:initdefault:??------>??id:3:initdefault:

8.重启Linux:Reboot?

1.6 虚拟机复制??

?右键-->管理-->克隆

(1)解决克隆后eth0不见的问题

直接修改 ?/etc/sysconfig/network-script/ifcfg-eth0

删掉UUID ?HWADDR

配置静态地址

(2)然后:

vi /etc/udev/rules.d/70-persistent-net.rules

???删除eth0的一段

???把第二段的最后 eth1 改成eth0

然后 reboot

????????????????????????????????????????

2.安装JDK

2.1上传安装包

alt+p 后出现sftp窗口,然后put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz

2.2解压jdk

#创建文件夹

mkdir /home/hadoop/app

#解压

tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app

2.3将java添加到环境变量中

vi /etc/profile

#在文件最后添加

export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#刷新配置

source /etc/profile

3.安装hadoop2.4.1

3.1上传安装包

alt+p 后出现sftp窗口先上传hadoop的安装包到服务器上去/home/hadoop/

解压到 Hadoop/apps :?tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop/apps

注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop

伪分布式需要修改5个配置文件

3.2配置hadoop

????进入目录:cd ?/home/hadoop/apps/hadoop-2.6.4/etc/hadoop

第一个:hadoop-env.sh

vi hadoop-env.sh

#第27行?

编辑

export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_45

第二个:core-site.xml

vi ?core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://mini1:9000</value>

</property>

(修改前的<value>hdfs://weekend-1206-01:9000</value>)

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/hdpdata</value>

????????</property>

(修改前的<value>/home/hadoop/hadoop-2.4.1/tmp</value> ?)

</configuration>

第三个:hdfs-site.xml ??

???vi hdfs-site.xml

<!-- 指定HDFS副本的数量 -->

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.secondary.http.address</name>

<value>192.168.1.152:50090</value>

</property>

</configuration>

第四个:mapred-site.xml

(mv mapred-site.xml. ?template mapred-site.xml)

mv mapred-site.xml.template ?????mapred-site.xml

vim mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

重命名:mv mapred-site.xml.template ???mapred-site.xml

第五个:yarn-site.xml

vi yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>mini1</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

??分发到各个mini2 ,mini3 的机器上

scp -r /home/hadoop/apps?mini2:/home/hadoop/

scp -r /home/hadoop/apps?mini3:/home/hadoop/

3.3将hadoop添加到环境变量

sudo vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_65

export HADOOP_HOME=?/home/hadoop/apps/hadoop-2.6.4?

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

分发到各个mini2 ,mini3 的机器上

sudo scp /etc/profile mini2:/etc/

sudo scp /etc/profile mini3:/etc/

3.4格式化namenode(是对namenode进行初始化)

hdfs namenode -format (hadoop namenode -format)

hdfs datanode -format

添加从节点

vi /home/hadoop/apps/hadoop-2.6.4/etc/Hadoop/slaves

localhost

mini2

mini3

3.5启动/关闭hadoop

#mini1:cd ?/home/hadoop/apps/hadoop-2.6.4/sbin

启动: hadoop-daemon.sh ?start namenode

关闭:hadoop-daemon.sh ?stop?namenode

#mini2: source /etc/profile

启动:hadoop-daemon.sh ?start datanode

关闭:hadoop-daemon.sh ?stop?datanode

#mini3

启动:hadoop-daemon.sh ?start datanode

关闭:hadoop-daemon.sh ?stop?datanode

先启动HDFS

sbin/start-dfs.sh

再启动YARN

sbin/start-yarn.sh

------------------------------------------------------------------------------

全部启动

路径:?cd ?/home/hadoop/apps/hadoop-2.6.4/sbin

./start-all.sh

./stop-all.sh

启动namenode

hadoop-daemon.sh start namenode

启动datanode

hadoop-daemon.sh start datanode

启动yarn

hadoop-daemon.sh start yarn

查看hdfs 状态

hdfs ?dfsadmin ?-report

??

3.6验证是否启动成功

使用jps命令验证

27408 NameNode

28218 Jps

27643 SecondaryNameNode

28066 NodeManager

27803 ResourceManager

27512 DataNode

http://192.168.1.101:50070 (HDFS管理界面)

http://192.168.1.101:8088 (MR管理界面)

4.配置ssh免登陆

系统重装后修改 ssh:

进入是vi ?/root/.ssh/known_hosts?删除对应的节点内容

--------------------------------------------------------------------------------

#生成ssh免登陆密钥

#进入到我的home目录:cd ~/.ssh

?(1) ssh-keygen (四个回车)

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登陆的目标机器上

?(2) ssh-copy-id mini2

---------------------------

ssh免登陆:

生成key:

ssh-keygen

复制从A复制到B上:

ssh-copy-id B

验证:

ssh localhost/exit,ps -e|grep ssh

ssh A ?#在B中执行

?

文章来源:https://blog.csdn.net/shanglin1122/article/details/135389724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。