1、集群规划
IP | HostName | 用途 | 安装软件 |
---|---|---|---|
192.168.100.131 | lzjnn1 | NameNode1 | hadoop |
192.168.100.132 | lzjnn2 | NameNode2 | hadoop |
192.168.100.141 | lzjdn1 | DateNode1 | hadoop,zookeeper |
192.168.100.142 | lzjdn2 | DateNode2 | hadoop,zookeeper |
192.168.100.143 | lzjdn3 | DateNode3 | hadoop,zookeeper |
2、CentOS7环境准备
2.1、CentOS操作系统安装
这就不写了,操作系统安装一般都会。规划的5台服务器都装好操作系统
2.2、主机名、网络设置
按照集群规划配置好相应的IP地址和主机名。
修改/etc/hosts文件,增加如下内容:
192.168.100.131 lzjnn1
192.168.100.132 lzjnn2
192.168.100.141 lzjdn1
192.168.100.142 lzjdn2
192.168.100.143 lzjdn3
2.3、建立hadoop用户
所有服务器上新建用户
#新建hadoop用户
useradd hadoop
#设置hadoop用户的密码
passwd hadoop xxxx
2.4、各服务器间的ssh无密码访问
#每台服务器上使用hadoop用户登录执行以下命令生成公私钥文件
ssh-keygen -t rsa
#统一在一台f服务器上整合authorized_keys文件,这里选lzjnn1
#lzjnn1上执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#在lzjnn1以外的f服务器上执行,按需输入对应用户的密码
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@lzjnn1
#在lzjnn1上执行以下命令将authorized_keys文件复制到其他所有服务器上
scp ~/.ssh/authorized_keys lzjnn2:~/.ssh/
scp ~/.ssh/authorized_keys lzjdn1:~/.ssh/
scp ~/.ssh/authorized_keys lzjdn2:~/.ssh/
scp ~/.ssh/authorized_keys lzjdn3:~/.ssh/
#每台服务器上分别对其他服务器执行ssh命令测试免密登录
ssh 主机名
3、JDK安装配置
每台服务器上都需要安装配置jdk
3.1、下载
进入Oracle官网下载jdk,这里使用的是jdk8u192
下载页面链接
选择jdk-8u192-linux-x64.tar.gz下载
3.2、安装
#在/usr/local目录下新建java目录
mkdir /usr/local/java
#复制下载的jdk文件到此目录下
cp /download/path/jdk-8u192-linux-x64.tar.gz /usr/local/java
#cd到对应目录下解压文件
tar zxvf jdk-8u192-linux-x64.tar.gz
3.3、配置
在/etc/profile.d目录下新建 hadoop.sh文件,新增如下内容:
# for java
export JAVA_HOME=/usr/local/java/jdk1.8.0_192
export JRE_HOME=/usr/local/java/jdk1.8.0_192/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
4、zookeeper安装配置
在规划需要安装zookeeper的服务器上安装zookeeper
4.1、下载
进入zookeeper官网下载,这里使用的是zookeeper-3.4.13
下载页面链接
选择zookeeper-3.4.13.tar.gz下载
4.2、安装
#在/usr/local目录下新建zookeeper目录
mkdir /usr/local/zookeeper
#复制下载的文件到此目录下
cp /download/path/zookeeper-3.4.13.tar.gz /usr/local/zookeeper
#cd到对应目录下解压文件
tar zxvf zookeeper-3.4.13.tar.gz
4.3、配置
1、在/etc/profile.d目录下刚才新建的hadoop.sh文件中,新增如下内容:
#for zookeeper
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.13
2、修改 $ZOOKEEPER_HOME/conf/zoo.cfg文件,对应配置改为如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/app/zookeeper/data
clientPort=2181
server.1=lzjdn1:2888:3888
server.2=lzjdn2:2888:3888
server.3=lzjdn3:2888:3888
3、在dataDir所指定的目录下创建myid文件
每台服务器取zoo.cfg文件中对应 server.A=B:C:D中的A的值
echo A的值 > /app/zookeeper/data/myid
4.4、修改zookeeper的日志配置
修改zookeeper的日志配置,分日期存放日志在指定目录下,是为了便于查看管理日志,不需要修改的可以略过本节
1、修改$ZOOKEEPER_HOME/conf/log4j.properties文件,找到对应zookeeper.root.logger的配置改为如下:
zookeeper.root.logger=INFO, ROLLINGFILE
2、修改$ZOOKEEPER_HOME/bin/zkEnv.sh文件中的对应内容如下:
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/app/logs/zookeeper"
fi
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
4.5、运行zookeeper
1、在所有zookeeper节点上启动zookeeper:
$ZOOKEEPER_HOME/bin/zkServer.sh start
2、查看节点状态:
$ZOOKEEPER_HOME/bin/zkServer.sh status
正常情况下有一台节点会是leader,其他节点是follower
3、测试zookeeper
任意一台节点上执行以下命令行进入client模式,可以create一些node,修改查看数据的同步情况,这里不再赘述了
$ZOOKEEPER_HOME/bin/zkCli.sh -server 127.0.0.1:2181
5、Hadoop安装配置
在规划中需要安装hadoop的服务器上安装hadoop
5.1、下载
进入hadoop官网下载,这里使用的是hadoop-3.1.1
下载页面链接
选择hadoop-3.1.1对应的binary包hadoop-3.1.1.tar.gz下载
5.2、安装
#在/usr/local目录下新建hadoop目录
mkdir /usr/local/hadoop
#复制下载的文件到此目录下
cp /download/path/hadoop-3.1.1.tar.gz /usr/local/hadoop
#cd到对应目录下解压文件
tar zxvf hadoop-3.1.1.tar.gz
5.3、配置
1、在/etc/profile.d目录下刚才新建的hadoop.sh文件中,新增如下内容:
# for hadoop
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.1
2、修改$HADOOP_HOME/etc/hadoop/core-site.xml:
<configuration>
<!--hdfs的nameservice为lzjcluster-->