1 CDH版zookeeper环境搭建
软件下载地址:http://archive.cloudera.com/cdh5/cdh/5/
1.1 文件上传
创建两个目录分别用于存放软件安装包与解压包
mkdir -r /export/softwares
mkdir -r /export/servers
上传文件到/export/softwares
版本:zookeeper-3.4.5-cdh5.14.0.tar.gz
1.2 解压压缩包
解压到/export/servers 目录
tar -zxvf zookeeper-3.4.5-cdh5.14.0.tar.gz -C ../servers/
1.3 创建目录修改配置文件
创建目录:
mkdir -p /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas
修改配置文件
cd /export/servers/zookeeper-3.4.5-cdh5.14.0/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 修改四处
dataDir=/export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas
# 打开
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
# 添加
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
在zkdatas文件夹中,创建文件myid,内容为1
cd /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas/
echo 1 > myid
1.4 安装包分发
分别复制安装包到机器2和3
scp -r zookeeper-3.4.5-cdh5.14.0/ node02:$PWD
scp -r zookeeper-3.4.5-cdh5.14.0/ node03:$PWD
分别在2和3机器上修改myid的值为2和3
cd zookeeper-3.4.5-cdh5.14.0/zkdatas/
echo 2 > myid
cd zookeeper-3.4.5-cdh5.14.0/zkdatas/
echo 3 > myid
1.5 三台机器启动服务
三台机器分别执行:
cd /export/servers/zookeeper-3.4.5-cdh5.14.0/bin
zkServer.sh start
三台机器都启动服务后,可执行以下命令查看各机器状态
zkServer.sh status
2 CDH版hadoop伪分布式环境搭建
CDH版的hadoop需要重新编译,编译方式省略,此处使用编译后的软件包
2.1 文件上传
创建两个目录分别用于存放软件安装包与解压包
mkdir -r /export/softwares
mkdir -r /export/servers
将安装包上传到softwares文件夹上,版本:hadoop-2.6.0-cdh5.14.0.tar.gz
2.2 解压
将文件解压到servers文件夹上
tar -zxvf hadoop-2.6.0-cdh5.14.0.tar.gz -C /export/servers/
2.3 查看Hadoop支持的压缩方式以及本地库
cd /export/servers/hadoop-2.6.0-cdh5.14.0
bin/hadoop checknative
如果openssl为false,执行
yum -y install openssl-devel
2.4 修改配置文件
在此目录下:
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
2.3.1 修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas</value>
</property>
<!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
2.3.2 修改hadoop-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_141
JAVA_HOME为jdk的安装目录
2.3.1 修改hdfs-site.xml
<configuration>
<!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 -->
<!-- 集群动态上下线
<property>
<name>dfs.hosts</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/accept_host</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/deny_host</value>
</property>
-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>node01:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas</value>
</property>
<!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
</configuration>
2.3.1 修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>
</configuration>
2.3.1 修改slaves
node01
node02
node03
2.3.1 修改yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
2.5 创建文件存放目录
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits
2.6 安装包分发
cd /export/servers/
scp -r hadoop-2.6.0-cdh5.14.0/ node02:$PWD
scp -r hadoop-2.6.0-cdh5.14.0/ node03:$PWD
2.7 配置Hadoop的全局环境变量
三台机器都执行
vim /etc/profile
export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
2.8 启动集群
启动前先格式化NameNode
cd /export/servers/hadoop-2.6.0-cdh5.14.0
bin/hdfs namenode -format 或 bin/hadoop namenode -format
2.9 登陆
node01:50070
node01:8088
node01:19888