Catalogue
*一、配置基础环境*
#主机名
# hosts映射
1 2 3 4 5 6 7 8 9 10 11
| 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.151 node1.itcast.cn node1
192.168.88.152 node2.itcast.cn node2
192.168.88.153 node3.itcast.cn node3
|
*二、安装配置jdk*
\1. 编译环境软件安装目录
\2. 上传jdk-8u65-linux-x64.tar.gz到/export/server/目录并解压
1 2 3
| rz
tar -zxvf jdk-8u65-linux-x64.tar.gz
|
\3. 配置环境变量
1 2 3 4 5
| export JAVA_HOME=/export/server/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
|
\4. 重新加载环境变量文件
\5. 查看java版本号
\6. 将java由node1分发到node2、node3
1 2 3
| scp -r /export/server/jdk1.8.0_241/ root@node2:/export/server
scp -r /export/server/jdk1.8.0_241/ root@node3:/export/server
|
\7. 配置node2、node3的环境变量文件(方法如上)
\8. 在node1、node2、node3中创建软连接(三台都需要操作)
1 2 3
| cd /export/server/
ln -s jdk1.8.0_241/ jdk
|
*三、Hadoop安装配置*
\1. 上传hadoop-3.3.0-Centos7-64-with-snappy.tar.gz 到 /export/server 并解压文件
1
| tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
|
\2. 修改配置文件
1
| cd /export/server/hadoop-3.3.0/etc/hadoop
|
- hadoop-env.sh
#文件最后添加
1 2 3 4 5 6 7 8 9 10 11 12 13
| export JAVA_HOME=/export/server/jdk1.8.0_241
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
|
- core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 设置Hadoop本地保存数据路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive 用户代理设置 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!-- 文件系统垃圾桶保存时间 -->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
|
- hdfs-site.xml
1 2 3 4 5 6 7 8 9
| <!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
|
- mapred-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| <!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<!-- MR程序历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
|
- yarn-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| <!-- 设置YARN集群主角色运行机器位置 -->
<property>
<name>yarn.resourcemanager.hostname</name> <value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 是否将对容器实施物理内存限制 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 历史日志保存的时间 7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
|
- workers
1 2 3 4 5
| node1.itcast.cn
node2.itcast.cn
node3.itcast.cn
|
\3. 将node1的hadoop-3.3.0分发到node2、node3
1 2 3 4 5
| cd /export/server
scp -r /export/server/hadoop-3.3.0 root@node2:$PWD
scp -r /export/server/hadoop-3.3.0 root@node3:$PWD
|
\4. 将hadoop添加到环境变量
1 2 3
| export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
|
\5. 重新加载环境变量文件
\6. Hadoop集群启动
(1)格式化namenode(只有首次启动需要格式化)
(2)脚本一键启动
\7. WEB界面
(1)HDFS集群:http://node1:9870/
(2)YARN集群:http://node1:8088/
*四、zookeeper安装配置*
\1. 上传zookeeper-3.4.10.tar.gz到/export/server/目录下并解压文件
1 2 3
| cd /export/server/
tar -zxvf zookeeper-3.4.10.tar.gz
|
\2. 创建软连接
1 2 3
| cd /export/server/
ln -s zookeeper-3.4.10/ zookeeper
|
\3. 修改配置文件
1
| cd /export/server/zookeeper/conf/
|
(1)将zoo_sample.cfg复制为zoo.cfg
1
| cp zoo_sample.cfg zoo.cfg
|
将zoo.cfg修改为以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #Zookeeper的数据存放目录
dataDir=/export/server/zookeeper/zkdatas
\# 保留多少个快照
autopurge.snapRetainCount=3
\# 日志多少小时清理一次
autopurge.purgeInterval=1
\# 集群中服务器地址
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
|
(2) 在node1主机的/export/server/zookeeper/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1
1
| echo 1 > /export/server/zookeeper/zkdatas/myid
|
(3) 将node1中/export/server/zookeeper-3.4.10分发给node2、node3
1 2 3
| scp -r /export/server/zookeeper-3.4.10/ slave1:$PWD
scp -r /export/server/zookeeper-3.4.10/ slave2:$PWD
|
(4) 在node2和node3上创建软连接
1
| ln -s zookeeper-3.4.10/ zookeeper
|
(5) 分别在node2、node3上修改myid的值为2,3
1 2 3 4 5
| cd /export/server/
echo 2 > /export/server/zookeeper/zkdatas/myid
echo 3 > /export/server/zookeeper/zkdatas/myid
|
(6) 配置zookeeper的环境变量(三台都需要配置)
1 2 3 4 5
| vim /etc/profile
export ZOOKEEPER_HOME=/export/server/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
|
(7) 重新加载环境变量
(8) 三台机器开启zookeeper
1 2 3
| cd /export/server/zookerper-3.4.10/bin
zkServer.sh start
|
(9) 结果显示
(10) 查看zookeeper状态