需要以下各种安装包加微信:604541361
需要以下各种安装包加微信:604541361
需要以下各种安装包加微信:604541361
需要以下各种安装包加微信:604541361
安装前确保集群时间同步:
ntpdate ntp2.aliyun.com
关闭防火墙:
service iptables status|stop
chkconfig iptables off
主机名和ip映射:
查看当前的机器的主机名:
hostname
hosts文件映射:
cat /etc/hosts
在文件下添加ip node01
1、改名:
/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
2、修改zoo.cfg:
#zk本地数据存放linux目录 需要自己去提前创建好
dataDir=/export/data/zkdata
# zk客户端连接zk集群的端口
clientPort=2181
#指定zk集群中每台服务器的编号 位于主机名 心跳端口 选举端口
server.1=node-1:2888:3888
server.2=node-2:2888:3888
server.3=node-3:2888:3888
3、创建一个文件myid
#该文件位于zk dataDir指定的目录下 名称叫做myid 里面内容就是对应的服务器编号
在第二步zkdata下创建文件,并编辑输入1即可
4、安装包scp其他两台机器
5、在node-2,node-3创建dataDir指定的文件夹 以及myid
mkdir /export/data/zkdata
echo 2 >/export/data/zkdata/myid
6、集群的启动和关闭:
内置每台机器单节点逐个启动:
/export/servers/zookeeper/bin/zkServer.sh start #启动
内置每台机器单节点逐个关闭:
/export/servers/zookeeper/bin/zkServer.sh stop #关闭
7、查看启动之后的角色状态
/export/servers/zookeeper/bin/zkServer.sh status
#查看到类似如下的信息才表示启动成功
JMX enabled by default
Using config: /export/servers/zookeeper/bin/../conf/zoo.cfg
Mode: follower
8、jps查看命令:
QuorumPeerMain #如果一台机器上有这样的进程名字 意味着这台机器上有zk进程存在
9、zk的日志:
路径:在执行启动命令的当前路径下 名称叫做zookeeper.out
1、启动spark-shell
cd /export/servers/spark/bin
./spark-shell
2、退出页面:
:quit
3、.修改配置文件
修改spark-env.sh
vim /export/servers/spark/conf/spark-env.sh
增加如下配置
让spark知道hadoop的所有配置
这样后续使用spark-submit命令提交spark的jar包到Yarn上的时候能找到Hadoop
export HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop
4、.去yarn上查看:http://node01:8088/cluster
5、解决历史日志服务器整合问题
开启Yarn的历史服务器--也就是启动一个进程
1.修改配置yarn-site.xml
vim /export/servers/hadoop/etc/hadoop/yarn-site.xml
增加如下配置
表示关闭内存检查(Spark计算基于内存的) 并开启日志聚合功能
yarn.nodemanager.pmem-check-enabled
false
yarn.nodemanager.vmem-check-enabled
false
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800
yarn.log.server.url
http://node01:19888/jobhistory/logs
6、分发到node02和node03
scp /export/servers/hadoop/etc/hadoop/yarn-site.xml node02:/export/servers/hadoop/etc/hadoop/
scp /export/servers/hadoop/etc/hadoop/yarn-site.xml node03:/export/servers/hadoop/etc/hadoop/
7、重启hadoop
/export/servers/hadoop/sbin/stop-dfs.sh
/export/servers/hadoop/sbin/stop-yarn.sh
/export/servers/hadoop/sbin/start-dfs.sh
/export/servers/hadoop/sbin/start-yarn.sh
8、启动yarn的历史服务器
/export/servers/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
进程号:JobHistoryServer
9、开启Spark的历史服务器–也就是启动一个进程
1.修改spark-default.conf
cd /export/servers/spark/conf
mv mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node01:8020/sparklog
spark.yarn.historyServer.address node01:4000
注意:日志目录在hdfs上得提前创建
hadoop fs -mkdir -p /sparklog
2.修改spark-env.sh
vim spark-env.sh
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node01:8020/sparklog"
端口说明:
7077:master通信端口,是客户端连接Spark集群提交任务时用的端口
8080:集群状态webUI界面端口
4040:是spark任务查看界面端口
启动spark的历史服务器
/export/servers/spark/sbin/start-history-server.sh
1、在hbase-env.sh
cd /export/servers/hbase-1.2.0-cdh5.14.0/conf
vim hbase-env.sh
#指定jdk路径
export JAVA_HOME=/export/servers/jdk1.8.0_65
#关闭hbase自带的zk 使用自己安装的zk服务
export HBASE_MANAGES_ZK=false
2、在hbase-site.xml
hbase.rootdir
hdfs://node-1:8020/hbase
hbase.cluster.distributed
true
hbase.master.port
16000
hbase.zookeeper.quorum
node-1:2181,node-2:2181,node-3:2181
hbase.zookeeper.property.dataDir
/export/data/zkdata
3、在hbase目录下建立regionservers文件
vim regionservers
node-1
node-2
node-3
4、scp安装包给其他两台机器
vim /etc/profile
export HBASE_HOME=/export/servers/hbase-1.2.0-cdh5.14.0
export PATH=:$HBASE_HOME/bin:$PATH
source /etc/profile
5、把hadoop配置文件传递给hbase
hbase在运行的时候 需要hadoop 为了解读hadoop的配置 而不是hbase自己默认的配置 需要把hdfs核心配置文件让hbase知道
两个核心配置文件:core-site.xml hdfs-site.xml
采用软链接的方式 把上述两个配置文件链接到hbase安装包下的conf/文件夹下
ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml
/export/servers/hbase-1.2.0-cdh5.14.0/conf/core-site.xml
ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml
/export/servers/hbase-1.2.0-cdh5.14.0/conf/hdfs-site.xml
6、hbase集群启动:
首先再次确认hdfs和zookeeper是否已经启动(免密登录是否配置,regionservers配置)
一键启动:
start-hbase.sh
stop-hbase.sh
单节点启动:
hbase-daemon.sh start|stop (master|regionserver)
#可以精准的控制每台机器上进程的启停
7、webUI页面:
60010
8、进入hbase客户端方式:
hbase shell
Scala安装:
1、tar -zxvf scala-2.11.8.tgz
vi /etc/profile
export SCALA_HOME=/export/servers/scala-2.11.8
export PATH= P A T H : PATH: PATH:SCALA_HOME/bin
source /etc/profile
1、解压安装包:
tar -zxvf apache-phoenix-4.14.0-HBase-1.1-bin.tar.gz
2、整合phoenix的jar包到hbase的每个节点(每台安装了hbase服务的节点)
- 拷贝phoenix-4.14.0-HBase-1.1-server.jar(phoenix-4.14.0-cdh5.14.2-server.jar)拷贝到hbase的每个节点
- 拷贝phoenix-core-4.14.0-HBase-1.1.jar(phoenix-core-4.14.0-cdh5.14.2.jar)拷贝到hbase的每个节点
3、phoenix配置hbase、hadoop的配置文件
- 将hbase的hbase-site.xml文件拷贝到Phoenix的bin目录下
- 将hadoop的配置文件core-site.xml拷贝到Phoenix的bin目录下
- 将hadoop的配置文件hdfs-site.xml拷贝到Phoenix的bin目录下
- 备份一下Phoenix已经存在的hbase-site.xml文件
# 进入到 hbase bin目录
cd /export/servers/apache-phoenix-4.14.0-HBase-1.1-bin/bin
# 备份原先的 hbase-site.xml文件
mv hbase-site.xml hbase-site.xml.bak
ln -s $HBASE_HOME/conf/hbase-site.xml .
ln -s $HADOOP_HOME/etc/hadoop/core-site.xml .
ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml .
4、重启hbase的集群,让phoenix的jar包生效
5、进入phoenix的命令行(在bin下)
./sqlline.py node1:2181
退出命令:crtl+D
1、安装jdk,安装zk,并且确保zk启动成功
2、解压:kafka_2.11-1.0.0.tgz
3、3台机器创建文件夹 用于存储kafka消息
mkdir -p /export/data/kafka
kafka保存的数据格式也是log。注意此log不是kafka的日志文件。
4、修改配置文件(scp到其他集群)
#配置文件 conf/server.properties
#需要保证每一台kafka都有一个独立的broker 不重复
broker.id=0
#数据存放的目录
log.dirs=/export/data/kafka
#zookeeper的连接地址信息
zookeeper.connect=node01:2181,node02:2181,node03:2181
#是否允许删除主题数据
delete.topic.enable=true
#本机主机名
host.name=node01
(scp其他机器后,要修改在node-2 node-3修改broker ID和host.name==)
5、启动zk集群
sh startZk.sh
6、启动、关闭kafka集群()
#kaka集群前台启动
cd /export/servers/kafka
bin/kafka-server-start.sh config/server.properties
#kafka集群的后台启动
bin/kafka-server-start.sh -daemon config/server.properties
#kafka集群的关闭
cd /export/servers/kafka
bin/kafka-server-stop.sh
#不提倡在kafka中使用kill -9杀死
1、解压:flume-ng-1.6.0-cdh5.14.0.tar.gz
2、配置文件: conf/flume-env.sh
cd flume/
cd conf/
mv flume-env.sh.template flume-env.sh
vim flume-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_65
3、启动命令:
bin/flume-ng agent --conf conf --conf-file conf/netcat-logger.conf --name a1
-Dflume.root.logger=INFO,console 完整版启动命令
bin/flume-ng agent -c ./conf -f ./conf/spool-hdfs.conf -n a1 -Dflume.root.logger=INFO,console 参数精简版启动命令
bin/flume-ng agent 固定值
--conf(-c) 指定flume默认的配置文件夹路径 要求改路径下必须有两个文件:flume-env.sh log4j.properties
--conf-file(-f) 指定采集访问文件
--name(-n) 指定flume agent进程名称 要和采集方案中保持一致
-Dflume.root.logger=INFO,console 是否开启日志 并且输出到控制台 开发中使用便于排错
1、先用root用户在三台机器创建ES的用户
useradd es
passwd es
2、三台机器创建ES的目录:
/export/servers/es es的安装目录
/export/data/es 存储es的数据
/export/logs/es 存储es的日志
mkdir -p /export/servers/es
mkdir -p /export/data/es
mkdir -p /export/logs/es
chown -R es /export/servers/es
chown -R es /export/data/es
chown -R es /export/logs/es
3、三台机器配置es用户的sudo权限
visudo
92左右添加:
es ALL=(ALL) NOPASSWD: ALL
4、三台机器使用es用户连接登录
配置三台机器es用户的ssh免秘钥登录【每台机器都要执行】
ssh-keygen -t rsa
ssh-copy-id node-1
ssh-copy-id node-2
ssh-copy-id node-3
5、配置三台机器的文件与进程的最大句柄数、虚拟内存大小
【文件一定不能修改错误,容易导致Linux故障,如果不确定是否修改错误,就不保存退出,重新修改】
如果修改文件中出错 不保存退出。 :q!
sudo vi /etc/security/limits.conf
#添加以下内容,*号不能去掉
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
sudo vi /etc/security/limits.d/90-nproc.conf
#找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096
#临时设置
sudo sysctl -w vm.max_map_count=262144
#永久设置
sudo vim /etc/sysctl.conf
#添加这一行
vm.max_map_count=262144
#检查是否成功
sudo sysctl -a | grep "vm.max_map_count"
配置完成全部断开重连
6、上传安装包到第一台机器的家目录下:ll /home/es/elasticsearch-6.7.0.tar.gz
7、解压到安装目录下:tar -zxvf elasticsearch-6.7.0.tar.gz -C /export/servers/es/
8、修改配置文件config/elasticsearch.yml
cd /export/servers/es/elasticsearch-6.7.0/
cd config/
#清空配置文件elasticsearch.yml
#添加如下内容:注意:一定要修改自己的主机名和IP地址
#集群名字
cluster.name: myes
#集群中当前的节点
node.name: node-1
#数据目录
path.data: /export/data/es
#日志目录
path.logs: /export/logs/es
#当前主机的ip地址及ES服务端口
network.host: 19*********1
http.port: 9200
#集群上的节点信息
discovery.zen.ping.unicast.hosts: ["node-01","node-02","node-03"]
#linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
#是否支持跨域
http.cors.enabled: true
#*表示支持所有域名
http.cors.allow-origin: "*"
9、修改配置文件:config/jvm.options
#根据自己虚拟机的实际大小调节启动和运行内存,如果虚拟机分配了2G,可以使用默认1G,如果分配了1G内存,这里可以该成512M
-Xms1536m
-Xmx1536m
10、分发给第二台和第三台机器
cd /export/servers/es/
scp -r elasticsearch-6.7.0/ node-2: P W D s c p − r e l a s t i c s e a r c h − 6.7.0 / n o d e − 3 : PWD scp -r elasticsearch-6.7.0/ node-3: PWDscp−relasticsearch−6.7.0/node−3:PWD
11、修改第二台机器的配置
cd /export/servers/es/elasticsearch-6.7.0/config/
vim elasticsearch.yml
#修改如下内容
node.name: node-2
network.host: 1**2
12、修改第三台机器的配置
cd /export/servers/es/elasticsearch-6.7.0/config/
vim elasticsearch.yml
#修改如下内容
node.name: node-3
network.host: 13
13、启动三台机器的es:
/export/servers/es/elasticsearch-6.7.0/bin/elasticsearch >>/dev/null 2>&1 &
访问端口:9200
在第一台机器安装node js
与Kibana类似,是ES的可视化交互工具,基于Node JS实现的
1、解压:cd /home/es
tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/
2、创建软连接:将nodejs的命令放入环境变量,方便es-head调用
sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node
3、配置环境变量:
sudo vim /etc/profile
#NODE_HOME
export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin
source /etc/profile
4、验证是否成功
node -v
npm -v
:
1、解压:cd /home/es/
tar -xvf elasticsearch-head-compile-after.tar.gz -C /export/servers/es/
2、修改配置Gruntfile.js
cd /export/servers/es/elasticsearch-head
vim Gruntfile.js
#93行左右修改IP地址,指定es-head的服务启动地址
hostname: '19*51’,
3、修改配置app.js
cd /export/servers/es/elasticsearch-head/_site
vim app.js
#4354行修改IP地址,改成你的es的服务端地址,随便选择 一台机器
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || "http://1911:9200";
4、重启ES服务:直接kill
cd /export/servers/es/elasticsearch-6.7.0
/export/servers/es/elasticsearch-6.7.0/bin/elasticsearch >>/dev/null 2>&1 &
访问端口:9200
5、启动es-head
cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/
进程前台启动命令
./grunt server
后台启动
./grunt server >/dev/null 2>&1 &
6、测试访问
http://node-1:9100
作为ES客户端 针对ES进程数据操作
1、解压:tar -zxvf kibana-6.7.0-linux-x86_64.tar.gz -C /export/servers/es/
2、修改配置:让Kibana能连接到ES
cd /export/servers/es/kibana-6.7.0-linux-x86_64/
vim config/kibana.yml
#修改第7行指定Kibana服务的地址
server.host: “node-01”
#修改第21行指定es的地址
elasticsearch.url: “http://node-01:9200”
3、启动Kibana
cd /export/servers/es/kibana-6.7.0-linux-x86_64
bin/kibana >>/dev/null 2>&1 &
4、测试访问
#查看进程
ps -ef | grep node
#页面访问
node-1:5601