关键字:ssh、客户端、命令、端口、非22
时间:2017年8月
命令
root@debian:~# ssh john@192.168.1.100:12345 # 错误 root@debian:~# ssh -p 12345 john@192.168.1.100 # 正确
关键字:ssh、客户端、命令、端口、非22
时间:2017年8月
root@debian:~# ssh john@192.168.1.100:12345 # 错误 root@debian:~# ssh -p 12345 john@192.168.1.100 # 正确
关键字:linux、远程桌面、xrdp、vnc
时间:2017年8月
root@debian:~# apt-get install xrdp tightvncserver ... root@debian:~# systemctl status xrdp ... Active: active(running) since ... ...
1、Windows系统,打开远程桌面(Win+R输入mstsc回车);
2、输入IP,点击链接;
3、Session选择Xorg,输入用户名和密码,点击OK。
关键字:java、命令行、参数解析、commandlineparser
时间:2017年8月
<groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version>
CommandLineParser parser = new DefaultParser(); Options options = new Options(); options.addOption("h", "help", false, "Print usages."); // h,短参数名,-h // help,长参数名,--help // false,不需要参数值 // Print usages, 参数描述 options.addOption("l", "listen", true, "Address to be listen. Example: 192.168.1.100:8888"); // true,需要参数值 options.addOption("", "zookeeper", true, "zookeeper address to be connected."); // 只能用长参数 CommandLine cl; try { cl = parser.parse(options, args); if (cl.hasOption('h')) { System.out.println("h");; } if (cl.hasOption("listen")) { System.out.println(cl.getOptionValue("listen")); } } catch (ParseException e) { e.printStackTrace(); }
关键字:hbase、单机版、安装、开发环境
时间:2017年8月
Debian 8.x
root@debian:~# apt-get install openjdk-8-jdk root@debian:~# wget http://apache.fayea.com/hbase/1.2.6/hbase-1.2.6-bin.tar.gz root@debian:~# tar -zxvf hbase-1.2.6-bin.tar.gz ... root@debian:~# cd hbase-1.2.6 root@debian:~/hbase-1.2.6# vim conf/hbase-env.sh ... # export JAVA_HOME=/usr/java/jdk1.6.0/ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ ... root@debian:~/hbase-1.2.6# bin/start-hbase.sh ...
root@debian:~/hbase-1.2.6# bin/hbase shell hbase(main):001:0>
关键字:kafka、exception、kafka.network.Processor
时间:2017年8月
Processor got uncaught exception: kafka.network.Processor ...
仔细查看错误日志发现有host相关字样,才回想起,这台主机修改了/etc/hostname,并且已经重启。但新的hostname在/etc/hosts里面并没有,如下:
#/etc/hostname kafka
#/etc/hosts 127.0.0.1 localhost 127.0.1.1 debian ...
修改debian为kafka,启动kafka-server-start.sh,一切正常。
关键字:golang、redis、客户端、client
时间:2017年8月
未找到redis官方提供的golang版客户端,但在第三方提供的客户端中发现了redigo,它是目前主流客户端之一。
package main import ( "github.com/garyburd/redigo/redis" "fmt" ) func main() { c, err := redis.Dial("tcp", "192.168.1.10:6379") if err != nil { fmt.Println(err) return } defer c.Close() reply, err := c.Do("SET", "abc", "123456") fmt.Printf("reply: %v\n", reply) value, err := redis.String(c.Do("GET", "abc")) fmt.Printf("key: abc, value: %s\n", value) }
关键字:golang、包、推荐、第三方
时间:2018年8月
包名 | 用途 | 特点 | github地址 |
---|---|---|---|
gorm | ORM框架 | github.com/jinzhu/gorm | |
sarama | kafka客户端 | github.com/Shopify/sarama | |
glog | 日志库 | google开发,无文件自动分割和滚动功能。 | github.com/golang/glog |
redigo | redis客户端 | 与命令行使用方法相似。 | github.com/gomodule/redigo |
go-redis | redis客户端 | github.com/go-redis/redis | |
go-zookeeper | zookeeper客户端 | github.com/samuel/go-zookeeper/zk | |
go-sqlite3 | sqlite3库 | github.com/mattn/go-sqlite3 | |
goquery | html解析 | github.com/PuerkitoBio/goquery |
时间:2017年7月
关键字:kafka、poll、阻塞、挂起
服务端:kafka_2.12-0.11.0.0.tgz
客户端:kafka-clients-0.11.0.0.jar
1、解压kafka_2.12-0.11.0.0.tgz;
2、进入kafka_2.12-0.11.0.0目录;
3、不修改server.properties,直接执行“bin/kafka-server-start.sh config/server.properties”启动;
4、通过kafka-console-producer.sh和kafka-console-consumer.sh测试,能够正常生产和消费。
Properties props = new Properties(); props.put("bootstrap.servers", "192.168.1.10:9092"); props.put("group.id", "test"); props.put("enable.auto.commit", "true"); props.put("auto.commit.interval.ms", "1000"); props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props); Collection topics = new HashSet(); topics.add("test"); consumer.subscribe(topics); while (true) { System.out.println("."); ConsumerRecords<String, String> records = consumer.poll(100); for (ConsumerRecord<String, String> record : records) System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value()); }
程序执行到ConsumerRecords<String, String> records = consumer.poll(100)就卡住了。
> vim server.properties
...
#listeners=PLAINTEXT://:9092
listeners=PLAINTEXT://192.168.1.10:9092
..
1、服务端启动时,把配置文件中的listeners写入zookeeper,默认是localhost,相当于zookeeper中记录的是id为0的broker监听地址为localhost;
2、客户端配置的是”bootstrap.servers”,启动后先访问bootstrap.servers,获取zookeeper地址;
3、客户端链接到zookeeper,通过zookeeper获取broker信息;
4、客户端拿到的broker地址是localhost;
5、客户端在localhost上poll()
注:consumer.listTopics()是直接访问的broker,能正常拿到所有topic。
时间:2017年8月
关键字:kafka、安装、报错、java、版本
如果出现如下错误,更换kafka版本即可解决。
Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 52.0
kafka版本 | openjdk-7 | openjdk-8 |
---|---|---|
kafka_2.11-0.10.2.1.tgz | 正常启动 | 正常启动 |
kafka_2.12-0.10.2.1.tgz | 报错 | 正常启动 |
kafka_2.11-0.11.0.0.tgz | 正常启动 | 正常启动 |
kafka_2.12-0.11.0.0.tgz | 报错 | 正常启动 |