首先要准备好一台linux系统电脑,这里用的是VMware安装的CentOs6.7
- 网络配置工作
关闭防火墙
service iptables stop
chkconfig iptables off
配置网卡IP地址等
vi/etc/sysconfig/network-scrips/ifcfg-etho
删除uuid和hwaddr
onboot=yes(开机自启动)
bootproto=static(静态ip)
IPADDR=192.168.2.240(ip地址)
NETMASK=255.255.255.0(子网掩码)
GATEWAY=192.168.2.1(网管)
DNS1=114.114.114.114
DNS2=192.168.2.1
重启网络
service network restart
用工具连接虚拟机
修改本机host名
hostname +主机名 (临时修改)
vi/etc/sysconfig/network(永久修改)
- 安装jdk
将jdk安装包放进目录下 解压
tar -zxvf 文件名 -c 目录
配置jdk环境变量
vi/etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_102
export PATH=$PATH:$JAVA_HOME/bin
重新加载一下文件
source /etc/profile
java -version 查看jdk版本
-
安装mysql(备用)
删除mysql的东西rpm -e --nodeps mysql
安装
yum install -y mysql -server mysql-deve
启动mysql
service mysqld start
为mysql的root账号设置密码
mysqladmin -u root password '123456'
使用密码登陆mysql
mysql -uroot -p123456
给其他设备授权登录mysql
use mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
开机启动mysql
chkconfig mysqld on
-
克隆多台虚拟机
关机克隆,记得克隆前删除网卡的uuid跟hwaddr
修改每个克隆机器的ip地址vi/etc/sysconfig/network-scripts/ifcfg-etho
将克隆好的机器中
vi /etc/udev/rules.d/70-persistent-net.rules的eth0网卡删除将eth1换成eth0
重启虚拟机
测试网络连通性
修改hosts文件vi/etc/hosts
将集群中的主机名ip地址添加进去
并且修改自己的主机名vi /etc/sysconfig/network
配置集群之间免密登录 (可以用之前的ssh免密登录的脚本)
yum install openssh-clients
测试ssh
ssh + ip
配置ssh免密登录
ssh-keygen -t rsa 生成公钥私钥
ssh-copy-id -i /root/.ssh/id_rsa.pub group1 将自己的公钥发送给要设置免密的 其他机器
- 配置hadoop集群
将官网下载的hadoop压缩包放入 解压到指定的目录下
解压命令 tar-zxvf 文件名 +C 指定目录
修改配置文件 进入hadoop配置文件目录 cd /hadoop-2.7.6/etc/hadoop/
配置java的 环境变量 vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_102 将自己的jdk安装目录配置进去
配置hadoop集群的配置文件
cd 到hadoop的安装目录 进入etc/hadoop修改配置文件
vi core-site.xml 配置namenode在哪里 临时文件存储位置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://group1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.7.6/tmp</value>
</property>
</configuration>
vi hdfs-site.xml 配置namenode存放数据目录以及备份数量设置secondarynamenode
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop-2.7.6/data/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop-2.7.6/data/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>group1:50090</value>
</property>
</configuration>
cp mapred-site.xml.tmp* mapred-site.xml
vi mapred-site.xml 配置提交到yarn运行
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml 配置yarn的一些参数
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>group1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
vi slave 配置要启动的datanode节点
group1
group2
group3
然后将整个hadoop目录以及环境变量文件(/etc/profile)发送一份给其他机器
scp -r /usr/local/hadoop-2.7.6 group2:/usr/local/
9.启动以及查看是否成功
启动:初始化HDFS(在group1进行操作)(操作一次就ok)
hadoop namenode -format
启动hdfs start-dfs.sh
启动yarn start-yarn.sh
通过网页查看 需要在windows的hosts文件中将虚拟机的Ip地址以及主机名对应起来才能通过主机名访问
hdfs group1:50070
yarn group1:8088