Linux集群搭建

来源:互联网 发布:单片机大学生毕业设计 编辑:程序博客网 时间:2024/04/30 01:40

一.克隆、设置IP、主机名、网卡,重启后尝试联网

第一种方式

1.vi /etc/sysconfig/network-scripts/ifcfg-eth0
2.vi /etc/sysconfig/network

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

第二种方式

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

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

3.init 6

4.ifconfig

5.ping一个网址即可

6.映射:vi /etc/hosts(视情况而定)

---------------------------------->

配置网卡:Linux下不通的原因如下:

1.查看ifcfg-eth0文件

2.查看虚拟机的NAT配置是否正确

3.查看主机防火墙是否开启

二.防火墙
1.查看状态:service iptables status
2.关闭:service iptables stop
3.查看启动:chkconfig iptables --list
4.禁止启动:chkconfig iptables off
三.修改主机名和IP映射:
1.vi /etc/hosts
四.免登陆
1.生成ssh免登陆密钥:ssh-keygen -t rsa (四个回车)---生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2.公钥授权:ssh-copy-id 其他机器 或者把公钥追加到授权的key中---cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


注:如果没有expect服务会有expect no found 错误,添加expect                 yum list | grep expect              yum install expect(包名)


五.hadoop安装与profile:
1.解压: tar -zxvf centos6.6-hadoop-2.6.464bit.tar.gz  ==\为反编译。。。。把每个括号以引号包起来也可以如:“)”

2.配置环境变量:1.vi /etc/profile
3.增加配置:
export HADOOP_HOME=/hadoop/hadoop-2.6.4/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
4.刷新配置使环境变量生效:
source /etc/profile
5.拷贝profile 到其他机器:scp -r /etc/profile root@mini11:/etc






六. 5个配置:
1---------vi hadoop-env.sh
export JAVA_HOME=/hadoop/jdk1.7.0_75/




2---------vi core-site.xml
<configuration>
   <!-- 指定HDFS的namenode的通信地址 -->
   <property>
           <name>fs.default.name</name>
           <value>hdfs://mini111:9000</value>
   </property>
   <!-- 指定hadoop运行时产生文件的存放目录 -->
   <property>
           <name>hadoop.tmp.dir</name>
           <value>/hadoop/data</value>
   </property>
</configuration>




3------------vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/data/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/data/data</value>
</property>


<property>
<name>dfs.replication</name>
<value>3</value>
</property>


<property>
<name>dfs.secondary.http.address</name>
<value>hadoop01:50090</value>
</property>
</configuration>




4:在这里是没有mapred-site.xm 的。需要先 mv  mapred-site.xml.template  mapred-site.xml  修改一下
----------vi mapred-site.xml
<configuration>
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
</configuration>






5-----------vi yarn-site.xml
<configuration>
   <!-- 指定YARN的老大(ResourceManager)的地址 -->
   <property>
       <name>yarn.resourcemanager.hostname</name>
       <value>hadoop01</value>
   </property>
   <!-- reducer获取数据的方式 -->
   <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
   </property>

</configuration>




七.其他配置:
  1.vi salves
mini111
mini112

mini113


2.复制hadoop到其它节点
scp -r /hadoop/hadoop-2.6.4 root@mini111:/hadoop
scp -r /hadoop/hadoop-2.6.4 root@mini112:/hadoop
scp -r /hadoop/hadoop-2.6.4 root@mini113:/hadoop

八.启动集群:
1.初始化HDFS:hadoop namenode -format
2.启动HDFS:sbin/目录下   sh start-dfs.sh
3.启动YARN:sbin/目录下   sh start-yarn.sh
九.验证:
1.jps:查看服务启动
2、http://mini111:50070
3、http://moni111:8088
十.测试:

1.上传文件到HDFS:hadoop fs -mkdir -p /wordcount/input     hadoop fs -put /hadoop/words.txt /wordcount/input

买一赠一

============

JDK自动安装脚本:

============(可以看可以不看)5.JDK脚本1:   install_jdk.sh:
#!/bin/bash
#切换到hadoop的目录
cd /hadoop
#解压jdk到/usr/local目录
tar -zxvf jdk-7u75-linux-x64.gz -C /usr/local
#追加java环境变量到/etc/profile
#这样的写法,是遇到EOF就停止写入
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.7.0_75

export HADOOP_HOME=/hadoop/hadoop-2.6.4

#hadoop环境

export PATH=\$PATH:\$JAVA_HOME/bin:\$HADOOP_HOME
EOF


============(可以看可以不看)6.JDK脚本2:auto-stup.sh:
#!/bin/bash
#基础server,将在这台服务器上执行安装的脚本
#所有资源文件先上传到这个服务器上,做安装准备
BASE_SERVER=hadoop2
#需要安装jdk的服务器节点
SERVER="hadoop3 hadoop4"
PASSWD=123456


#定义一个ssh免登录的方法
#它是通过一个无人值守的模式人机交互的命令来实现的
ssh_copy_id(){
#就是将后面""里面的内容,当作指令来执行
expect -c "set timeout -1;
        spawn ssh-copy-id $1;
expect {
*(yes/no)* {send -- yes\r;exp_continue}
*password* {send -- $PASSWD\r;exp_continue}
 eof{exit 0;}
}"
}


#循环目标服务器节点列表,然后调用ssh_copy_id的方法
#进行ssh免密码登录的配置
for server in $SERVER
do
ssh_copy_id $server
done


#循环服务器节点列表,将安装脚本和资源远程复制过去,然后执行安装
for server in $SERVER 
do
#判断远程服务器的目录是否存在,不存在就创建
ssh $server "if [ ! -d /hadoop ]; then mkdir /hadoop;fi"
#复制安装文件到远程服务器
scp install_jdk.sh root@$server:/root
#复制java安装文件到远程服务器
scp /hadoop/jdk-7u75-linux-x64.gz root@$server:/hadoop
scp /hadoop/centos6.6-hadoop-2.6.4(64bit).tar.gz root@$server:/hadoop
#登录到远程服务器,执行安装脚本
ssh root@$server sh /root/install_jdk.sh
done

0 0