Spark基础配置

文章目录

*一、配置基础环境*

#主机名

1
cat /etc/hostname

# hosts映射

1
vim /etc/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. 编译环境软件安装目录

1
mkdir -p /export/server

\2. 上传jdk-8u65-linux-x64.tar.gz到/export/server/目录并解压

1
2
3
rz

tar -zxvf jdk-8u65-linux-x64.tar.gz

\3. 配置环境变量

1
vim /etc/profile
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. 重新加载环境变量文件

1
source /etc/profile

\5. 查看java版本号

1
Java -version

\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
vim /etc/profile
1
2
3
export HADOOP_HOME=/export/server/hadoop-3.3.0

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

\5. 重新加载环境变量文件

1
source /etc/profile

\6. Hadoop集群启动

(1)格式化namenode(只有首次启动需要格式化)

1
hdfs namenode -format

(2)脚本一键启动

img

\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
1
vim 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) 重新加载环境变量

1
source /etc/profile 

(8) 三台机器开启zookeeper

1
2
3
cd /export/server/zookerper-3.4.10/bin

zkServer.sh start

(9) 结果显示

imgimg

img

(10) 查看zookeeper状态

img

img