本文主要是在CentOS集群基础上搭建Hadoop集群。
【CentOS集群:node1,node2,node3 】
【注:搭建hadoop集群的前提是三个节点都已经配置好了静态ip,虚拟机终端内运行vi /etc/sysconfig/network-scripts/ifcfg-eth0,配置ip,子网掩码,网关以及DNS域名解析,并且安装了JDK,如图】
保存之后重启network:
service network restart
需要的jdk可从这里下载:
链接:https://pan.baidu.com/s/1_Zr1xH7ciELht5qYu_AOXw
提取码:duwh
需要的hadoop安装包可从这里下载:
链接:https://pan.baidu.com/s/1X7kFactjj-iCAwy74sNkEg
提取码:qu3a
安装yum
列出所有可用的rpm包 “yum list “
yum list |head -n 15
1.备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.之后运行yum makecache生成缓存
下载一个lrzsz,用于上传下载文件
命令:yum -y install lrzsz
配置ssh无密码访问
在每个节点上分别执行:
ssh-keygen -t rsa
在主节点上执行:
cp id_rsa.pub authorized_keys
执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub
将子节点的公钥拷贝到主节点并添加进authorized_keys
将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp ~/.ssh/id_rsa.pub root@node1:~/.ssh/id_rsa_node2.pub
scp ~/.ssh/id_rsa.pub root@node1:~/.ssh/id_rsa_node3.pub
然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去
主节点上执行:
cat id_rsa_node2.pub>> authorized_keys
cat id_rsa_node3.pub>> authorized_keys
最后测试是否配置成功
在node1上分别执行
ssh node2
ssh node3
能正确跳转到两台子节点的操作界面即可
安装JDK
rz上传jdk安装包
我这里放到了/opt/software/jdk/下
解压 tar -zxvf jdk-8u141-linux-x64.tar.gz
配置环境变量:vi /etc/profile
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_141
修改主机名和ip映射
vi /etc/hosts
安装hadoop
上传hadoop安装包到/opt/software/hadoop/下【路径自由选择】
1.rz上传文件
这里是上传到了根目录下,我把它移动到/opt/software/hadoop/
命令:mv hadoop-2.7.7.tar.gz /opt/software/hadoop/
解压
tar -zxvf hadoop-2.7.7.tar.gz
设置环境变量 vi/opt/software/hadoop
export HADOOP_HOME=/opt/software/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效
source /etc/profile
测试jdk是否安装成功
java -version
修改配置文件
去到hadoop目录下,$HADOOP_HOME/etc/hadoop
1.修改hadoop-env.sh文件
2.修改core-site.xml
<!-- 制定HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> </property>
3.修改hdfs-site.xml
<!-- 指定HDFS副本的数量 --> <property> <name>dfs.replication</name> <value>1</value> </property>
4.修改mapred-site.xml 【这个不存在需要自己创建,命令如下:(mv mapred-site.xml.template mapred-site.xml)】
<!-- 指定mr运行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
5.修改yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
格式化namenode(是对namenode进行初始化)
hdfs namenode -format
修改slaves
node2 node3
node1是主节点,node2,node3是从节点
在另外两台虚拟机上搭建hadoop
未完。。。。。待续
最近比较忙