软件版本:
软件 | 版本 |
---|---|
jdk | jdk1.8.0_191 |
zookeeper | zookeeper-3.4.12 |
hadoop | hadoop-2.8.5 |
alluxio | alluxio-1.8.0-hadoop-2.8 |
配置JDK:
解压并创建软链接:
$ sudo ln -s /opt/Software/jdk1.8.0_191/ /jdk
配置环境变量:
$ vi /etc/profile
添加以下内容:
export JAVA_HOME=/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
更新环境变量文件:
$ source /etc/profile
配置免密钥:
查看本地是否装有SSH 协议:
$ sudo rpm -qa|grep ssh
如果没有需要yum安装 ssh
在用户目录下进入.ssh目录检查是否需要配置免密钥
默认没有 .ssh 目录
如果没有配置执行就生成 SSH 密钥:
$ ssh-keygen -t rsa
连续四个回车执行完毕
将公钥拷贝到目标远程主机和自己:
$ ssh-copy-id dpnice@cdh1
$ ssh-copy-id dpnice@cdh2
$ ssh-copy-id dpnice@cdh3
安装配置zookeeper:
解压zookeeper:
进入解压后zookeeper 目录创建文件夹:
$ mkdir log
$ mkdir data
进入conf目录
$ cp zoo_sample.cfg zoo.cfg
$ vi zoo.cfg
添加或修改以下内容:
dataDir=/opt/Software/zookeeper-3.4.12/data
dataLogDir=/opt/Software/zookeeper-3.4.12/log
server.1=cdh1:2222:2225
server.2=cdh2:2222:2225
server.3=cdh3:2222:2225
在数据目录/opt/Software/zookeeper-3.4.12/data下面新建名为myid的文件:
$ vi /opt/Software/zookeeper-3.4.12/data/myid
添加cdh1的myid文件内容为
1
各个主机对应的内容是不同的,cdh1的内容是1,cdh2的内容是2,cdh3的内容是3,分别对应配置文件中server.x中的x
将配置文件发送到其他节点:
$ scp -r /opt/Software/zookeeper-3.4.12/conf/zoo.cfg dpnice@cdh2:/opt/Software/zookeeper-3.4.12/conf/
$ scp -r /opt/Software/zookeeper-3.4.12/conf/zoo.cfg dpnice@cdh3:/opt/Software/zookeeper-3.4.12/conf/
所有节点执行启动:
$ /opt/Software/zookeeper-3.4.12/bin/zkServer.sh start
查看节点的身份状态:
$ /opt/Software/zookeeper-3.4.12/bin/zkServer.sh status
安装Haoop 配置HA HDFS 、HA YARN:
解压Hadoop:
进入Hadoop目录
$cd /opt/Software/hadoop-2.8.5/
创建文件夹:
mkdir /opt/Software/hadoop-2.8.5/tmp
mkdir /opt/Software/hadoop-2.8.5/data
进入Hadoop配置文件目录:
$ cd etc/hadoop/
编辑配置文件:
$ vi core-site.xml 追加如下内容:
<!-- 指定hdfs的nameservice-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://nns</value>
</property>
<!--指定hadoop数据临时存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/Software/hadoop-2.8.5/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!--指定zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>cdh1:2181,cdh2:2181,cdh3:2181</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<description>默认0,表示不开启垃圾箱功能,大于0时,表示删除的文件在垃圾箱中存留的分钟数,</description>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>1440</value>
<description>垃圾回收检查的时间间隔,值应该小于等于 fs.trash.interval。默认0,此时按fs.trash.interval的值大小执行</description>
</property>
$ vi hdfs-site.xml
NameNode的名字不能带有 “_” 下划线
<!-- 指定hdfs的nameservice为nns,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>nns</value>
</property>
<!-- nns下面有两个NameNode,分别是 nn0 ,nn1 -->
<property>
<name>dfs.ha.namenodes.nns</name>
<value>nn0,nn1</value>
</property>
<!-- nn0 的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.nns.nn0</name>
<value>cdh1:9000</value>
</property>
<!-- nn0 的http通信地址 -->
<property>
<name>dfs.namenode.http-address.nns.nn0</name>
<value>cdh1:50070</value>
</property>
<!-- nn1 的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.nns.nn1</name>
<va