首页 文章 精选 留言 我的

精选列表

搜索[多云部署],共10000篇文章
优秀的个人博客,低调大师

[Sqoop]Sqoop安装与部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/52757310 1. 下载 http://www.apache.org/dyn/closer.lua/sqoop/1.4.6 2. 解压 xiaosi@Qunar:~$ sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt 进行重命名: xiaosi@Qunar:/opt$ sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop-1.4.6 3. 配置环境变量 # sqoop export SQOOP_HOME=/opt/sqoop-1.4.6 export PATH=${SQOOP_HOME}/bin:$PATH 4. 配置文件 xiaosi@Qunar:/opt/sqoop-1.4.6/conf$ sudo mv sqoop-env-template.sh sqoop-env.sh 进行如下修改: # Set Hadoop-specific environment variables here. #Set path to where bin/hadoop is available export HADOOP_COMMON_HOME=/opt/hadoop-2.7.2 #Set path to where hadoop-*-core.jar is available export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.2 #set the path to where bin/hbase is available #export HBASE_HOME= #Set the path to where bin/hive is available export HIVE_HOME=/opt/apache-hive-2.0.0-bin #Set the path for where zookeper config dir is #export ZOOCFGDIR=/opt/zookeeper-3.4.8 如果数据读取不涉及hbase和hive,那么相关hbase和hive的配置可以不用配置;如果集群有独立的zookeeper集群,那么配置zookeeper,反之,不用配置。 5. Copy Jar包 所需的包:hadoop-core包、mysql的jdbc包(或Oracle的jdbc包等) xiaosi@Qunar:~$ sudo mv hadoop-core-1.2.1.jar /opt/sqoop-1.4.6/lib/ xiaosi@Qunar:~$ sudo mv mysql-connector-java-5.1.38.jar /opt/sqoop-1.4.6/lib/ 6. 测试验证 xiaosi@Qunar:/opt/sqoop-1.4.6/bin$ sqoop list-databases --connect jdbc:mysql://localhost:3306 --username root -password root Warning: /opt/sqoop-1.4.6/../hbase does not exist! HBase imports will fail. Please set $HBASE_HOME to the root of your HBase installation. Warning: /opt/sqoop-1.4.6/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /opt/sqoop-1.4.6/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 16/10/08 15:43:03 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6 16/10/08 15:43:03 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 16/10/08 15:43:03 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset. information_schema hive_db mysql performance_schema phpmyadmin test 

优秀的个人博客,低调大师

Spark-yarn环境部署

基本环境: ubuntu 12.04 32位 一. 安装yarn伪分布式集群 1. 创建新用户 (1) 添加用户: sudo useradd -m hadoop -s /bin/bash (2) 修改密码: sudo passwd hadoop (3) 添加sudo权限: sudo adduser hadoop sudo (4) 注销选择hadoop用户登录 2. 系统环境配置 (1) sudo apt-get update (2) 安装vim: sudo apt-get install vim (3) 安装ssh: sudo apt-get install openssh-server (4) 设置ssh免登录 cd ~/.ssh rm ./id_rsa* ssh-keygen -t rsa (一路回车即可) cat ./id_rsa.pub >> ./authorized_keys 3. 安装java环境 (1) 安装jre和jdk: sudo apt-get install openjdk-7-jre openjdk-7-jdk (2) 设置环境变量JAVA_HOME: dpkg -L openjdk-7-jdk | grep '/bin/javac' 该命令会输出一个路径,除去路径末尾的 “/bin/javac” (3) vim ~/.bashrc 添加一行export JAVA_HOME=... (4) source ~/.bashrc (5) check java 版本: java -version 4. 安装hadoop2 (1) 从http://mirror.bit.edu.cn/apache/hadoop/common/下载最新的稳定版本的hadoop,例如hadoop-2.7.3/hadoop-2.7.3.tar.gz (2) 安装hadoop: sudo tar -zxf hadoop-2.7.3.tar.gz -C /usr/local cd /usr/local sudo mv hadoop-2.7.3 hadoop sudo chown -R hadoop hadoop 5. 配置hadoop cd /usr/local/hadoop/etc/hadoop进入hadoop配置目录,如果没有hadoop-env.sh或yarn-env.sh需要从后缀名为hadoop-env.sh.template复制一份 1). 在hadoop-env.sh中配置JAVA_HOME 2).在yarn-env.sh中配置JAVA_HOME 3). 修改core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 4). hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration> 5). mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 6). yarn-site.xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 6. 启动hadoop (1) namenode格式化 ./bin/hdfs namenode -format (2) 修改~/.bashrc添加以下两行,并执行source ~/.bashrc export HADOOP_HOME=/usr/local/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native (3) ./libexec/hadoop-config.sh 找到JAVA_HOME,在前面添加 export JAVA_HOME=... (4) 开启 NameNode 和 DataNode 守护进程 ./sbin/start-dfs.sh (5) jps命令查看是否成功启动 若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。 (6) 启动成功后可以通过 http://localhost:50070/查看nameNode和dataNode相关信息 (7) 关闭hadoop ./sbin/stop-dfs.sh 第二次之后启动 hadoop,无需进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 即可 7. 启动YARN (1) 启动yarn ./sbin/start-yarn.sh ./sbin/mr-jobhistory-daemon.sh start historyserver #开启历史服务器,才能在Web中查看任务运行情况 (2) jps查看 开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程 (3) 启动成功后可以通过页面http://localhost:8088/cluster查看集群任务的运行情况 (4) 关闭yarn ./sbin/stop-yarn.sh ./sbin/mr-jobhistory-daemon.sh stop historyserver 二. 安装Spark 1. 下载Spark wget "http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz" 2. 解压到/usr/local sudo tar -xvzf spark-2.0.0-bin-hadoop2.7.tgz -C /usr/local cd /usr/local sudo mv spark-2.0.0-bin-hadoop2.7 spark sudo chown -R hadoop spark 3. 设置环境变化PATH vim ~/.bashrc export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/spark/bin source ~/.bashrc 4). 配置Spark cd /usr/local/spark/conf cp spark-env.sh.template spark-env.sh vim spark-env.sh 配置内容如下 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop SPARK_MASTER_IP=master SPARK_LOCAL_DIRS=/usr/local/spark SPARK_DRIVER_MEMORY=1G 5). 启动spark sh /usr/local/sbin/start-all.sh 启动成功后可以使用 pyspark或spark-submit 同时也可以访问以下链接查看spark任务 http://master:8080 三. 使用Yarn运行Spark程序 为了方便,以后我们都采用Yarn来运行Spark任务,不会再单独启动Spark 1. 机器配置 sudo chown hadoop:root -R /usr/local/hadoop sudo chown hadoop:root -R /usr/local/spark sudo chmod 775 -R /usr/local/hadoop sudo chmod 775 -R /usr/local/spark //bashrc配置 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 export HADOOP_HOME=/usr/local/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/spark/bin export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native:$LD_LIBRARY_PATH 2. 启动yarn cd /usr/local/hadoop ./sbin/start-dfs.sh ./sbin/start-yarn.sh ./sbin/mr-jobhistory-daemon.sh start historyserver jps查看进程,应该有以下几个 16891 NodeManager 16951 JobHistoryServer 16502 SecondaryNameNode 16028 NameNode 17729 Jps 16683 ResourceManager 16228 DataNode 3. 停止yarn cd /usr/local/hadoop ./sbin/stop-dfs.sh ./sbin/stop-yarn.sh ./sbin/mr-jobhistory-daemon.sh stop historyserver 4. web界面查看 查看nameNode和dataNode: http://localhost:50070/ 查看yarn集群任务: http://localhost:8088/cluster 四. 问题汇总 1. 问题 Hadoop 2.x.x - warning: You have loaded library /home/hadoop/2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. 解决方案 1. vi ~/.bashrc 2. 添加以下2行 export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib

优秀的个人博客,低调大师

openstack 与 ceph (osd 部署)

当 monitor 运行后, 你需要添加 OSD, 你的集群只有在获得足够的 OSD 数量用于复制对象时候才可能获得 active + clean 状态 例如 osd pool size = 2, 那么至少需要 2 个 OSD, 在启动 MONITOR 后,你的集群具有默认的 CURSH MAP, 当前 CURSH MAP 并没有 CEPH OSD 进程映射到 CEPH 节点 CEPH 提供 CEPH-DISK 工具, 可以准备一次磁盘, 分区或者目录用于 CEPH, ceph-disk 工具通过增加 INDEX 创建 OSD ID, 另外 ceph-disk 将会增加新的 OSD 到 CURSH MAP 目标 为每个电脑中的每个独立的磁盘都创建一个对应的 OSD, 当前数据备份副本数量为 3 1. 系统初始化 安装 Centos 7.1 版本操作系统 在 /etc/hosts 定义集群中所有主机名及 ip 地址 保证时间同步 确保 iptables, selinux 都处于关闭状态 2. 准备磁盘 把打算用于创建 ceph 存储的磁盘进行分区, 并执行格式化, 参考该脚本, 并在每个节点上执行 #!/bin/bash LANG=en_US disk=`fdisk -l | grep ^Disk | grep sectors | grep sd | grep -v sda | awk -F[:\ ] '{print $2}' | sort` yum install -y hdparm for partition in $disk do dd if=/dev/zero of=$partition bs=1M count=100 parted -s $partition mklabel gpt parted $partition mkpart primary xfs 1 100% hdparm -z "$partition"1 mkfs.xfs -f -i size=512 "$partition"1 done 3. 创建osd 每个独立的物理硬盘, 都已经完成格式化, 我们修改 /etc/fstab 把磁盘挂载到对应的目录中, 成为 CEPH 集群存储中的一部分 我们都会为每个独立的 磁盘创建一个独立的 OSD 与其对应, #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph osd create" ssh $ip "mkdir /var/lib/ceph/osd/ceph-$num" ssh $ip "echo $partition /var/lib/ceph/osd/ceph-$num xfs defaults 0 0 >> /etc/fstab" let num++ done ssh $ip "mount -a" done 重启, 验证挂载是否正常 4. ceph 配置文件 [global] fsid = dc4f91c1-8792-4948-b68f-2fcea75f53b9 mon initial members = hh-yun-ceph-cinder015-128055, hh-yun-ceph-cinder017-128057, hh-yun-ceph-cinder024-128074 mon host = 10.199.128.55, 10.199.128.57, 10.199.128.74 public network = 192.168.209.0/24 auth cluster required = cephx auth service required = cephx auth client required = cephx osd journal size = 1024 filestore xattr use omap = true osd pool default size = 2 osd pool default min size = 1 osd pool default pg num = 333 osd pool default pgp num = 333 osd crush chooseleaf type = 1 5. 初始化 OSD 数据目录 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph-osd -i $num --mkfs --mkkey --osd-uuid dc4f91c1-8792-4948-b68f-2fcea75f53b9" let num++ done done 检测结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ls /var/lib/ceph/osd/ceph* /var/lib/ceph/osd/ceph-0: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-1: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-2: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-3: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-4: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-5: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-6: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-7: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-8: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-9: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami 6. 注册 OSD 认证密钥 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph auth add osd.$num osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-$num/keyring" let num++ done done 参考执行结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ./authosd.sh added key for osd.0 added key for osd.1 added key for osd.2 added key for osd.3 added key for osd.4 added key for osd.5 added key for osd.6 added key for osd.7 added key for osd.8 added key for osd.9 added key for osd.10 added key for osd.11 added key for osd.12 added key for osd.13 added key for osd.14 added key for osd.15 added key for osd.16 added key for osd.17 added key for osd.18 added key for osd.19 added key for osd.20 added key for osd.21 added key for osd.22 added key for osd.23 added key for osd.24 added key for osd.25 added key for osd.26 added key for osd.27 added key for osd.28 added key for osd.29 added key for osd.30 added key for osd.31 added key for osd.32 added key for osd.33 added key for osd.34 added key for osd.35 added key for osd.36 added key for osd.37 added key for osd.38 added key for osd.39 added key for osd.40 added key for osd.41 added key for osd.42 added key for osd.43 added key for osd.44 added key for osd.45 added key for osd.46 added key for osd.47 added key for osd.48 added key for osd.49 added key for osd.50 added key for osd.51 added key for osd.52 added key for osd.53 added key for osd.54 added key for osd.55 added key for osd.56 added key for osd.57 added key for osd.58 added key for osd.59 added key for osd.60 added key for osd.61 added key for osd.62 added key for osd.63 added key for osd.64 added key for osd.65 added key for osd.66 added key for osd.67 added key for osd.68 added key for osd.69 7. 添加 ceph 节点到 CURSH MAP 中, 并把 ceph 节点放置 ROOT 节点下 #!/bin/bash for host in hh-yun-ceph-cinder015-128055 hh-yun-ceph-cinder016-128056 hh-yun-ceph-cinder017-128057 hh-yun-ceph-cinder023-128073 hh-yun-ceph-cinder024-128074 hh-yun-ceph-cinder025-128075 hh-yun-ceph-cinder026-128076 do ceph osd crush add-bucket $host host ceph osd crush move $host root=default done 参考执行结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ./hostmap.sh added bucket hh-yun-ceph-cinder015-128055 type host to crush map moved item id -2 name 'hh-yun-ceph-cinder015-128055' to location {root=default} in crush map added bucket hh-yun-ceph-cinder016-128056 type host to crush map moved item id -3 name 'hh-yun-ceph-cinder016-128056' to location {root=default} in crush map added bucket hh-yun-ceph-cinder017-128057 type host to crush map moved item id -4 name 'hh-yun-ceph-cinder017-128057' to location {root=default} in crush map added bucket hh-yun-ceph-cinder023-128073 type host to crush map moved item id -5 name 'hh-yun-ceph-cinder023-128073' to location {root=default} in crush map added bucket hh-yun-ceph-cinder024-128074 type host to crush map moved item id -6 name 'hh-yun-ceph-cinder024-128074' to location {root=default} in crush map added bucket hh-yun-ceph-cinder025-128075 type host to crush map moved item id -7 name 'hh-yun-ceph-cinder025-128075' to location {root=default} in crush map added bucket hh-yun-ceph-cinder026-128076 type host to crush map moved item id -8 name 'hh-yun-ceph-cinder026-128076' to location {root=default} in crush map 8. 管理 crush map 增加 OSD 到 CURSH MAP, 然后你就可以接收数据, 你同样可以重新编译 CURSH MAP, 添加 OSD 到磁盘, 添加主机到 CURSH MAP, 为磁盘添加设备 分配权重, 重新进行编译设定即可 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do hostname=`ssh $ip hostname -s` ceph osd crush add osd.$num 1.0 root=default host=$hostname let num++ done done 9. 启动 osd #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "touch /var/lib/ceph/osd/ceph-$num/sysvinit" ssh $ip "/etc/init.d/ceph start osd.$num" let num++ done done 10. 校验状态 [root@hh-yun-ceph-cinder017-128057 ~]# ceph osd tree # id weight type name up/down reweight -1 70 root default -2 10 host hh-yun-ceph-cinder015-128055 0 1 osd.0 up 1 1 1 osd.1 up 1 2 1 osd.2 up 1 3 1 osd.3 up 1 4 1 osd.4 up 1 5 1 osd.5 up 1 6 1 osd.6 up 1 7 1 osd.7 up 1 8 1 osd.8 up 1 9 1 osd.9 up 1 -3 10 host hh-yun-ceph-cinder016-128056 10 1 osd.10 up 1 11 1 osd.11 up 1 12 1 osd.12 up 1 13 1 osd.13 up 1 14 1 osd.14 up 1 15 1 osd.15 up 1 16 1 osd.16 up 1 17 1 osd.17 up 1 18 1 osd.18 up 1 19 1 osd.19 up 1 -4 10 host hh-yun-ceph-cinder017-128057 20 1 osd.20 up 1 21 1 osd.21 up 1 22 1 osd.22 up 1 23 1 osd.23 up 1 24 1 osd.24 up 1 25 1 osd.25 up 1 26 1 osd.26 up 1 27 1 osd.27 up 1 28 1 osd.28 up 1 29 1 osd.29 up 1 -5 10 host hh-yun-ceph-cinder023-128073 30 1 osd.30 up 1 31 1 osd.31 up 1 32 1 osd.32 up 1 33 1 osd.33 up 1 34 1 osd.34 up 1 35 1 osd.35 up 1 36 1 osd.36 up 1 37 1 osd.37 up 1 38 1 osd.38 up 1 39 1 osd.39 up 1 -6 10 host hh-yun-ceph-cinder024-128074 40 1 osd.40 up 1 41 1 osd.41 up 1 42 1 osd.42 up 1 43 1 osd.43 up 1 44 1 osd.44 up 1 45 1 osd.45 up 1 46 1 osd.46 up 1 47 1 osd.47 up 1 48 1 osd.48 up 1 49 1 osd.49 up 1 -7 10 host hh-yun-ceph-cinder025-128075 50 1 osd.50 up 1 51 1 osd.51 up 1 52 1 osd.52 up 1 53 1 osd.53 up 1 54 1 osd.54 up 1 55 1 osd.55 up 1 56 1 osd.56 up 1 57 1 osd.57 up 1 58 1 osd.58 up 1 59 1 osd.59 up 1 -8 10 host hh-yun-ceph-cinder026-128076 60 1 osd.60 up 1 61 1 osd.61 up 1 62 1 osd.62 up 1 63 1 osd.63 up 1 64 1 osd.64 up 1 65 1 osd.65 up 1 66 1 osd.66 up 1 67 1 osd.67 up 1 68 1 osd.68 up 1 69 1 osd.69 up 1 [root@hh-yun-ceph-cinder015-128055 tmp]# ceph -s cluster dc4f91c1-8792-4948-b68f-2fcea75f53b9 health HEALTH_WARN too few pgs per osd (2 < min 20) monmap e1: 3 mons at {hh-yun-ceph-cinder015-128055=240.30.128.55:6789/0,hh-yun-ceph-cinder017-128057=240.30.128.57:6789/0,hh-yun-ceph-cinder024-128074=240.30.128.74:6789/0}, election epoch 8, quorum 0,1,2 hh-yun-ceph-cinder015-128055,hh-yun-ceph-cinder017-128057,hh-yun-ceph-cinder024-128074 osdmap e226: 70 osds: 70 up, 70 in pgmap v265: 192 pgs, 3 pools, 0 bytes data, 0 objects 74632 MB used, 254 TB / 254 TB avail 192 active+clean

优秀的个人博客,低调大师

HBase集群的安装部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/43819177 HBase的安装是是建立在hadoop和zookeeper集群之上的 安装的步骤跟伪分布式差不多,只是修改了一些配置文件 解压缩、重命名、设置环境变量 把hbase-0.94.2-security.tar.gz复制到/home/hadoop 解压hbase-0.94.2-security.tar.gz与重命名 #cd /home/hadoop #tar -zxvf hbase-0.94.2-security.tar.gz #mv hbase-0.94.2-security hbase 修改/etc/profile文件。 #vi /etc/profile 增加 export HBASE_HOME=/home/hadoop/hbase 修改 export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin 保存退出 #source /etc/profile 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下: export JAVA_HOME=/usr/java/jdk1.6.0_45 export HBASE_MANAGES_ZK=false 在伪分布式安装中HBASE_MANAGES_ZK设置的是true,使用hbase自身的zookeeper 而完全分布式安装则依赖集群上的zooleeper,所以这里要设置为false 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下: <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> hbase.rootdir配置在hdfs文件系统上hbase存储的路径 hbase.cluster.distributed配置是否是分布式的 hbase.zookeeper.quorum配置zookeeper在哪些节点上(伪分布式安装中只有一个master) dfs.replication配置副本个数 注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致 (可选)文件regionservers的内容为各个regionserver的节点主机名 slave1 slave2 在为分布式安装中,内容只有master,该文件记录regionserver的各个节点的主机名,因为是伪分布式安装,所只写一个,localhost或者主机名都可以 启动hbase,在bin目录下执行命令start-hbase.sh ******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件,zookeeper集群已启动******* 4.5 验证是否安装成功: (1)执行jps,发现master节点新增加了2个java进程,分别是HMaster、HQuorumPeer;在regionserver节点上新增了HRegionServer进程 (2)使用浏览器访问http://master:60010,可以进入和hadoop类似的web管理页面

优秀的个人博客,低调大师

ceph for openstack快速部署实施

for el6 即centos6 1,添加ceph 官方yum源 [root@ruiy ~]# cat /etc/yum.repos.d/ceph.repo[ceph-noarch]name=Ceph noarch packagesbaseurl=http://ceph.com/rpm-firefly/el6/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc[root@ruiy ~]# 2,更新yum 源 yum update && sudo yum install ceph-deploy Installed: ceph-deploy.noarch 0:1.5.19-0Dependency Installed: python-argparse.noarch 0:1.2.1-2.el6Complete!

优秀的个人博客,低调大师

离线部署 CDH 5.12.1 及使用 CDH 部署 Hadoop 大数据平台集群服务

Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM。 CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera公司发布的Hadoop版本,封装了Apache Hadoop,提供Hadoop所有的服务,包括HDFS,YARN,MapReduce以及各种相关的components:HBase, Hive, ZooKeeper,Kafka等。 CM是cloudera manager的简称,是CDH的管理平台,主要包括CM server, CM agent。通过CM可以对CDH进行配置,监测,报警,log查看,动态添加删除各种服务等。 一、准备工作 环境 JDK:1.8 centos:7.3 操作系统:CentOS 6 JDK 版本:1.7.0_80 所需安装包及版本说明:由于我们的操作系统为CentOS7,需要下载以下文件: cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 manifest.json Cloudera Manager 下载目录 http://archive.cloudera.com/cm5/cm/5/ CDH 下载目录 http://archive.cloudera.com/cdh5/parcels/5.12.1/ manifest.json 下载 http://archive.cloudera.com/cdh5/parcels/5.12.1/manifest.json CHD5 相关的 Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录中 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 重命名为 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha 这点必须注意,否则,系统会重新下载 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel 文件 本文采用离线安装方式,在线安装方式请参照官方文 主机名 ip地址 安装服务 node1 (Master) 192.168.252.121 jdk、cloudera-manager、MySql node2 (Agents) 192.168.252.122 jdk、cloudera-manager node3 (Agents) 192.168.252.123 jdk、cloudera-manager node4 (Agents) 192.168.252.124 jdk、cloudera-manager node5 (Agents) 192.168.252.125 jdk、cloudera-manager node6 (Agents) 192.168.252.126 jdk、cloudera-manager node7 (Agents) 192.168.252.127 jdk、cloudera-manager 二、系统环境搭建 1、网络配置(所有节点) 修改 hostname 命令格式 hostnamectl set-hostname <hostname> 依次修改所有节点 node[1-7] hostnamectl set-hostname node1 重启服务器 reboot 修改映射关系 1.在 node1 的 /etc/hosts 文件下添加如下内容 $ vi /etc/hosts 2.查看修改后的/etc/hosts 文件内容 [root@node7 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.252.121 node1 192.168.252.122 node2 192.168.252.123 node3 192.168.252.124 node4 192.168.252.125 node5 192.168.252.126 node6 192.168.252.127 node7 2、SSH 免密码登录 1.在集群node1的 /etc/ssh/sshd_config 文件去掉以下选项的注释 vi /etc/ssh/sshd_config RSAAuthentication yes #开启私钥验证 PubkeyAuthentication yes #开启公钥验证 2.将集群node1 修改后的 /etc/ssh/sshd_config 通过 scp 命令复制发送到集群的每一个节点 for a in {2..7} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done 3.生成公钥、私钥 1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P '',生成 key,一律回车 ssh-keygen -t rsa -P '' 4.在集群的node1 节点输入命令 将集群每一个节点的公钥id_rsa.pub放入到自己的认证文件中authorized_keys; for a in {1..7}; do ssh root@node$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done 5.在集群的node1 节点输入命令 将自己的认证文件 authorized_keys 通过 scp 命令复制发送到每一个节点上去: /root/.ssh/authorized_keys` for a in {1..7}; do scp /root/.ssh/authorized_keys root@node$a:/root/.ssh/authorized_keys ; done 6.在集群的每一个节点节点输入命令 接重启ssh服务 sudo systemctl restart sshd.service 7.验证 ssh 无密登录 开一个其他窗口测试下能否免密登陆 例如:在node3 ssh root@node2 exit 退出 3、关闭防火墙 systemctl stop firewalld.service 4、关闭 SELINUX 查看 [root@node1 ~]# getenforce Enforcing [root@node1 ~]# /usr/sbin/sestatus -v SELinux status: 临时关闭 ## 设置SELinux 成为permissive模式 ## setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 永久关闭 vi /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=disabled 设置后需要重启才能生效 PS 我是修改node1 的 /etc/selinux/config 后,把配置文件复制到其他节点 for a in {2..7}; do scp /etc/selinux/config root@node$a:/etc/selinux/config ; done 重启所有节点 reboot 5、安装 JDK 下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件 我在百度云盘分下的链接:http://pan.baidu.com/s/1jIFZF9s 密码:u4n4 上传在 /opt 目录 解压 cd /opt tar zxvf jdk-8u144-linux-x64.tar.gz mv jdk1.8.0_144/ /lib/jvm 配置环境变量 vi /etc/profile #jdk export JAVA_HOME=/lib/jvm export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 使环境变量生效 source /etc/profile 验证 [root@localhost ~]# java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 6、设置 NTP 所有节点安装 NTP yum install ntp 设置同步 ntpdate -d 182.92.12.11 7、安装配置 MySql 主节点 安装 MySql MySQL依赖于libaio 库 yum search libaio yum install libaio 下载,解压,重命名 通常解压在 /usr/local/mysql 把mysql-5.7.19-linux-glibc2.12-x86_64 文件夹,重命名成mysql,这样就凑成/usr/local/mysql目录了 cd /opt/ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz tar -zxvf /opt/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ mv /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64/ /usr/local/mysql 1. 新建用户组和用户 groupadd mysql useradd mysql -g mysql 2. 创建目录并授权 cd /usr/local/mysql/ mkdir data mysql-files chmod 750 mysql-files chown -R mysql . chgrp -R mysql . 3. 初始化MySQL bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up 4. 注意密码 mysql 临时密码 [注意]root@localhost生成临时密码:;b;s;)/rn6A3,也就是root@localhost:后的字符串 2017-09-24T08:34:08.643206Z 1 [Note] A temporary password is generated for root@localhost: D<qha)5gtr<! 5. 授予读写权限 chown -R root . chown -R mysql data mysql-files 6. 添加到MySQL 启动脚本到系统服务 cp support-files/mysql.server /etc/init.d/mysql.server 7. 给日志目录授予读写权限 mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb 8. 修改 /etc/my.cnf vi /etc/my.cnf 修改 [mysqld]组下的 socket 路径,注释掉/var/lib/mysql/mysql.sock,加一行为tmp/mysql.soc [mysqld] datadir=/var/lib/mysql #socket=/var/lib/mysql/mysql.sock socket=/tmp/mysql.sock 9.启动MySQL服务 service mysql.server start 或者 /usr/local/mysql/support-files/mysql.server start 10. 登录MySQL /usr/local/mysql/bin/mysql -uroot -p Enter password: 如果不知道密码密码在,安装MySQL步骤 4 ,有提到,怎么找初始化临时密码 11. 设置MySQL密码 登陆成功后,设置MySQL密码 mysql> ALTER USER 'root'@'localhost' identified by 'mima'; mysql> flush privileges; 12. 开启远程登录 mysql> grant all privileges on *.* to 'root'@'%' identified by 'mima' with grant option; mysql> flush privileges; mysql> exit; 8、下载依赖包 yum -y install chkconfig yum -y install bind-utils yum -y install psmisc yum -y install libxslt yum -y install zlib yum -y install sqlite yum -y install cyrus-sasl-plain yum -y install cyrus-sasl-gssapi yum -y install fuse yum -y install portmap yum -y install fuse-libs yum -y install redhat-lsb 三、cloudera manager Server & Agent 安装 1、安装 CM Server & Agent 在所有节点,创建/opt/cloudera-manager mkdir /opt/cloudera-manager 把下载好的cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz安装包上传至 node1 节点/opt/目录 在 node1 节点拷贝 cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz 到所有 Server、Agent 节点创建 /opt/cloudera-manager 目录: for a in {2..7}; do scp /opt/cloudera-manager-*.tar.gz root@node$a:/opt/ ; done 所有 Server、Agent 节点节点解压安装 Cloudera Manager Server & Agent cd /opt tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager 2、创建用户 cloudera-scm(所有节点) cloudera-scm 用户说明,摘自官网: Cloudera Manager Server and managed services are configured to use the user account cloudera-scm by default, creating a user with this name is the simplest approach. This created user, is used automatically after installation is complete. Cloudera管理器服务器和托管服务被配置为在默认情况下使用用户帐户Cloudera-scm,创建具有这个名称的用户是最简单的方法。创建用户,在安装完成后自动使用。 执行:在所有节点创建cloudera-scm用户 useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 3、配置 CM Agent 修改 node1 节点 /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。 cd /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/ vi config.ini 在node1 操作将 node1 节点修改后的 (复制到所有节点) for a in {1..7}; do scp /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini root@node$a:/opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini ; done 4、配置 CM Server 的数据库 在主节点 node1 初始化CM5的数据库: 下载 mysql 驱动包 cd /opt/cloudera-manager/cm-5.12.1/share/cmf/lib wget http://maven.aliyun.com/nexus/service/local/repositories/hongkong-nexus/content/Mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar 启动MySQL服务 service mysql.server start cd /opt/cloudera-manager/cm-5.12.1/share/cmf/schema/ ./scm_prepare_database.sh mysql cm -h node1 -uroot -pmima --scm-host node1 scm scm scm 看到如下信息,恭喜您,配置没毛病 [main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly! 格式: scm_prepare_database.sh mysql cm -h <hostName> -u<username> -p<password> --scm-host <hostName> scm scm scm 对应于:数据库类型 数据库 服务器 用户名 密码 –scm-host Cloudera_Manager_Server 所在节点…… 5、创建 Parcel 目录 Manager 节点创建目录/opt/cloudera/parcel-repo,执行: 将下载好的文件 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha manifest.json 拷贝到该目录下。 mkdir -p /opt/cloudera/parcel-repo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo cd /opt/cloudera/parcel-repo 重命名,CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 否则,系统会重新下载 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel mv CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha Agent 节点创建目录/opt/cloudera/parcels,执行: mkdir -p /opt/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 6、启动 CM Manager&Agent 服务 注意,mysql 服务启动,防火墙关闭 在 node1 (master) 执行: Server /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start 在 node2-7 (Agents) 执行: Agents /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start 访问 http://Master:7180 若可以访问(用户名、密码:admin),则安装成功。 Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。 四、CDH5 安装 CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。 免费版本的 CM5 已经去除 50 个节点数量的限制。 各个 Agent 节点正常启动后,可以在当前管理的主机列表中看到对应的节点。 选择要安装的节点,点继续。 点击,继续,如果配置本地 Parcel 包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约 10 多分钟吧,取决于内网网速。 (若本地 Parcel 有问题,重新检查步骤三、5 是否配置正确) 点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。 遇到问题 问题一 接下来是服务器检查,可能会遇到以下问题: Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。 使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。 您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:node[2-7] echo 0 > /proc/sys/vm/swappiness 问题二 已启用透明大页面压缩,可能会导致重大性能问题。请运行 echo never > /sys/kernel/mm/transparent_hugepage/defrag和 echo never > /sys/kernel/mm/transparent_hugepage/enabled 以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响: node[2-7] echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled 五、脚本 MySql 建库&&删库 1、MySql 建库&&删库 amon create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon'; hive create database hive DEFAULT CHARACTER SET utf8; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; oozie create database oozie DEFAULT CHARACTER SET utf8; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie'; Contact 作者:鹏磊 出处:http://www.ymq.io/2017/09/24/Cloudera-Manager Email:admin@souyunku.com 版权归作者所有,转载请注明出处 Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册