收银台jar 10.112.178.108 22 hadoop hadoop
国内镜像
http://mirror.bit.edu.cn/apache/hadoop/common/
阿里 较快
https://mirrors.aliyun.com/apache
Hive2.1.1的源码包需要JDK1.8
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
10.112.179.36 有jdk8
10.112.179.48
10.112.179.49
10.112.179.50
进入目标机器 10.112.179.48
1. 在各台机器上创建用户:
切换root用户:sudo su -
创建用户: useradd spark
创建密码: passwd spark 密码 spark
创建hadoop目录: mkdir /app/hadoop
创建java目录:mkdir /usr/java
mkdir /app/hadoop
//进入app目录下面进行授权
1.cd /app
2.给hadoop用户复制权限: chown -R spark:spark hadoop
安装openssl: yum install openssh -clients 或者 yum install openssh
1. 在各台机器上创建用户:
切换root用户:sudo su -
#创建用户并指定主目录
useradd -d /home/spark -m spark
#设置登录密码
passwd spark 密码 spark
#设置hadoop目录及文件的修改权限
mkdir /app/hadoop
chmod 777 /app/hadoop
chmod 777 /home/spark
#更改hadoop目录的所属用户和所属组
chown -R spark:spark /home/spark
chown -R spark:spark /app/hadoop
#设置hadoop登录
cp -a /etc/skel/. /app/hadoop/
#以hadoop用户登录各台机器,创建如下目录
cd /app/hadoop/
mkdir tmp
mkdir journal
创建java目录:mkdir /usr/java
上传jdk1.8 将36 机器 jdk复制到目标机器
进入linux服务器:10.112.179.36 不用使用堡垒机 直接登录
进入目录:cd ~/.ssh
提供通关文牒:ssh-copy-id -i id_rsa.pub hadoop@10.112.179.50
成功提示:
Now try logging into the machine, with "ssh 'jenkins@10.112.179.40'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
cd /app/jenkins
scp jdk-8u91-linux-x64.tar.gz hadoop@10.112.179.50:/tmp
进入10.112.179.48 /tmp
mkdir /usr/java
mv jdk-8u91-linux-x64.tar.gz /usr/java/
解压java: tar -zxvf jdk-8u91-linux-x64.tar.gz
设置java环境变量 vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/alt-rt.jar:$JAVA_HOME/lib/charsets.jar:$JAVA_HOME/lib/deploy.jar:$JAVA_HOME/lib/javaws.jar:$JAVA_HOME/lib/jce.jar:$JAVA_HOME/lib/jfr.jar:$JAVA_HOME/lib/jfxrt.jar:$JAVA_HOME/lib/jsse.jar:$JAVA_HOME/lib/management-agent.jar:$JAVA_HOME/lib/plugin.jar:$JAVA_HOME/lib/resources.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export LANG=zh_CN.utf8
ulimit -n 65536
source /etc/profile
运行命名:java -version 看是否安装成功
安装 zookeeper
scp zookeeper-3.4.10.tar.gz hadoop@10.112.179.48:/app/hadoop
tar -zxvf /app/hadoop/zookeeper-3.4.10.tar.gz
http://blog.csdn.net/lk10207160511/article/details/50526404
export ZOOKEEPER_HOME=/app/hadoop/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
scp -r zookeeper-3.4.10 spark@10.112.179.49:/app/hadoop/
scp -r zookeeper-3.4.10 spark@10.112.179.50:/app/hadoop/
echo "1" > /app/hadoop/zookeeperData/data/myid
echo "2" > /app/hadoop/zookeeperData/data/myid
echo "3" > /app/hadoop/zookeeperData/data/myid
1. 启动ZK服务: zkServer.sh start
2. 查看ZK服务状态: zkServer.sh status
3. 停止ZK服务: zkServer.sh stop
4. 重启ZK服务: zkServer.sh restart
安装 hadoop
1 复制文件到目标机器
cd /app/jenkins
scp hadoop-2.7.4.tar.gz hadoop@10.112.179.48:/app/hadoop
scp /app/jenkins/hadoop-2.7.4.tar.gz hadoop@10.112.179.50:/tmp
mv /tmp/hadoop-2.7.4.tar.gz /app/hadoop/
tar -zxvf /app/hadoop/hadoop-2.7.4.tar.gz
2 设置环境变量 vi /etc/profile
export HADOOP_HOME=/app/hadoop/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin
# 刷新配置文件
source /etc/profile
3. 在各台机器上配置host
vi /etc/hosts
#在后边追加
10.112.179.48 VM-10-112-179-48
10.112.179.49 VM-10-112-179-49
10.112.179.50 VM-10-112-179-50
10.112.179.47 VM-10-112-179-47
4. 在各台机器上安装hadoop-2.7.4
首先在10.112.179.48节点上安装hadoop-2.7.4,安装目录为:/app/hadoop/hadoop-2.7.4
cd /app/hadoop/hadoop-2.7.4/etc/hadoop 进入该目录下,修改hdfs-site.xml文件:
cp hdfs-site.xml hdfs-site-bak.xml
这个位置 hdfs-site 收银台配置了两份 不一致的 有疑问,不能启动再看
修改core-site.xml文件:
修改mapred-site.xml文件
修改 yarn-site.xml 文件
修改slaves文件
5. 设置管理节点和其他节点之间各台机器相互信任
使用hadoop用户登录
#在10.112.179.48 10.112.179.47机器上运行如下命令生成公钥和私钥,4个回车
ssh-keygen -t rsa
公钥目录 /app/hadoop/.ssh/id_rsa
#将公钥copy到其他机器节点上,以下命令单条执行
ssh-copy-id -i id_rsa.pub VM-10-112-179-47
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
ssh-copy-id -i id_rsa.pub VM-10-112-179-50
本机免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys
问题:因为hadoop建的用户主目录设置到了 /app/hadoop ,导致ssh 免密码登录出现问题,
但是使用命令修改了主目录,还是有问题。usermod -d /home/hadoop hadoop
所以新建了spark用户。作为使用用户,步骤如下:新建用户spark,ssh 免密,设置工作目录权限
useradd -d /home/spark -m spark
passwd spark
chown -R spark:spark /home/spark
ssh-keygen -t rsa
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
chown -R spark:spark /app/hadoop
mkdir /temp/dfs/name
启动hadoop集群 最好看官网
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html
2. 第一次启动需要格式化namenode
cd /app/hadoop/hadoop-2.7.4/bin
hadoop namenode –format ns1 (HA必须带cluster_name)
如果是首次启动,在namenode1上运行format命令
bin/hadoop namenode -format
如果是非首次启动,则在namenode1上运行以下命令
bin/hdfs namenode -initializeSharedEdits
3. 第一次需要格式化zookeeper,在namenode上执行 报错则手打执行
hdfs zkfc -formatZK
#将tmp目录下的文件拷贝到备用namenode节点上
4. 启动hdfs
cd /app/hadoop/hadoop-2.7.4/sbin
./start-dfs.sh
5. 启动yarn
cd /app/hadoop/hadoop-2.7.4/sbin
./start-yarn.sh
6. 打开HADOOP浏览器控制台,查看集群情况:
http://10.112.179.48:50070
http://10.112.179.48:8088
https://segmentfault.com/a/1190000011266759
cd /app/hadoop/hadoop-2.7.4/logs/
scp -r hadoop-2.7.4 spark@10.112.179.49:/app/hadoop
scp -r hdfs-site.xml spark@10.112.179.47:/app/hadoop/hadoop-2.7.4/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
启动
cd /app/hadoop/hadoop-2.7.4/sbin/
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver
停止 cd /app/hadoop/hadoop-2.7.4/logs
cd /app/hadoop/hadoop-2.7.4/sbin/
./stop-yarn.sh
./stop-dfs.sh
./mr-jobhistory-daemon.sh stop historyserver
./hadoop fs -ls /
重规划 http://blog.csdn.net/ltliyue/article/details/51144381
VM-10-112-179-48 NameNode
VM-10-112-179-47 Secondary NameNode
VM-10-112-179-49 DataNode
VM-10-112-179-50 DataNode
hbase 安装 http://www.cnblogs.com/haozhengfei/p/b2f14298a429a6ca0012b43952f0d53f.html
scp -r hbase-1.2.6-bin.tar.gz spark@10.112.179.48:/tmp
tar -zxvf /app/hadoop/hbase-1.2.6-bin.tar.gz
vi /etc/profile
export HBASE_HOME=/app/hadoop/hbase-1.2.6
export PATH=${HBASE_HOME}/bin:$PATH
source /etc/profile
scp -r hbase-1.2.6 spark@10.112.179.49:/app/hadoop/
scp -r hbase-1.2.6 spark@10.112.179.50:/app/hadoop/
通过如下命令启动Hbase
cd /app/hadoop/hbase-1.2.6/bin
./start-hbase.sh
http://10.112.179.48:16010/
./stop-hbase.sh
测试
./hbase shell
create 'test', 'cf'
list 'test'
put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
put 'test', 'row4', 'cf:d', 'value4'
scan 'test'
get 'test', 'row1'
disable 'test'
enable 'test'
describe 'test'
hive安装 集群搭建 (注:Hive只需在一个节点上安装) 这个地方有一点疑问,不太确定。不过大概率是只需要一个节点
http://www.cnblogs.com/hmy-blog/p/6506417.html
http://blog.csdn.net/gamer_gyt/article/details/52062460
export HIVE_HOME=/app/hadoop/hive-2.1.1
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
source /etc/profile
mysql 建数据库
CREATE USER 'hive' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive';
flush privileges;
create database hive;
alter database hive character set latin1;
scp -r hive-2.1.1 spark@10.112.179.49:/app/hadoop/
scp -r hive-2.1.1 spark@10.112.179.50:/app/hadoop/
hadoop 查看测试数据
http://10.112.179.48:50070/explorer.html#/hive/warehouse/db_hive_test.db
http://blog.csdn.net/u011308691/article/details/51476393
http://lxw1234.com/archives/2016/06/679.htm web页面
hive 启动
启动服务:
1):启动metastore
cd /app/hadoop/hive-2.1.1
nohup $HIVE_HOME/bin/hive --service metastore &
默认端口为9083
2):启动hiveserver2
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
3):测试
Web UI:http://10.112.179.48:10002/
命令行 $HIVE_HOME/bin/hive
日志文件 /tmp/userName/hive.log
停止命令 没找到 直接 jps kill -9 runjar
cd /app/hadoop/hive-2.1.1
bin/hive --service metastore stop
bin/hive --service hiveserver2 stop
HIVE 命令行
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a' > tab1.csv
$HIVE_HOME/bin/hive -f /home/my/hive-script.sql
当$HIVE_HOME/bin/hive执行时,没有-e或者-f选项,会进入交互式shell模式。
show databases;
use db_hive_test;
show tables;
DROP TABLE IF EXISTS student;
SELECT * FROM employee;
kylin 安装
是否集群可商议,简单情况也只需要一个 http://www.cnblogs.com/brucexia/p/6221528.html
http://blog.csdn.net/gospelanswer/article/details/54917331
http://www.cnblogs.com/en-heng/p/5170876.html
http://blog.csdn.net/wulantian/article/details/38112359
scp apache-kylin-2.1.0-bin-cdh57.tar.gz spark@10.112.179.48:/app/hadoop/
export KYLIN_HOME=/app/hadoop/kylin-2.1.0
export PATH=$PATH:$KYLIN_HOME/bin
source /etc/profile
问题:
1 export KYLIN_CONF=/app/hadoop/kylin-2.1.0/conf
必须设置 不然读取不到 kylin_hive_conf.xml 。玄学问题,看代码是先读 KYLIN_CONF,读不到KYLIN_CONF 读KYLIN_HOME,但是现在就是有问题,不明白
2 home/spark 目录建文件夹 meta ,把 conf下文件拷贝过去。 原因:
Loading kylin-defaults.properties from file:/app/hadoop/kylin-2.1.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-core-common-2.1.0.jar!/kylin-defaults.properties
common.KylinConfig:259 : Use KYLIN_CONF=/home/spark/meta
需要在这里读取 kylin.properties 其他的读不读不确定。所有一次全拷贝过来了
3 跑到最后一步又读取不到
Caused by: java.lang.RuntimeException: Failed to read kylin_hive_conf.xml
at org.apache.kylin.common.util.HiveCmdBuilder.loadHiveConfiguration(HiveCmdBuilder.java:176)
然后我重启kylin ,resume 失败的构建,就成功了
4 其实是启动目录的问题 kylin 点system ,看Server Config,找那个 meta url,然后在对应的位置,把配置文件拷进去就行了
启动
cd /app/hadoop/kylin-2.1.0/bin
./check-env.sh
$KYLIN_HOME/bin/kylin.sh start
$KYLIN_HOME/bin/kylin.sh stop
http://10.112.179.48:7070/kylin
Kylin默认账号为: ADMIN 默认密码: KYLIN (区分大小写,必须全都大写)
使用教程
http://blog.csdn.net/blackenn/article/details/52207897
scala 安装
chown -R root:root scala-2.11.8
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
http://distfiles.macports.org/scala2.11/
spark 安装
export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
source /etc/profile
vi spark-env.sh
#在文件中添加主控节点配置
export JAVA_HOME=/usr/java/jdk1.8.0_91
export SCALA_HOME=/usr/scala/scala-2.11.8
export SPARK_WORKER_MEMORY=2g
export SPARK_MASTER_IP=10.112.179.48
export MASTER=spark://10.112.179.48:7077
#配置slave节点
vi slaves
#在文件中添加如下IP配置
10.112.179.48
10.112.179.49
10.112.179.50
#将spark拷贝到其他机器的同级目录下,并设置一样的环境变量
scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.49:/app/hadoop/
scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.50:/app/hadoop/
cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/sbin/
./start-all.sh ./stop-all.sh
cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/bin/
./spark-shell
http://10.112.179.48:8080 sparkMaster
http://10.112.179.48:4040 sparkUI
http://chengjianxiaoxue.iteye.com/blog/2218510
sqoop安装 版本 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
http://blog.csdn.net/u012842205/article/details/52344196
http://blog.csdn.net/dwld_3090271/article/details/50747639
export SQOOP_HOME=/app/hadoop/sqoop-1.4.6
export PATH=$SQOOP_HOME/bin:$PATH
source /etc/profile
复制sqoop/conf/sqoop-env-template.sh为sqoop-env.sh 配置环境变量
(2)配置Hadoop代理访问
因为sqoop访问Hadoop的MapReduce使用的是代理的方式,
必须在Hadoop中配置所接受的proxy用户和组。找到Hadoop的core-site.xml配置文件(本例是$HADOOP_HOME/etc/hadoop/core-site.xml):
<property>
<name>hadoop.proxyuser.$SERVER_USER.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.$SERVER_USER.groups</name>
<value>*</value>
</property>
$SERVER_USER是运行Sqoop2 Server的系统用户,本例我使用了 spark 用户运行server,所以将之代替为 spark
<property>
<name>hadoop.proxyuser.spark.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.spark.groups</name>
<value>*</value>
</property>
(2)、拷贝mysql的jdbc驱动包mysql-connector-java-5.1.31-bin.jar到sqoop/lib目录下。
命令测试
${SQOOP_HOME}/bin/sqoop list-databases --connect jdbc:mysql://10.112.179.37:7306/ --username monitor --password monitor
hbase 简明教程
http://www.yiibai.com/hbase/hbase_shell.html
hive 简明教程
http://www.yiibai.com/hive/hive_create_database.html
http://blog.csdn.net/zhangxinrun/article/details/54967323
http://blog.csdn.net/lzlchangqi/article/details/18715687 日志分析
http://www.cnblogs.com/wcwen1990/p/7095066.html 日志问题
解决NameNode配置HA后Hive路径不正确的问题
http://blog.csdn.net/kwu_ganymede/article/details/51244376
去mysql 数据库表修改
update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'VM-10-112-179-48:9000','ns1');
update SDS set LOCATION=REPLACE (LOCATION,'VM-10-112-179-48:9000','ns1');
问题 hbase zookeeper 地址配置 不可以带端口
kylin 需要配置 KYLIN_CONF
启动
nohup $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
nohup $HADOOP_HOME/sbin/start-dfs.sh
nohup $HADOOP_HOME/sbin/start-yarn.sh
nohup $SPARK_HOME/sbin/start-all.sh
nohup $SPARK_HOME/sbin/start-history-server.sh
nohup $HBASE_HOME/bin/start-hbase.sh
nohup $HIVE_HOME/bin/hive --service metastore &
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
nohup $KYLIN_HOME/bin/kylin.sh start
关闭顺序
$KYLIN_HOME/bin/kylin.sh stop
hive jps kill -9 runjar
$HBASE_HOME/bin/stop-hbase.sh
$SPARK_HOME/sbin/stop-all.sh
$SPARK_HOME/sbin/stop-history-server.sh
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver
http://blog.csdn.net/knife_pan/article/details/45220503
yarn logs -applicationId application_1429759514549_0001
m-10-112-179-50:8042/node/containerlogs/container_1509354448617_0008_01_000001/spark
1. 启动ZK服务: zkServer.sh start
2. 查看ZK服务状态: zkServer.sh status
3. 停止ZK服务: zkServer.sh stop
4. 重启ZK服务: zkServer.sh restart
export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
hbase 优化
http://aperise.iteye.com/blog/2282670
国内镜像
http://mirror.bit.edu.cn/apache/hadoop/common/
阿里 较快
https://mirrors.aliyun.com/apache
Hive2.1.1的源码包需要JDK1.8
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
10.112.179.36 有jdk8
10.112.179.48
10.112.179.49
10.112.179.50
进入目标机器 10.112.179.48
1. 在各台机器上创建用户:
切换root用户:sudo su -
创建用户: useradd spark
创建密码: passwd spark 密码 spark
创建hadoop目录: mkdir /app/hadoop
创建java目录:mkdir /usr/java
mkdir /app/hadoop
//进入app目录下面进行授权
1.cd /app
2.给hadoop用户复制权限: chown -R spark:spark hadoop
安装openssl: yum install openssh -clients 或者 yum install openssh
1. 在各台机器上创建用户:
切换root用户:sudo su -
#创建用户并指定主目录
useradd -d /home/spark -m spark
#设置登录密码
passwd spark 密码 spark
#设置hadoop目录及文件的修改权限
mkdir /app/hadoop
chmod 777 /app/hadoop
chmod 777 /home/spark
#更改hadoop目录的所属用户和所属组
chown -R spark:spark /home/spark
chown -R spark:spark /app/hadoop
#设置hadoop登录
cp -a /etc/skel/. /app/hadoop/
#以hadoop用户登录各台机器,创建如下目录
cd /app/hadoop/
mkdir tmp
mkdir journal
创建java目录:mkdir /usr/java
上传jdk1.8 将36 机器 jdk复制到目标机器
进入linux服务器:10.112.179.36 不用使用堡垒机 直接登录
进入目录:cd ~/.ssh
提供通关文牒:ssh-copy-id -i id_rsa.pub hadoop@10.112.179.50
成功提示:
Now try logging into the machine, with "ssh 'jenkins@10.112.179.40'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
cd /app/jenkins
scp jdk-8u91-linux-x64.tar.gz hadoop@10.112.179.50:/tmp
进入10.112.179.48 /tmp
mkdir /usr/java
mv jdk-8u91-linux-x64.tar.gz /usr/java/
解压java: tar -zxvf jdk-8u91-linux-x64.tar.gz
设置java环境变量 vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/alt-rt.jar:$JAVA_HOME/lib/charsets.jar:$JAVA_HOME/lib/deploy.jar:$JAVA_HOME/lib/javaws.jar:$JAVA_HOME/lib/jce.jar:$JAVA_HOME/lib/jfr.jar:$JAVA_HOME/lib/jfxrt.jar:$JAVA_HOME/lib/jsse.jar:$JAVA_HOME/lib/management-agent.jar:$JAVA_HOME/lib/plugin.jar:$JAVA_HOME/lib/resources.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export LANG=zh_CN.utf8
ulimit -n 65536
source /etc/profile
运行命名:java -version 看是否安装成功
安装 zookeeper
scp zookeeper-3.4.10.tar.gz hadoop@10.112.179.48:/app/hadoop
tar -zxvf /app/hadoop/zookeeper-3.4.10.tar.gz
http://blog.csdn.net/lk10207160511/article/details/50526404
export ZOOKEEPER_HOME=/app/hadoop/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
scp -r zookeeper-3.4.10 spark@10.112.179.49:/app/hadoop/
scp -r zookeeper-3.4.10 spark@10.112.179.50:/app/hadoop/
echo "1" > /app/hadoop/zookeeperData/data/myid
echo "2" > /app/hadoop/zookeeperData/data/myid
echo "3" > /app/hadoop/zookeeperData/data/myid
1. 启动ZK服务: zkServer.sh start
2. 查看ZK服务状态: zkServer.sh status
3. 停止ZK服务: zkServer.sh stop
4. 重启ZK服务: zkServer.sh restart
安装 hadoop
1 复制文件到目标机器
cd /app/jenkins
scp hadoop-2.7.4.tar.gz hadoop@10.112.179.48:/app/hadoop
scp /app/jenkins/hadoop-2.7.4.tar.gz hadoop@10.112.179.50:/tmp
mv /tmp/hadoop-2.7.4.tar.gz /app/hadoop/
tar -zxvf /app/hadoop/hadoop-2.7.4.tar.gz
2 设置环境变量 vi /etc/profile
export HADOOP_HOME=/app/hadoop/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin
# 刷新配置文件
source /etc/profile
3. 在各台机器上配置host
vi /etc/hosts
#在后边追加
10.112.179.48 VM-10-112-179-48
10.112.179.49 VM-10-112-179-49
10.112.179.50 VM-10-112-179-50
10.112.179.47 VM-10-112-179-47
4. 在各台机器上安装hadoop-2.7.4
首先在10.112.179.48节点上安装hadoop-2.7.4,安装目录为:/app/hadoop/hadoop-2.7.4
cd /app/hadoop/hadoop-2.7.4/etc/hadoop 进入该目录下,修改hdfs-site.xml文件:
cp hdfs-site.xml hdfs-site-bak.xml
这个位置 hdfs-site 收银台配置了两份 不一致的 有疑问,不能启动再看
修改core-site.xml文件:
修改mapred-site.xml文件
修改 yarn-site.xml 文件
修改slaves文件
5. 设置管理节点和其他节点之间各台机器相互信任
使用hadoop用户登录
#在10.112.179.48 10.112.179.47机器上运行如下命令生成公钥和私钥,4个回车
ssh-keygen -t rsa
公钥目录 /app/hadoop/.ssh/id_rsa
#将公钥copy到其他机器节点上,以下命令单条执行
ssh-copy-id -i id_rsa.pub VM-10-112-179-47
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
ssh-copy-id -i id_rsa.pub VM-10-112-179-50
本机免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys
问题:因为hadoop建的用户主目录设置到了 /app/hadoop ,导致ssh 免密码登录出现问题,
但是使用命令修改了主目录,还是有问题。usermod -d /home/hadoop hadoop
所以新建了spark用户。作为使用用户,步骤如下:新建用户spark,ssh 免密,设置工作目录权限
useradd -d /home/spark -m spark
passwd spark
chown -R spark:spark /home/spark
ssh-keygen -t rsa
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
chown -R spark:spark /app/hadoop
mkdir /temp/dfs/name
启动hadoop集群 最好看官网
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html
2. 第一次启动需要格式化namenode
cd /app/hadoop/hadoop-2.7.4/bin
hadoop namenode –format ns1 (HA必须带cluster_name)
如果是首次启动,在namenode1上运行format命令
bin/hadoop namenode -format
如果是非首次启动,则在namenode1上运行以下命令
bin/hdfs namenode -initializeSharedEdits
3. 第一次需要格式化zookeeper,在namenode上执行 报错则手打执行
hdfs zkfc -formatZK
#将tmp目录下的文件拷贝到备用namenode节点上
4. 启动hdfs
cd /app/hadoop/hadoop-2.7.4/sbin
./start-dfs.sh
5. 启动yarn
cd /app/hadoop/hadoop-2.7.4/sbin
./start-yarn.sh
6. 打开HADOOP浏览器控制台,查看集群情况:
http://10.112.179.48:50070
http://10.112.179.48:8088
https://segmentfault.com/a/1190000011266759
cd /app/hadoop/hadoop-2.7.4/logs/
scp -r hadoop-2.7.4 spark@10.112.179.49:/app/hadoop
scp -r hdfs-site.xml spark@10.112.179.47:/app/hadoop/hadoop-2.7.4/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
启动
cd /app/hadoop/hadoop-2.7.4/sbin/
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver
停止 cd /app/hadoop/hadoop-2.7.4/logs
cd /app/hadoop/hadoop-2.7.4/sbin/
./stop-yarn.sh
./stop-dfs.sh
./mr-jobhistory-daemon.sh stop historyserver
./hadoop fs -ls /
重规划 http://blog.csdn.net/ltliyue/article/details/51144381
VM-10-112-179-48 NameNode
VM-10-112-179-47 Secondary NameNode
VM-10-112-179-49 DataNode
VM-10-112-179-50 DataNode
hbase 安装 http://www.cnblogs.com/haozhengfei/p/b2f14298a429a6ca0012b43952f0d53f.html
scp -r hbase-1.2.6-bin.tar.gz spark@10.112.179.48:/tmp
tar -zxvf /app/hadoop/hbase-1.2.6-bin.tar.gz
vi /etc/profile
export HBASE_HOME=/app/hadoop/hbase-1.2.6
export PATH=${HBASE_HOME}/bin:$PATH
source /etc/profile
scp -r hbase-1.2.6 spark@10.112.179.49:/app/hadoop/
scp -r hbase-1.2.6 spark@10.112.179.50:/app/hadoop/
通过如下命令启动Hbase
cd /app/hadoop/hbase-1.2.6/bin
./start-hbase.sh
http://10.112.179.48:16010/
./stop-hbase.sh
测试
./hbase shell
create 'test', 'cf'
list 'test'
put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
put 'test', 'row4', 'cf:d', 'value4'
scan 'test'
get 'test', 'row1'
disable 'test'
enable 'test'
describe 'test'
hive安装 集群搭建 (注:Hive只需在一个节点上安装) 这个地方有一点疑问,不太确定。不过大概率是只需要一个节点
http://www.cnblogs.com/hmy-blog/p/6506417.html
http://blog.csdn.net/gamer_gyt/article/details/52062460
export HIVE_HOME=/app/hadoop/hive-2.1.1
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
source /etc/profile
mysql 建数据库
CREATE USER 'hive' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive';
flush privileges;
create database hive;
alter database hive character set latin1;
scp -r hive-2.1.1 spark@10.112.179.49:/app/hadoop/
scp -r hive-2.1.1 spark@10.112.179.50:/app/hadoop/
hadoop 查看测试数据
http://10.112.179.48:50070/explorer.html#/hive/warehouse/db_hive_test.db
http://blog.csdn.net/u011308691/article/details/51476393
http://lxw1234.com/archives/2016/06/679.htm web页面
hive 启动
启动服务:
1):启动metastore
cd /app/hadoop/hive-2.1.1
nohup $HIVE_HOME/bin/hive --service metastore &
默认端口为9083
2):启动hiveserver2
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
3):测试
Web UI:http://10.112.179.48:10002/
命令行 $HIVE_HOME/bin/hive
日志文件 /tmp/userName/hive.log
停止命令 没找到 直接 jps kill -9 runjar
cd /app/hadoop/hive-2.1.1
bin/hive --service metastore stop
bin/hive --service hiveserver2 stop
HIVE 命令行
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a' > tab1.csv
$HIVE_HOME/bin/hive -f /home/my/hive-script.sql
当$HIVE_HOME/bin/hive执行时,没有-e或者-f选项,会进入交互式shell模式。
show databases;
use db_hive_test;
show tables;
DROP TABLE IF EXISTS student;
SELECT * FROM employee;
kylin 安装
是否集群可商议,简单情况也只需要一个 http://www.cnblogs.com/brucexia/p/6221528.html
http://blog.csdn.net/gospelanswer/article/details/54917331
http://www.cnblogs.com/en-heng/p/5170876.html
http://blog.csdn.net/wulantian/article/details/38112359
scp apache-kylin-2.1.0-bin-cdh57.tar.gz spark@10.112.179.48:/app/hadoop/
export KYLIN_HOME=/app/hadoop/kylin-2.1.0
export PATH=$PATH:$KYLIN_HOME/bin
source /etc/profile
问题:
1 export KYLIN_CONF=/app/hadoop/kylin-2.1.0/conf
必须设置 不然读取不到 kylin_hive_conf.xml 。玄学问题,看代码是先读 KYLIN_CONF,读不到KYLIN_CONF 读KYLIN_HOME,但是现在就是有问题,不明白
2 home/spark 目录建文件夹 meta ,把 conf下文件拷贝过去。 原因:
Loading kylin-defaults.properties from file:/app/hadoop/kylin-2.1.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-core-common-2.1.0.jar!/kylin-defaults.properties
common.KylinConfig:259 : Use KYLIN_CONF=/home/spark/meta
需要在这里读取 kylin.properties 其他的读不读不确定。所有一次全拷贝过来了
3 跑到最后一步又读取不到
Caused by: java.lang.RuntimeException: Failed to read kylin_hive_conf.xml
at org.apache.kylin.common.util.HiveCmdBuilder.loadHiveConfiguration(HiveCmdBuilder.java:176)
然后我重启kylin ,resume 失败的构建,就成功了
4 其实是启动目录的问题 kylin 点system ,看Server Config,找那个 meta url,然后在对应的位置,把配置文件拷进去就行了
启动
cd /app/hadoop/kylin-2.1.0/bin
./check-env.sh
$KYLIN_HOME/bin/kylin.sh start
$KYLIN_HOME/bin/kylin.sh stop
http://10.112.179.48:7070/kylin
Kylin默认账号为: ADMIN 默认密码: KYLIN (区分大小写,必须全都大写)
使用教程
http://blog.csdn.net/blackenn/article/details/52207897
scala 安装
chown -R root:root scala-2.11.8
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
http://distfiles.macports.org/scala2.11/
spark 安装
export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
source /etc/profile
vi spark-env.sh
#在文件中添加主控节点配置
export JAVA_HOME=/usr/java/jdk1.8.0_91
export SCALA_HOME=/usr/scala/scala-2.11.8
export SPARK_WORKER_MEMORY=2g
export SPARK_MASTER_IP=10.112.179.48
export MASTER=spark://10.112.179.48:7077
#配置slave节点
vi slaves
#在文件中添加如下IP配置
10.112.179.48
10.112.179.49
10.112.179.50
#将spark拷贝到其他机器的同级目录下,并设置一样的环境变量
scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.49:/app/hadoop/
scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.50:/app/hadoop/
cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/sbin/
./start-all.sh ./stop-all.sh
cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/bin/
./spark-shell
http://10.112.179.48:8080 sparkMaster
http://10.112.179.48:4040 sparkUI
http://chengjianxiaoxue.iteye.com/blog/2218510
sqoop安装 版本 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
http://blog.csdn.net/u012842205/article/details/52344196
http://blog.csdn.net/dwld_3090271/article/details/50747639
export SQOOP_HOME=/app/hadoop/sqoop-1.4.6
export PATH=$SQOOP_HOME/bin:$PATH
source /etc/profile
复制sqoop/conf/sqoop-env-template.sh为sqoop-env.sh 配置环境变量
(2)配置Hadoop代理访问
因为sqoop访问Hadoop的MapReduce使用的是代理的方式,
必须在Hadoop中配置所接受的proxy用户和组。找到Hadoop的core-site.xml配置文件(本例是$HADOOP_HOME/etc/hadoop/core-site.xml):
<property>
<name>hadoop.proxyuser.$SERVER_USER.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.$SERVER_USER.groups</name>
<value>*</value>
</property>
$SERVER_USER是运行Sqoop2 Server的系统用户,本例我使用了 spark 用户运行server,所以将之代替为 spark
<property>
<name>hadoop.proxyuser.spark.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.spark.groups</name>
<value>*</value>
</property>
(2)、拷贝mysql的jdbc驱动包mysql-connector-java-5.1.31-bin.jar到sqoop/lib目录下。
命令测试
${SQOOP_HOME}/bin/sqoop list-databases --connect jdbc:mysql://10.112.179.37:7306/ --username monitor --password monitor
hbase 简明教程
http://www.yiibai.com/hbase/hbase_shell.html
hive 简明教程
http://www.yiibai.com/hive/hive_create_database.html
http://blog.csdn.net/zhangxinrun/article/details/54967323
http://blog.csdn.net/lzlchangqi/article/details/18715687 日志分析
http://www.cnblogs.com/wcwen1990/p/7095066.html 日志问题
解决NameNode配置HA后Hive路径不正确的问题
http://blog.csdn.net/kwu_ganymede/article/details/51244376
去mysql 数据库表修改
update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'VM-10-112-179-48:9000','ns1');
update SDS set LOCATION=REPLACE (LOCATION,'VM-10-112-179-48:9000','ns1');
问题 hbase zookeeper 地址配置 不可以带端口
kylin 需要配置 KYLIN_CONF
启动
nohup $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
nohup $HADOOP_HOME/sbin/start-dfs.sh
nohup $HADOOP_HOME/sbin/start-yarn.sh
nohup $SPARK_HOME/sbin/start-all.sh
nohup $SPARK_HOME/sbin/start-history-server.sh
nohup $HBASE_HOME/bin/start-hbase.sh
nohup $HIVE_HOME/bin/hive --service metastore &
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
nohup $KYLIN_HOME/bin/kylin.sh start
关闭顺序
$KYLIN_HOME/bin/kylin.sh stop
hive jps kill -9 runjar
$HBASE_HOME/bin/stop-hbase.sh
$SPARK_HOME/sbin/stop-all.sh
$SPARK_HOME/sbin/stop-history-server.sh
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver
http://blog.csdn.net/knife_pan/article/details/45220503
yarn logs -applicationId application_1429759514549_0001
m-10-112-179-50:8042/node/containerlogs/container_1509354448617_0008_01_000001/spark
1. 启动ZK服务: zkServer.sh start
2. 查看ZK服务状态: zkServer.sh status
3. 停止ZK服务: zkServer.sh stop
4. 重启ZK服务: zkServer.sh restart
export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
hbase 优化
http://aperise.iteye.com/blog/2282670