• 安装并使用 xrdp 连接 ubuntu 桌面


    公司的电脑是 Windows 10, 不给管理员权限,什么都干不了。 在不买新电脑的前提下,只好通过远程连接到 AWS 的 Ubuntu 桌面上工作。 记录一下安装方法。

    环境

    – AWS
    – Ubuntu 18.04
    (更多…)

  • hive failed renaming s3 table with error “New location for this table already exist”

    Issue

    – In hive-cli, rename table with command:
    [cc lang=”text”]
    hive> alter table large_table_bk rename to large_table;
    [/cc]

    – 10 minutes later, it prompts error.
    [cc]
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. New location for this table default.large_table already exists : s3://feichashao-hadoop/warehouse/large_table
    [/cc]

    – However, before executing the “rename” command, the directory was not exist in S3, so we don’t expect such an error.
    (更多…)

  • 秦皇岛旁观马拉松计划

    记个流水账。室友去秦皇岛跑马拉松,他说我可以去蹭住酒店,所以我就去了。

    买票晚了,去程能买到周六白天的火车票,回程就只剩动车一等座了,好奢侈。

    早起前往北京站,坐上火车,出发。

    前往秦皇岛的火车

    (更多…)

  • 深圳机场可以提前值机托运吗?

    深圳机场海南航空可以提前托运行李吗?东海航空可以提前托运行李吗?

    因为网上搜不到答案,所以自问自答。
    (更多…)

  • hive-server2 remains 2k+ s3n-worker threads after job finished


    tldr: This is a bug in EMR 5.6. Upgrading to EMR 5.8 or above can solve the issue.

    Issue

    User reported that he sees 2000+ s3n-worker threads after job finished. He has to restart the hive-server2 service everyday to mitigate the issue.
    [cc lang=”text”]
    # sudo -u hive jstack 11089 | grep s3n-worker | wc -l
    2000
    [/cc]

    The threads are repeating from s3n-worker-0 to s3n-worker-19. In another word, there are 100 * 20 s3n-worker threads.
    [cc lang=”text”]
    “s3n-worker-19” #70 daemon prio=5 os_prio=0 tid=0x00007f5ac4cf0800 nid=0x10ad waiting on condition [0x00007f5ac1dee000]
    ……
    “s3n-worker-1” #52 daemon prio=5 os_prio=0 tid=0x00007f5ac5462000 nid=0x109b waiting on condition [0x00007f5aca23f000]
    “s3n-worker-0” #51 daemon prio=5 os_prio=0 tid=0x00007f5ac5480000 nid=0x109a waiting on condition [0x00007f5aca641000]
    ……
    [/cc]

    Environment

    AWS EMR 5.6
    (更多…)

  • Spark RDD checkpoint on S3 exits with exception intermittently

    Issue

    – Run a spark job and save RDD checkpoint to S3.
    – Spark job failed intermittently with below error:
    [cc lang=”text”]
    org.apache.spark.SparkException: Checkpoint RDD has a different number of partitions from original RDD. Original RDD [ID: xxx, num of partitions: 6]; Checkpoint RDD [ID: xxx, num of partitions: 5].
    [/cc]
    (更多…)

  • 西雅图: 波音/南湖/华盛顿大学


    去西雅图培训两周,体验一下公费旅游。

    为了避免出现问题,买了海航直飞的机票,北京-西雅图往返4800,都是白天出发白天到。预定了 Hyatt Place 酒店,带早餐一晚大概160刀。

    据说3月份西雅图仍处于雨季,基本见不到阳光。不过我来的这两周天气都是大晴天,下班以后还能愉快地逛街。

    出发

    想到要在异国待两周,出发前先跟室友吃个火锅。不小心吃得有点慢,回家上完厕所,叫到滴滴出门已经一点半了。海航要提前60分钟值机,快到T2的时候还堵车了。

    在起飞前70分钟赶到值机柜台,托运好行李拿好登机牌就直奔出入境了。对T2的布局还算熟悉,在开始登机之前就走到登机口了。

    波音787执飞,10个小时航程,发两次餐。第二次只有简餐,没有餐盘。


    (更多…)

  • 乌兰察布周末游

    为了看夜景

    某天,领导一直对看夜景念念不忘。他指出,国贸三期看夜景消费太高,从飞机上看夜景会更划算。
    于是,我提出了种草已久的 PEK-UCB 航线。这条航线是”网红航线“,它是北京出发最短的一条国航系航线,众多国航金卡喜欢用这条航线刷航段。
    看到了周六早上出发周日晚上返回的机票价格不错,就定下这个行程了。

    2019.02.23 07:05 NAY-UCB
    2019.02.23 22:00 UCB-PEK
    往返含税403元。

    南苑机场

    南苑机场是中联航的基地,民航也是中联航独家运营的。所以,也不难理解,南苑机场就像个三线城市汽车站。

    早晨有不少航班,自助值机的机器只开了几个,要排一阵队才能拿到登机牌。过安检的时候,扫描登机牌,没有找到信息,要去人工值机柜台重印登机牌。

    过了安检上楼,已经开了不少餐饮。KFC一个市区买10元的早餐,这里卖36元。西部马华吃个面也要50的样子。候机大厅弥漫着老坛酸菜牛肉面的味道,机智的我也带了两个杯面做早餐。

    准时登机。后来因为要除冰,将近7:30才起飞。

    (更多…)

  • 温哥华市区骑行计划

    从西雅图到温哥华

    这西雅图来都来了,顺便去个温哥华吧。温哥华跟西雅图直线距离大概200km,坐大巴约4小时车程。提前两天在 BoltBus 的网站上订票,往返一共61刀。

    周六早上9点的车,在 International District 上车。在酒店吃完早餐走路40分钟过去,在地图提示的地方可以看到一个 Bolt Bus 的标识牌,在此排队等候。 时间尚早,逛了逛旁边的日本超市。

    车上有厕所,不怕憋尿。上了高速一路往北开,12点的样子在一个巴士站停下休息了半个小时。然后很快就到了美加边境。在边境下车过完出入境,再有一个小时的车程就到温哥华的 Pacific Central 车站了。

    (更多…)

  • AWS SNS 自定义邮件格式

    AWS 的 SES (Simple Email Service) 可以提供邮件收发服务。对于邮件收发的反馈,如 Bounce message, 可以发送到 SNS (Simple Notification Service) 作进一步处理。SNS 可以指定某个邮件地址作为订阅者,将消息发送到该邮箱中。然而,SNS发出来的邮件是 JSON,可读性不好,例如:
    [cc lang=”text”]
    {“notificationType”:”Delivery”,”mail”:{“timestamp”:”2019-02-18T06:03:02.669Z”,”source”:”kfc@feichashao.com”,”sourceArn”:”arn:aws:ses:us-west-2:xxxxxx:identity/feichashao.com”,”sourceIp”:”205.251.234.36″,”sendingAccountId”:”xxxxxx”,”messageId”:”01010168ff335c8d-f00ce1c1-e103-49cd-912f-9f397c7a463c-000000″,”destination”:[“feichashao@gmail.com”],”headersTruncated”:false,”headers”:[{“name”:”From”,”value”:”kfc@feichashao.com”},{“name”:”To”,”value”:”feichashao@gmail.com”},{“name”:”Subject”,”value”:”free kfc”},{“name”:”MIME-Version”,”value”:”1.0″},{“name”:”Content-Type”,”value”:”text/plain; charset=UTF-8″},{“name”:”Content-Transfer-Encoding”,”value”:”7bit”}],”commonHeaders”:{“from”:[“kfc@feichashao.com”],”to”:[“feichashao@gmail.com”],”subject”:”free kfc”}},”delivery”:{“timestamp”:”2019-02-18T06:03:03.917Z”,”processingTimeMillis”:1248,”recipients”:[“feichashao@gmail.com”],”smtpResponse”:”250 2.0.0 OK 1550469783 q2si13329671plh.79 – gsmtp”,”remoteMtaIp”:”74.125.20.27″,”reportingMTA”:”a27-30.smtp-out.us-west-2.amazonses.com”}}
    [/cc]

    怎么能让这个提醒邮件变得更加友好呢? SNS目前不支持自定义邮件格式。一个思路是,将 SNS 的消息发送到 Lambda 上,让 Lambda 处理好格式后,再发送到指定邮箱。即 SES -> SNS -> Lambda -> SES.
    (更多…)